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\$
7
  • \$\begingroup\$ The one that uses a TCXO. \$\endgroup\$ Oct 29, 2014 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, 2014 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, 2014 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\$ Oct 29, 2014 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, 2014 at 21:03

2 Answers 2

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\$
2
  • \$\begingroup\$ Thank you, Spehro. I will using an external oscillator. Can you recommend one? \$\endgroup\$
    – D_J_S
    Oct 29, 2014 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\$ Oct 30, 2014 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\$
1

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.