用低速晶振就行?别让单片机的PLL骗了你
现在大多数单片机内部都集成了PLL倍频电路,即使外部接一个低速晶振,似乎也能通过倍频得到任意想要的高频率。以STM32F4系列为例:外部接25MHz晶振,内部先通过25分频到1MHz,然后再经336倍频,最终获得168MHz主频。使用STM32CubeMX配置时,这个流程非常直观:

很多人会自然地想:既然都要先分频到1MHz,那我为什么不直接外接一个1MHz晶振,同样也能得到168MHz?如果你也这么想,就掉进了一个常见的陷阱。虽然数学计算结果完全一样,但在电气性能、时钟质量和外设稳定性上,二者有着天差地别。今天我们就来说说,为什么绝不能直接用低频晶振。
一、低速晶振并非一无是处
1、功耗更低
低频方波翻转率低,IO口的动态功耗自然就小。
2、EMI 电磁辐射更低
原生输入时钟频率低,高频基波、谐波辐射小,对强 EMC 要求、狭小屏蔽设备更友好。
3、线路板布线更省心
走线不需要严格等长、包地、阻抗匹配,随便拉线也不容易串扰。
二、低频晶振的致命伤:本底相位噪声太“脏”
虽然优点存在,但它有一个无法克服的物理缺陷:先天相位噪声极差。
低频石英晶振物理特性决定了:其近端相位噪声(如@1kHz偏移处)远差于 8MHZ、25MHZ 等标准频点。
我们将三种频率的有源晶振(XO)的相位噪声(@1 kHz 偏移,典型值)做一个直观对比:

可以看到,25MHz晶振的本底噪声比1MHz晶振干净了整整30~40dB,这是一个几十到上百倍的差距。
三、倍频后的灾难:噪声同样被放大
PLL可不是“净化器”,它在倍频的同时,也会将输入时钟的噪声等比例放大。将晶振升级到168MHz,需要336倍频。理论上,相位噪声会按 20*log₁₀(N) 的规律恶化,此处N=336,附加噪声约为50.5dB。
我们计算一下,三种晶振的噪声经过这个“放大器”后会变成什么样:

结论触目惊心:
25 MHz → 168 MHz:时钟非常干净,ADC、USB、以太网完美稳定
8 MHz → 168 MHz:还算干净,普通的工业控制、串口通信等完全够用。
1 MHz → 168 MHz:噪声堪称灾难,ADC采样将布满噪点,USB和网口甚至会直接罢工。
四、为什么普通晶振手册不标 @1kHz 相噪?
这个关键指标,很多时候我们翻遍规格书也找不到。原因很简单,由产品定位决定:
• ■普通无源/有源晶振(几元):厂家默认不作承诺、不测试,规格书只标频率精度(ppm)、负载电容、起振时间等“够用”的参数。
温补晶振(几十元):通常会标注温度稳定度(±0.5~2ppm),部分型号会给出@10kHz甚至@1kHz的相噪值。
恒温晶振(上百至上千元):会完整给出各偏移点(100Hz/1kHz/10kHz...)的相噪,专用于射频、精密测量、军工等高端场合。
五、一份可以收藏的选型建议
尽管单片机自带PLL倍频器,但选晶振绝对不能“就低不就高”。
✅ 带USB/以太网/高精度ADC的设计:务必选择 12MHz以上 的有源晶振。
✅ 通用工业设备(串口/CAN/普通IO):首选 8MHz以上 的有源晶振。
❌ 一条红线:绝对不推荐使用4MHz以下的晶振,噪声和稳定性问题会让你掉进调不完的坑。
浙公网安备 33010602011771号