[time-nuts] June 30 2015 leap second
Tom Van Baak
tvb at LeapSecond.com
Wed Jan 7 07:40:02 EST 2015
> The difference between GPS time and UTC (due to leap seconds) is
> broadcast in the GPS navigation message so all but the most poorly
> designed GPS modules should take care of it and output the correct UTC time.
This is not quite true. First, page 18 of subframe 4 is only broadcast every 12.5 minutes so on a cold start worst case you wait up to 12.5 minutes before the receiver can *reliably* switch from GPS time to UTC time. This would not likely be an issue for the OP since his clock would keep the GPS receiver powered-on.
Second, the OP is building a clock. A precise clock needs a 1PPS and it needs to know what date-time that 1PPS *will* be. The NMEA sentences only tell you what date-time the 1PPS *was*. This is the crux of the problem. Two solutions: 1) relax the requirements of the clock and allow it to display NMEA time, which will be late by tens to hundreds of ms. This also assumes the NMEA implementation of the receiver outputs hh:59:60 (many don't). Or 2), use proprietary binary messages from the receiver to get advanced warning of a pending leap second event and then role your own leap second special case code. The latter solution has a rare timing window if you turn on the clock too close to the leap second itself.
More information about the time-nuts