[ntp:questions] NTP NMEA driver

Rob nomail at example.com
Tue Feb 12 10:41:17 UTC 2013

David Taylor <david-taylor at blueyonder.co.uk.invalid> wrote:
> On 12/02/2013 09:54, Rob wrote:
> []
>> You are describing implementation details in some particular receiver.
>> Why not read the actual specs of the protocol instead?
> []
> Do you have the URL of the official $GPZDA protocol, please?  Is it any 
> more than the receiver's best guess, given that there is no "locked" 
> indicator?
> Oh, and a URL which the mere mortal can read:
>    http://www.nmea.org/pub/0183/  =>  no permission.

I have studied the NMEA 0183 protocol some years ago and it was very
apparent that the standard did not intend to provide accurate time
to the outside world.  All those positioning sentences provide the
"time of fix", the time at which the other information in the sentence
was calculated.  There was no clear specification of the time that may
have passed since the time of fix.  E.g. an early receiver may have
been able to calculate a fix only once every 5 seconds, and the sentence
sent would include the time in 5 second steps.
For the GPZDA sentence, the time is supposed to be the current time,
but there is no specification how much that sentence is delayed from
the moment that this was the current time.  Also not very usable.

Normally the receivers also provide a manufacturer-specific binary
protocol, and often (but not always) there is tighter specification
of the time packet.  E.g. the time is valid at the moment the leading
edge of the first startbit of the packet was sent.
However, that is not very useful information either, as the receiving
computer often does not timestamp that exact moment so you do not really
know when it occurred (there can be varying delays e.g. because of
FIFO buffers and interrupt coalescing).

Without PPS, there really isn't much you can do with a GPS receiver to
derive time information.  And even with PPS, it is not as easy as it
seems, because the uncertainty of the serial time information is of
the same order of magnitude as the "pinning" provided by the PPS.
I.e. when you are not careful, you still can be off by one second.

More information about the questions mailing list