[ntp:questions] NTP NMEA driver

unruh unruh at invalid.ca
Sun Feb 10 21:53:27 UTC 2013

On 2013-02-10, Val Schmidt <vschmidt at ccom.unh.edu> wrote:
> Hello everyone,
> I have a handful of questions regarding the implementation of the NTP NMEA (and 1PPS) driver. 
> As I'm sure many of you know, these drivers synchronize a local clock using any of a handful of NMEA sentences (ZDA, RMC, GGA, GLL, etc.) received on a serial port and, if present and configured to do so, further synchronizes using a 1 PPS signal. 
> First, it is unclear to me why one would use a time stamp from any sentence other than that provided in the ZDA message. Time stamps in the other messages mark the time of a position fix, also reported in those messages, not the current time or even the time of the 1 PPS signal. Only the ZDA specifically marks the time associated with the 1-PPS signal. So it is unclear to me why the NMEA driver would accept those other time stamps. 

Please put carriage returns into your posts. These run on sentences can
be very hard to read. 

Secondly, many messages provide time informations. Why do you pick out
one of the bunch? And No other messages do not provide the time of a
position fix, they mark the time of the nearest second that has already
occured.  None of the NMEA sentences mark the time of PPS pulse because
they all occur long long after that pulse ( on the microsecond scale). 

> Presumably it is because when the 1-PPS is present an assumption is made that the 1-PPS is marking the top of the second and one need only know which second is being marked. In this case, perhaps the other time stamps should be sufficient. However, I think it is true that not all GPS receivers produce 1-PPS signals coincident with the top of the second. Indeed, I've a SIRF-III based receiver that does not. It seems to me to know the exact time one must receive both the 1-PPS pulse and the ZDA message to know the exact time associated with that pulse.  I'll admit a SIRF-III receiver is not a high-end model. 

They either produce times at the tip of the second or 5 times a second.
If it does not produce a PPS at the second, it is not a timing receiver.
(and why do you claim yours does not?)

> I saw a comment in a bug report (https://bugs.ntp.org/show_bug.cgi?id=1083) discussion about this larger issue, that one of the reasons for using the other sentences is that there is no statius indication in the ZDA message that the time is valid. This is a good point, in my opinion, as the ZDA time message may report a meaningless time if the GPS receiver has no fix. For example, I've a receiver the drops the fractional portion of the second from the ZDA message when the GPS fix is lost. Obviously one would never want to use this jump in time as an indication of when the fix is lost. So I see a need to be able to read the other GPS sentences to ensure a valid fix is being obtained, and the ZDA message to actually mark the time.  

That bug report asks that ntp ALSO support ZDA, not that it should be
the only sentence used ( not least because many receivers do not support

> Thoughts?
> -Val
> ------------------------------------------------------
> Val Schmidt
> University of New Hampshire
> Chase Ocean Engineering Lab
> 24 Colovos Road
> Durham, NH 03824
> e: vschmidt [AT] ccom.unh.edu
> m: 614.286.3726

More information about the questions mailing list