[time-nuts] An embedded NTP server
gxti at partiallystapled.com
Thu Dec 27 06:41:25 UTC 2012
On 12/26/2012 12:01 PM, Chris Albertson wrote:
> The VXCO quality hardly matters for an NTP server. As long as it
> does not gain out loose more then 1 uSecond per second. In other
> words one part per million is fine for NTP. The goal is not to
> produce a 10MHz GDPDO. Clients using this server over the Ethernet
> are happy to keep time ti 1 millisecond.
> Most (almost all) NTP servers use a TTL can oscillator.
Indeed, it's just a chip VCXO. Not much of an additional cost, and it
can be disciplined in hardware. In a PC, the main oscillator is not
tunable so the kernel has to emulate a tunable clock by tweaking the
numbers on the way out.
Now that I have the disciplining algorithm implemented I immediately
discovered a problem -- and it's not my hardware. The receiver I assumed
was a UT+ is actually a R1121N1145, which doesn't support position hold.
But even worse, the PPS seems to jump forward by precisely 1ms every
16-20s and sticks that way. This probably explains the mediocre jitter
of 0.3-0.6ms in the NTP results I posted on the 25th. With enough
smoothing I can probably make it work, but in the meantime I will switch
to using the Trimble receiver which I know works well. My goal with this
project was always to support as many receivers as possible but the
100mil pitch header on the Oncore is much more convenient so that's
where I started.
The good news is that the disciplining algorithm I lifted from my
previous GPSDO project works quite well, and I have the gritty details
of measuring the PPS worked out. If I can get the Trimble working
tomorrow I might have much better results soon, otherwise I'm traveling
for a few days so it'll have to wait until the new year.
-- m. tharp
More information about the time-nuts