[time-nuts] Msg to N.Z. time nuts

Philip Pemberton lists at philpem.me.uk
Mon May 18 23:50:20 UTC 2009


Hal Murray wrote:
>> Interesting that the three receivers with issues were all SiRF III
>> based. Do  you know what firmware these were running? 
> 
> Nope.  If you know the recipe to find out, I'll ask them.  :)
> 
> I just scanned their NMEA documentation and didn't see any way to get it.

If memory serves, there's a $PSRF command to kick them into SiRF Binary mode, 
then you send a SiRF binary command -- "Request Version" or something like 
that. Then you get a binary response with the software type (i.e. if the 
manufacturer of the GPS board paid extra for the "enhanced navigation" 
software) and the version of that software.

To be truthful, the stuff is in the manuals (you want $PSRF100 from the SiRF 
NMEA manual, which is on www.fastraxgps.com under Products, IT321, in the 
datasheet section on the bottom right) but if you've got a Windows box around 
somewhere, it's probably easier to grab a copy of SiRF's "SiRF Demo" app and 
use that. To get the software version, plug the GPS in, select the serial port 
and connect to the module, then select Poll >> SW Version. The version number 
should appear in the "Response View".

Failing that, the "sirfmon" app that comes with gpsd might get the receiver 
into binary mode and should let you talk to it, but I haven't used it.

For reference when dealing with SiRF manuals: GSW2 = SiRFStar II, GSW3 = 
SiRFStar III.

> The data gets collected on a system without PPS, but it's sitting next to a 
> machine that does have PPS from a Z3801A.  So their is some noise on the 
> reference time, but not much on the scale of a 100 ms that the SiRF chips 
> wander over.

There is something of a subtle note in the SiRF NMEA manual 
(<http://www.fastraxgps.com/showfile.cfm?guid=9de68fec-1d95-4fd3-8809-f068c9aaf220>) 
on page 1-7 (PDF p.15) under "ZDA -- Time and Date". Basically, the chip sends 
the 1PPS first, then queues a ZDA message to be sent.

I suspect there's probably some form of co-operative multitasking or RTOS 
engine running on the SiRF chip's CPU (I've been told it's an ARM 
something-or-other), which loops over a list of 'tasks' in a round-robin 
fashion. If the PPS flag gets sent (by the 1PPS loop, probably an interrupt 
driven from the correlator array, I haven't read the GPS specs but understand 
the basics) just after the flag is checked by the ZDA handler, you won't see 
another ZDA message until the loop gets back to the ZDA handler again.

So accuracy of the NMEA messages may well be pretty terrible, though as you 
said the 1PPS should be pretty good.

> I expect the PPS output is still OK.  It's just that the software is off by 
> one in some strange pattern when a leap second is pending.

I remember reading something about this a few days ago, but it seems to have 
dropped out of my Firefox browsing history. IIRC there were issues with the 
various navigation modes in V3.1.1, but all my Google searches are coming up 
with are some GPS user's forums and a note in the gpsd changelog from 2005.

Hmm.

-- 
Phil.
lists at philpem.me.uk
http://www.philpem.me.uk/




More information about the Time-nuts_lists.febo.com mailing list