[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.
> Cheers!
> -Pete

More information about the questions mailing list