[LinuxPPS] Motherboards with decent Xtals.

Hal V. Engel hvengel at astound.net
Thu Nov 13 01:39:31 CET 2008


On Tuesday 11 November 2008 21:06:41 Cirilo Bernardo wrote:
> On Wed, Nov 12, 2008 at 4:20 AM,  <clemens at dwf.com> wrote:
> > Since there has been some related discussion on the DFC77-PPS thread,
> > Im going to ask a question of everyone who reads this list.
> >
> > Namely.
> >
> > Does anyone know of motherboards (preferably for Intel Chips) that
> > actually have decent Xtals on them?  From my point of view, the optimal
> > solution would be a board with a decent Xtal, that also allowed (by
> > changing some jumper) the use of an external frequency standard (say 5 or
> > 10MHz).
>
> A good oscillator is not the only problem; the temperature of the
> oscillator will vary widely on a modern CPU if the CPU does 'frequency
> stepping'.  If you really want very good pps precision, you have to
> get a rubidium reference (~$2k).

Temperature variations are definitely wider with modern machines than with 
older hardware.  Part of this is CPU speed stepping since it causes wide 
variations in the amount of heat being produced.  For example when running all 
out my CPU can dissipate as much as 85 watts but at idle with speed stepping 
it dissipates around 20 watts.  High end video cards are similar although the 
power dissipation range is likely somewhat narrower.  The video card in my 
machine draws about 27 watts idle and around 70 watts fully loaded.

I don't think a rubidium reference is necessary to achieve substantial 
improvements in clock stability since reducing oscillator instability by say 
90% should have a huge impact and it should be possible to get at least a 90% 
improvement in oscillator stability using much less expensive hardware.  One 
fairly inexpensive solution would be to substitute a temperature controlled 
oscillator (TCXO) for the uncompensated motherboard oscillator (XO) .  Most of 
the oscillators on modern motherboards are self contained units with the 
crystal and the other oscillator circuitry in a single package.  Typically 
this will have four solder points on the oscillator chip (ground, v+, signal 
and a voltage based frequency control that is unused in PCs).  This of course 
would require a modification to the motherboard, since the old oscillator 
would have to be removed and a new one soldered on, that many may not be 
comfortable doing.   In addition it might be difficult to find a suitable TCXO 
chip (right packaging and frequency).  But if you can find the right TCXO and 
you have the soldering skills to do the job then it should be inexpensive to 
do and a fairly quick fix as well.  If you can find the right oscillator it 
should cost <$35 and perhaps as little as $10.  As a side note the type of 
oscillator used on PC motherboards can be purchased in single units for around 
$2.

The other option is to use an oven controlled oscillator (OCXO).  These tend 
to be more costly and require more power than a TCXO (IE. think dedicated 
power supply) and also tend to come in a limited number of frequencies.  
Typically 5MHz and 10MHz which means that additional circuitry would be needed 
to get the right frequency for the motherboard.  This is the approach used by 
http://www.febo.com/pages/soekris/ .  This web page also shows the steps 
needed to remove the existing motherboard oscillator and has links to web 
pages for other useful items for this type of modification.   It is possible 
to get used OCXO's on ebay for fairly reasonable prices so this type of mod 
could be done for perhaps under $100 if you tried hard to keep costs down.  
Using a OCXO should reduce oscillator instability compared to an ordinary XO 
by 99.99%.  This is still several orders of magnitude worse than an atomic 
type oscillator but it should result in very good time keeping that is a huge 
improvement over an ordinary XO.

>
> > It would seem that the machine I was using back when I was testing the
> > Ulrich PPS implementation was much more stable than the machine I am
> > using now. If one plots Loopstats/clock-offset, the previous machine was
> > smooooth, while the current machine jumps all over the place.
>
> Part of the problem may be with the kernel's implementation of its
> timers.  There was some discussion over a year ago about using the
> "high performance timers" - sounds good, especially with the phrase
> "high performance" in there - but unfortunately stepping the CPU
> frequency affected those clocks and this was a nightmare.  There was
> some talk of sorting out the timer code (especially the high-res timer
> code) but I decided to forget about all that and look into it again at
> least a year later - just hoping someone else would do all the work.
>
> :)
> :
> > I know of no such boards, but I have heard rumors that they exist, but
> > are very expensive.  Anyone have any first (or second) hand info on such
> > a beast?
>
> I don't know of any specific boards, but I'd be surprised if other
> people haven't done it even if only for a pet project.  

Again see my comments above.  It should be fairly easy to replace the 
motherboard XO with a TCXO and this should result in a significant improvement 
in the stability of the system clock.  Even with either a TCXO or a OCXO 
oscillator your time keeping will likely be limited to +-250 ns because other 
factors such as PPS interrupt latency and system clock resolution will start 
to become the dominate factors that limit time keeping accuracy.  The system 
at http://www.febo.com/pages/soekris/ is using a GPS disciplined OCXO for the 
motherboard oscillator which is perhaps an order of magnitude more stable than 
a standalone OCXO and he has offsets in the +-200 ns range.   I also do not 
know of any "timing" specific motherboards that have either high stability 
oscillators or a way to bypass the on board oscillator.   I suspect that 
everyone who has such a motherboard got it by way of modifying an existing 
motherboard. 

> Personally, if
> I wanted to get as close as I can to nanosec precision, I'd build a
> custom board with registers, a Rubidium clock to provide a a precise
> PPS signal (and possibly also a high-frequency high-stability timer),
> and a GPS unit to provide the GPS and/or UTC time.  Such a setup would
> allow me to at least achieve the GPS claimed jitter of <1ns on my
> hardware board.  The computer clock of course will never get there
> thanks to a variety of other reasons so such a board has somewhat
> limited use for managing computer time; it would be excellent for
> providing precise time codes for observing other phenomena though.
>
> - Cirilo
>
> _______________________________________________
> LinuxPPS mailing list
> LinuxPPS at ml.enneenne.com
> http://ml.enneenne.com/cgi-bin/mailman/listinfo/linuxpps
> Wiki: http://wiki.enneenne.com/index.php/LinuxPPS_support




More information about the LinuxPPS mailing list