[LinuxPPS] Ultimate time server
Javier Herrero
jherrero at hvsistemas.es
Wed Dec 29 10:48:52 CET 2010
El 29/12/2010 07:04, Paul Lavender escribió:
>
>
> What originally led me to this project was working in a not particularly
> demanding job away from home, giving me with too much time. My home
> server is using an Oncore at the moment which is continually locking up.
> A restart of NTP will get it going again, but it is a bit irritating to
> log in and find the stratum has gone to freerunning. So the plan was to
> lock a Rubium to the GPS, then to 'freerun' on the Rubium if necessary.
>
I see that you're lucky (free time) and not (away from home...). I think
that you should first the reason why the ntp is unlocking. There should
be some reason why the ntp stops to get the GPS pps/data or starts
rejecting it, and I don't think that this is due to instabilities on the
computer clock.
You can also try to use a Trimble Thunderbolt instead of a Rb. The
thunderbolt will provide you also a pps output, a 10MHz signal
disciplined to the GPS, with good short-term stability and excellent
long term stability. The PPS output is derived from the 10MHz oscillator
and has less jitter that a GPS pps output. I think that the serial data
format is supported by ntp current implementation (not sure about). And
an used Thunderbolt is in the price range of an used Rb.
But you can discover that you could continue having the same problem,
that ntp unlocks.
I've another ntp server, based on a Blackfin board, an M12T oncore and
an older linux version (previous to the LinuxPPS introduction on the
main stream, so I manually patched the blackfin uClinux distribution at
that time - about two years ago), that uses a not too spectacular TCXO
as the clock source (about 2ppm error), and it shows no problem. It has
accumulated uptimes well over 250-days and the only thing I don't like
is that offset (as shown with ntpdc/ntpq) slowly wanders up to +/-4
microseconds or so. This GPS has the antenna very unobstructed, located
in the roof.
> As to the motherboard I am not afraid to get out my trusty soldering
> iron. I know less sophisticated processors have two pins - crystal in
> and crystal out. If the crystal is removed a clock can be fed into the
> crystal in pin. But I'll try to get other bits working first.
>
To replace the crystal with a precision oscillator is an effort to get
ultimate precision. But even stratum 1 severs from national laboratories
usually do not use them. For example, this is from the Real Observatorio
Astronómico in Spain, hora.roa.es
ntpdc> kerninfo
pll offset: -1.49e-07 s
pll frequency: 9.717 ppm
maximum error: 0.000877 s
estimated error: 0 s
status: 2107 pll ppsfreq ppstime ppssignal nano
pll time constant: 4
precision: 9.09e-07 s
frequency tolerance: 496 ppm
pps frequency: 9.717 ppm
pps stability: 0.026 ppm
pps jitter: 1.006e-06 s
calibration interval: 64 s
calibration cycles: 227999
jitter exceeded: 166274
stability exceeded: 6877
calibration errors: 10
ntpdc> peers
remote local st poll reach delay offset disp
=======================================================================
*GPS_ONCORE(0) 127.0.0.1 0 16 377 0.00000 -0.000000 0.01558
ntpdc>
And this from time.nist.gov
ntpdc> kerninfo
***Warning changing to older implementation
pll offset: 0 s
pll frequency: -132.857 ppm
maximum error: 0 s
estimated error: 0 s
status: 0000
pll time constant: 10
precision: 0 s
frequency tolerance: 496 ppm
ntpdc>
The first one has a pll frequency of 9.717ppm and the second one is
-132.857ppm (not a very good oscillator...). Of course, it is more
important to have an stable source than an accurate source in this
application (i.e. the absolute error is not so important since the GPS
compensates it, but the drift can introduce an error since ntp is not
particularly fast in compensating it.
I think that these two systems are using FreeBSD, not Linux.
Best regards,
Javier
More information about the LinuxPPS
mailing list