2
\$\begingroup\$

According to the research I have done so far it appears that the stability of the internal clock of a typical microcontroller is approximately 1% (calibrated) to 10% (uncalibrated). Do you agree with these numbers? Which microcontroller has the most stable internal clock?

Thank you!

\$\endgroup\$
  • \$\begingroup\$ The one that uses a TCXO. \$\endgroup\$ – Ignacio Vazquez-Abrams Oct 29 '14 at 19:59
  • \$\begingroup\$ Could you share some of your research with us? I mean, a few links supporting your claims would be nice. \$\endgroup\$ – Ricardo Oct 29 '14 at 20:12
  • 5
    \$\begingroup\$ What research? 1% seems plausible, 10% too wide. Do you mean 'stability', 'accuracy', 'consistency', ...? MCU internal clocks are not very consistent, with manufacturers claiming quite a high spread of different clock rates across the same parts. MCU clocks are not very accurate, having quite a high spread from a nominal value, but better than 10%. Frequency varies with temperature, though that seems correctable because in some cases the MCU has an internal temperature sensor. Finally, the internal clock seems to be relatively stable over periods of e.g. many days, at similar temperatures. \$\endgroup\$ – gbulmer Oct 29 '14 at 20:18
  • 1
    \$\begingroup\$ +1 @gbulmer. Which micros were considered and under what conditions, or was this a pure datasheet exercise? Under what conditions are you concerned about stability? The question seems overly broad to me as 'most stable' without any constraints or conditions lends itself to multiple, possibly conflicting answers. \$\endgroup\$ – Adam Lawrence Oct 29 '14 at 20:55
  • 1
    \$\begingroup\$ Thanks for the comments. I need to have no more than 1.0 ms error in timing over a range of timing intervals from 0.0 s to 4.0 s. I don't have a good idea how much a typical microcontroller temperature will change while being used. Basically I am trying to decide if I can get away with using the internal clock or will I need to use an external crystal oscillator. And I guess I should probably be asking whether an external oscillator will meet my specifications as well. \$\endgroup\$ – D_J_S Oct 29 '14 at 21:03
2
\$\begingroup\$

Based on your comment that you want 1ms error maximum in 4 seconds, I would say that no microcontroller has an internal RC clock that is that accurate under typical operating conditions. +/-0.025%.

It's also probably too tight for a ceramic resonator (more like 0.1 to 0.5%).

On the other hand, it's well within expectations for a typical inexpensive crystal, but if you want to be really sure you can use an external oscillator, which will be guaranteed over temperature and for initial accuracy.

\$\endgroup\$
  • \$\begingroup\$ Thank you, Spehro. I will using an external oscillator. Can you recommend one? \$\endgroup\$ – D_J_S Oct 29 '14 at 23:43
  • \$\begingroup\$ For your stated accuracy, the cheapest XO type will be more than okay- eg. CTS CB3 series is good to +/-50ppm. TCXO and OXO types are even better, but overkill. \$\endgroup\$ – Spehro Pefhany Oct 30 '14 at 4:52
0
\$\begingroup\$

There are microcontrollers with internal clocks accurate nough to support USB. My recollection is that they use somefeature unherent to USB comms to tweak the clock into calibration, but I haven't looked into this in detail.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.