[Dprglist] Stability of CPU oscillator
John Swindle
swindle at compuserve.com
Sat Jun 6 00:00:37 PDT 2020
Murray and Dave,
Thank you again for prompting me to look at GPS.
One of my instructor cohorts referred me to Intel's requirements for the CPU's oscillator. Intel requires it to be 30ppm or better. The Adafruit Si5351A has a 30ppm XTAL, so I might as well just use the CPU's TSC. There are no problems at all with using TSC on a power-managed multi-core platform. The Pimoroni RV-3028-C7 is fascinating. At specified voltage and temperature, it is factory calibrated to 1ppm. Neat!
I realized that I can gather the CPU clock stability statistics myself by running long-duration tests that collect timestamps periodically. If the stability is good enough, I won't need to add GPS or any other clock.
Thank you for making me think about this more.
Later,John Swindle
-----Original Message-----
From: Murray Altheim via DPRGlist <dprglist at lists.dprg.org>
To: dprglist at lists.dprg.org
Sent: Fri, Jun 5, 2020 8:19 am
Subject: Re: [Dprglist] Stability of CPU oscillator
On 5/06/20 10:43 pm, John Swindle via DPRGlist wrote:
> Murray,
>
> Thank you for making me look at GPS again. I did not realize
> what the PPS signal was, and I did not know a receiver was
> that small. PPS will work well for my application. That one
> signal would be the most expensive part of the application,
> but I can deal with that later.
Hi John,
I hope I'm not muddying the waters here, but it occurs to me that
there are two other options that I know about, one from Adafruit,
the other from Pimoroni. As is typical (and commendable) the
Adafruit Si5351A Clock Generator Breakout Board
https://www.adafruit.com/product/2045
can generate a clock output from 8KHz to 160MHz using an Si5351A
chip, with specs here:
https://cdn-shop.adafruit.com/datasheets/Si5351.pdf
...and yes, they publish the full clock specifications. I don't
know your specific requirements but at least you can compare
them against the SI chip. The board costs US$7.95, runs on 3.3V,
and communicates over I2C. That chip probably shows up in other
vendors' products; Adafruit's was the only one I knew about before
I started digging just now, there are likely others. If it's stable
enough it's at least cheaper than the GPS module.
The Pimoroni RV3028 Real-Time Clock (RTC) Breakout board costs a
bit more as it's in their Breakout Garden series (which I use a
lot of, nice plug-and-play I2C sockets). It's about the size of a
postage stamp and costs US$14.00, cheaper if you buy it from
Mouser (US) than from Pimoroni (UK):
https://shop.pimoroni.com/products/rv3028-real-time-clock-rtc-breakout
This one uses a tiny clock battery and you run a python script with your
computer/robot connected to the web to perform its initial time sync.
Sparkfun and other companies do versions of the RV3028, with Sparkfun's
spec at:
https://cdn.sparkfun.com/assets/6/8/2/b/3/RV-3028-C7_App-Manual.pdf
14 items pop up on robotshop.com when searching "real time clock",
ranging in price from US2.00 to $23.75, most of these running other,
cheaper, less accurate chips.
As you have noted, there are often accuracy specs but I couldn't find
anything about stability for most of these. Many use a 32kHz crystal so
I'm guessing they'd be nowhere near as accurate as the Adafruit board,
which uses a 25MHz crystal and a PLL with dividers to get up to 160MHz.
Again, as to stability, the only jitter spec I could find was Adafruit's
(with credit always due to Limor Fried).
> If the oscillators varied as much as some people worry, then
> a variety of industry specifications would be violated in
> consumer products. Those products would fail the compliance
> checklists and could not carry logos such as PCI Express,
> USB, etc., without being sued for false advertising. Most
> people write about accuracy, and not many write about stability.
I think the question comes down to tolerances: commercial tolerances
are tight for a lot of things but not for things that don't matter to
most consumers (e.g., the coil whine on the Dell XPS 13). As David
indicated, clocks vary even due to altitude (I had no idea), with
things like power supply variances, ambient temperature, etc. make
real accuracy rather intractable. Rather than try to solve a problem
that for 99% of the consumer market is not really a problem, clock
tolerances are either pretty loose or simply aren't published. I've
never seen anything like that in a laptop spec. If anyone needs tight
synchronization they just use NTP. My Linux workstation ticks over
the second mark at exactly the same moment as my iPhone, and they've
never met.
MIL-STD laptops may be ruggedized and cost a fortune but they have
the same internal i7 and i9 processors (and hence clocks) as commercial
laptops and therefore the same clock tolerances. My guess is that
applications that require extremely accurate clocks but can't use
NTP would use a GPS module, which is why I'd suggested that initially.
> Thank you very much for the GPS PPS idea.
You're very welcome, happy to be able to help.
Cheers,
Murray
...........................................................................
Murray Altheim <murray18 at altheim dot com> = = ===
http://www.altheim.com/murray/ === ===
= = ===
In the evening
The rice leaves in the garden
Rustle in the autumn wind
That blows through my reed hut.
-- Minamoto no Tsunenobu
_______________________________________________
DPRGlist mailing list
DPRGlist at lists.dprg.org
http://lists.dprg.org/listinfo.cgi/dprglist-dprg.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.dprg.org/pipermail/dprglist-dprg.org/attachments/20200606/8a64f93e/attachment.html>
More information about the DPRGlist
mailing list