鉴于内部振荡器要快得多,什么时候应该为这个 MCU 使用外部晶体?

电器工程 微控制器 stm32 水晶 stm32f0
2022-01-18 05:19:30

我在看这个 MCU,想知道使用外部晶体是否有意义。

从数据表 pg1 中提取,

*时钟管理
4 至 32 MHz 晶体振荡器
– 用于 RTC 的 32 kHz 振荡器,带有校准功能 – 内部 8 MHz RC,带 x6 PLL 选项 – 内部 40 kHz RC 振荡器

内部 48 MHz 振荡器,具有基于 ext 的自动微调功能。同步*

内部振荡器最高可达 48Mhz。外部晶体在 4 - 32 Mhz 之间。考虑到外部晶体要花钱并占用空间,为什么内部晶体快于 48Mhz 时还要使用外部晶体?什么时候应该使用外部晶体?

4个回答

内部振荡器的稳定性远不如外部晶体振荡器。

如果我正确阅读数据表,内部 48 MHz 振荡器仅在出厂时校准到指定频率的 2.9% 以内——对于 RS-232 来说甚至不够好。有多种方法可以将其与外部时钟同步,我认为它旨在用于 USB 设备情况,您可以将 PLL 锁定到 USB 比特流。

外部晶体通常精确到大约 20 ppm,百万分之几。这是指定频率的 0.002%。如果您需要更好的,甚至还有温度补偿的恒温晶体振荡器。

此外,您可能需要不同频率的精确时钟速度,通常用于通过异步通信通道与设备或主机进行通信。为此,您可能需要一个例如 29491200 Hz (115200*256) 的振荡器。

内部是一个振荡器,通常是一个RC振荡器。这些振荡器远不如晶体准确。此外,这些振荡器往往会随着温度变化而漂移。

另一方面,水晶可以和你想花的钱一样准确。例如,在使用 USB 等高速通信时需要精度。USB 具有非常严格的公差。

请参见第 16 页的此图:

ST 时钟树

看起来您也可以将晶振用作 PLL 的输入,从而使您可以从较慢的晶振实现 48MHz 的内部时钟速度。

晶体振荡器馈入片内锁相环 (PLL),它可以将晶体频率乘以 1 到 16 之间的值。因此,使用 8MHz 晶体,您可以为处理器生成 48MHz 主时钟。正如其他人所说,外部晶体比片上高速振荡器更准确和稳定。