Skip to main content
Nguyen Bao
Associate II
December 6, 2019
Solved

The Purpose of external crystal

  • December 6, 2019
  • 3 replies
  • 1994 views

Hello everyone,

I have a question related to MCU oscillator. Honestly, i usually design MCU with external crystal , by belief that it is surely always better internal oscillator. Even i believed that if MCU isn't run with external crystal will make some grumpy designers unhappy. For example, in the past , with UART communication purpose, they often use 11.0592 MHz crystal instead of popular ones like 8Mhz or 16Mhz.

But one day, i tried with internal oscillator, i really that i don't know what is the purpose of external crystal ?

I'm very sorry if you already met this type of questions and feel annoyed, I also found some similar questions like this in our community, but the answer didn't satisfy me.

Thank you all !

Wish you have a nice day :smiling_face_with_smiling_eyes:

This topic has been closed for replies.
Best answer by berendi

When the internal oscillator is not accurate enough for some tasks, then it's necessary to use an external crystal with tighter tolerances. Consider e.g. this one (STM32F417)

0690X00000AtNjsQAF.png

It doesn't even guarantee the +/- 5% required by asynchronous UART communication at extreme temperatures. USB requires 1.5% accuracy, so it would not work reliably if the MCU warms up a bit, that's why an external crystal is required when using USB.

3 replies

berendi
berendiBest answer
Principal
December 6, 2019

When the internal oscillator is not accurate enough for some tasks, then it's necessary to use an external crystal with tighter tolerances. Consider e.g. this one (STM32F417)

0690X00000AtNjsQAF.png

It doesn't even guarantee the +/- 5% required by asynchronous UART communication at extreme temperatures. USB requires 1.5% accuracy, so it would not work reliably if the MCU warms up a bit, that's why an external crystal is required when using USB.

waclawek.jan
Super User
December 6, 2019

> USB requires 1.5% accuracy

That would be for Low Speed device, and no STM32 provides that AFAIK.

For Full Speed, you have to be more precise, quoting from USB2.0 7.1.11:

The full-speed data rate is nominally 12.000 Mb/s. For full-speed only functions, the required data-rate when

transmitting (T FDRATE ) is 12.000 Mb/s ± 0.25% (2,500 ppm).

JW

Nguyen Bao
Associate II
December 6, 2019

Yeah, i understood. It's very clear and persuasive !

Thank you a lot :smiling_face_with_smiling_eyes: !