[time] GPS sensor for time synchronization
Thu Jun 1 10:31:38 UTC 2006
Hal Murray wrote:
>> I'm wondering if anybody on this list can suggest any commercial GPS
>> sensor that can meet the following requirement
>> - waterproof
>> - support linux
>> - support ntp
>> - usb interface (the serialport on our router board has been
>> used for other purpose)
>> - have at least 1ms accuracy (it will be great if it supports PPS)
>> - can be use in Australia
> I don't think you will get good GPS timing over USB. I've never heard of any
> success stories.
> They make inexpensive serial to USB adapters. Can you run your current
> serial port over one of them to free up the real serial port?
In the "gpsd" development group, several people have tried if their receiver
supports PPS, and nobody found one that did, as far as I know.
It is strange, because those inexpensive USB serial ports usually
handshake lines (including DCD). When you connect a modem to them, it
The system can see the DCD status.
And some "USB GPS receivers" actually consist of a normal serial GPS
the chip from such a USB serial port tacked on to it. Only the
apparently did not think of connecting the PPS signal to the DCD line :-(
Of course when this was done, it will probably still not be really as
as a real PPS line, because the USB thingy will convert the DCD transition
into a USB message, that is received by the USB driver and translated
a virtual COM port that has its DCD status changed. This would always
some delay and jitter.
But it would still be much better than reading NMEA messages over USB and
getting the time from their timestamps. That alone will not bring you
near 1ms accuracy.
In gpsd there is a driver for the USB GPS receivers from Garmin like the
Garmin 18, operated in native binary mode. I do not have one, but I read
from the developer of that driver that it is working better than the average
USB receiver, because it is not constructed as a serial receiver plus USB
serial adapter but natively communicates at USB speed. Thus it has less
latency. You could see if that gives you adequate performance.
(gpsd is a daemon that acts as a server between a GPS receiver and one or
more clients that want to access its output, on the same system or via an
IP network. It can drive several receivers in native binary mode which is
usually better than NMEA, but it also supports the PPS signal and
it to ntpd via a shared memory area, like the user mode PPS driver)
More information about the pool