[ntp:questions] Installing more stable oscillator?
David L. Mills
mills at udel.edu
Sat Jul 14 20:41:17 UTC 2007
Some years ago we eviscerated the 2-MHz timer oscillator on a SPARC IPC
and substituted a TCXO. There is even an enable bit for it in the
ntp_adjtime() system call. The oscillator frequency was crudely
disciplined, but effective. Today I would use a Direct Digiral Synthesis
(DDS) chip and TCXO.
It's not too hard to have the kernel read an external device, such as an
IRIG or GPS card, but you have to be careful that the kernel software
clock stays in sync. Our original design phase-locked the kernel
software clock to the IRIG board and locked that to a cesium oscillator.
Poul-Henning Kamp has done that in FreeBSD using a rubidium oscillator.
My own rubidium oscillator and, I suspect, P-H's do not have a PPS
output, just a raw 10-MHz signal. However, there is a provision via an
external DC signal to vary the frequency over a small range. So, find a
cheap counter/timer on eBay to divide that signal to 1 PPS. Use a
ADC/DAC add-in card on your computer to drive the rubidium frequency
control. Modify the kernel ntp_adjime() routine to send offsets to the
DAC. Use a poll interval on the high side to match the Allan intercept.
There are other ways to skin this cat, of course.
Pete Stephenson wrote:
> After a few days of running with good sync to internet servers, my test
> server's system clock shows a drift of about -27ppm, which seems to be
> pretty reasonable for a cheap crystal oscillator.
> However, I occasionally see people in this newsgroup discussing various
> alternative oscillators, like oven-stabilized crystals, rubidium and
> cesium frequency standards, and even hydrogen masers.
> Obviously, many of these options are far too large to simply replace the
> computer's hardware oscillators. How, then, are these oscillators used
> with NTP servers?
> Is it possible to have NTP completely ignore the computer's crystal
> oscillator and use an external oscillator? For example, can one have a
> GPS reference clock sending the time and a PPS signal to discipline an
> external rubidium oscillator (or oven-stabilized crystal, or cesium, or
> whatever), which is then used to supply time to other systems via NTP?
> I'd imagine that such a setup would be significantly more stable than
> the cheap crystal oscillators put in most computers these days,
> particularly if the reference time source(s) were somehow interrupted
> and the oscillator had to freewheel for an period of time.
> With used rubidium standards available for
> reasonable-to-the-dedicated-hobbyist prices on eBay, this is something
> that's crossed my mind as an interesting thing to do...sort of a "gee,
> wouldn't it be fun to have a /real/ atomic clock in your apartment?"
> type thing.
More information about the questions