[ntp:questions] shm + pps calibration

William Unruh unruh at invalid.ca
Sat Jul 7 17:10:21 UTC 2018

On 2018-07-07, David Taylor <david-taylor at blueyonder.co.uk.invalid> wrote:
> On 06/07/2018 21:18, Daniel Gearty wrote:
>> In my case, I attribute the PPS delay to the serial to USB 1.1 conversion of the Prolific PL2303HXD in my NaviSys GR-8013W GPS.  The offset bounces around within +/- 0.5 msec.
>> It appears the initial PPS offset should be zero if you receive your PPS signal directly from a proper serial port.
>> I am using NTP "Generic NMEA GPS Receiver" driver 20 with the Windows loopback driver.
>> ggavi is using "PPS Clock Discipline" driver 22 for PPS, but perhaps should be using "Shared Memory Driver" driver 28 for both NMEA and PPS.
>> http://www.catb.org/gpsd/gpsd-time-service-howto.html#_feeding_ntpd_from_gpsd
>> Another, newer driver for NTPD to receive time from gpsd is "GPSD NG client driver" driver 46.
>> http://doc.ntp.org/current-stable/drivers/driver46.html
>> Although I wonder whether chronyd receiving time from gpsd via a socket has the best NTP performance.
>> https://chrony.tuxfamily.org/doc/3.3/chrony.conf.html
> Using different software (Chrony or gpsd) is unlikely to improve 
> performance which is inherently limited by the serial-USB conversion, 
> unless someone were to write a special driver to average out the USB 
> jitter.  NTP will do that to an extent, of course.
> For best NTP performance, if you aren't using a portable PC (so no 
> serial port), check whether your motherboard has a serial port header, 
> or get an add-in PCIe serial port and swap the GPS for one which has a 
> real PPS line.  Likely even the low-cost Chinese ones will be good enough.
> On one PC I'm using an add-in PCIe card, a TTL-RS232 converter (tried 
> without but the signal levels were too low) and a Chinese module sitting 

That is really unusual. Most serial cards now will happily use TTL levels. 
The converter may (or may not) introduce delays to the pps signal. If they are
sub usec it probably does not matter. 

> on the bench.  Needed to add one wire from the u-blox module's PPS pin:
>    https://www.satsignal.eu/ntp/NEO-6M-under-initial-test.jpg
>    https://www.satsignal.eu/ntp/RasPi-3-with-u-blox-RX.jpg
> but you could avoid that with the Adafruit module:
>    https://www.adafruit.com/product/746
> Here's a link to the PC's performance:
>    https://www.satsignal.eu/mrtg/lund-ntp-2.html
> The variation on that PC is likely due to the CPU temperature as the 
> load varies with receiving new Sentinel-3A satellite data every orbit 
> (101 minutes).

More information about the questions mailing list