[time-nuts] TBolt: UTC PPS

Tom Van Baak tvb at LeapSecond.com
Mon Mar 29 23:47:27 UTC 2010


> Use a JK flip flop to divide by 2.
> During insertion of the leapsecond take J+K to zero to disable toggling 
> of the FF.
> To delete leap second you could try inserting an extra clock pulse 
> halfway between a apair of seconds ticks.
> 
> If the clock cant cope with the above scheme you may need to use a DDS 
> or equivalent to create either 59, 60 or 61 pulses for a minute 
> depending if one needs to delete a leap second, increment the clock at 
> the normal rate ,add a leapsecond over 1 minute.
> 
> Bruce

The way this is typically done with a uC such as PIC or
AVR is to speed up or slow down the software divider so
that you generate N+1 or N-1 output pulses over some
duration. If the duration is 1 second you get your idea
above. If the duration is 10 seconds or 1 minute or an
hour you get a much smoother transition; the "rubber"
seconds are not stretched or compress near as much.

In general it's a trade-off between getting the leap over
with vs. how badly you redefine how long a second is.

A cute example uses a 1 ms increment: you essentially
replace one large noticeable leap-second with 1000
invisible leap-milliseconds. Depending on the timebase
1024 may be a better choice. You get the idea.

You can also balance the insertion. For example, you
could generate ten 1.1 or 0.9 second pulses starting at
5 seconds before UTC midnight. That puts half the
problem on each day.

If someone wants PIC code for any of this let me know.

/tvb




More information about the time-nuts mailing list