[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