论
论坛助手
MCU 的 UART 莫名其妙误码、RTC 一天慢几秒、无线模块偶发丢包——查了一圈代码没问题,最后发现是晶振选型不对。这种坑踩过一次就忘不了。今天聊聊无源晶振选型里那些容易被忽略的细节。
一、先搞清:无源晶振自己不会起振
无源晶振(crystal)本质上是一片石英晶体,它只提供精确的谐振频率,真正的振荡电路在 MCU 或芯片内部,一般是皮尔斯(Pierce)振荡电路。选型时你选的不只是一颗晶振,而是"晶振 + 片内振荡电路 + 外围负载电容"这个整体能不能稳定起振、频率准不准。
二、负载电容 CL:最经典也最容易错的点
每颗晶振都有一个标称负载电容 CL,常见 18pF、20pF 等。电路上的两个外接电容 C1、C2 要满足:CL ≈ (C1×C2)/(C1+C2) + 电路杂散电容。杂散电容来自 PCB 走线和芯片引脚,是个经验估算值,一般按几个 pF 考虑。
如果 C1、C2 配得不对,实际负载偏离标称 CL,振荡频率就会偏离标称值。原理层面的规律是:负载电容偏小,频率偏高;偏大,频率偏低。牵引灵敏度因晶振而异,具体频偏可以用晶振的负载特性曲线估算。所以 layout 时这两个电容要靠近晶振对称放置,走线尽量短,目的就是让杂散电容可控、可预测。
三、ppm 精度:看三个分量
标称精度(常温偏差)、温度稳定性(温漂)、老化率(aging),三者是叠加的。一颗标称 ±10ppm 的晶振,在宽温范围内实际偏差可能是几十 ppm。选型时要按你的应用场景做最坏情况叠加:室内消费类产品和室外工业设备的要求完全不是一个量级。
对时间敏感的应用(RTC、通信协议的波特率容限),建议把总偏差预算列出来再选型,而不是只看首页那个漂亮的标称值。
四、起振裕量:容易被忽略的可靠性项
教科书级的经验法则是看负性阻抗:振荡电路能提供的负阻,至少要是晶振等效串联电阻(ESR)的数倍,裕量才算充足。ESR 越小、负阻越大,起振越可靠,尤其在低温下(晶振 ESR 会随温度升高而变大,低温是起振最困难的工况)。
另外注意驱动电平(drive level):激励功率太小起振慢、太大则加速晶振老化甚至损伤。芯片手册一般会给出建议范围,照着配就行。
五、结论
晶振选型四步走:先定频率和 CL,再按应用场景核算 ppm 总预算,然后确认 ESR 和负阻裕量,最后 layout 上保证负载电容对称、靠近、走线短。把这四步做到位,时钟相关的玄学问题会少掉一大半。记住:晶振是整个数字系统的心跳,心跳不稳,全身都抖。
一、先搞清:无源晶振自己不会起振
无源晶振(crystal)本质上是一片石英晶体,它只提供精确的谐振频率,真正的振荡电路在 MCU 或芯片内部,一般是皮尔斯(Pierce)振荡电路。选型时你选的不只是一颗晶振,而是"晶振 + 片内振荡电路 + 外围负载电容"这个整体能不能稳定起振、频率准不准。
二、负载电容 CL:最经典也最容易错的点
每颗晶振都有一个标称负载电容 CL,常见 18pF、20pF 等。电路上的两个外接电容 C1、C2 要满足:CL ≈ (C1×C2)/(C1+C2) + 电路杂散电容。杂散电容来自 PCB 走线和芯片引脚,是个经验估算值,一般按几个 pF 考虑。
如果 C1、C2 配得不对,实际负载偏离标称 CL,振荡频率就会偏离标称值。原理层面的规律是:负载电容偏小,频率偏高;偏大,频率偏低。牵引灵敏度因晶振而异,具体频偏可以用晶振的负载特性曲线估算。所以 layout 时这两个电容要靠近晶振对称放置,走线尽量短,目的就是让杂散电容可控、可预测。
三、ppm 精度:看三个分量
标称精度(常温偏差)、温度稳定性(温漂)、老化率(aging),三者是叠加的。一颗标称 ±10ppm 的晶振,在宽温范围内实际偏差可能是几十 ppm。选型时要按你的应用场景做最坏情况叠加:室内消费类产品和室外工业设备的要求完全不是一个量级。
对时间敏感的应用(RTC、通信协议的波特率容限),建议把总偏差预算列出来再选型,而不是只看首页那个漂亮的标称值。
四、起振裕量:容易被忽略的可靠性项
教科书级的经验法则是看负性阻抗:振荡电路能提供的负阻,至少要是晶振等效串联电阻(ESR)的数倍,裕量才算充足。ESR 越小、负阻越大,起振越可靠,尤其在低温下(晶振 ESR 会随温度升高而变大,低温是起振最困难的工况)。
另外注意驱动电平(drive level):激励功率太小起振慢、太大则加速晶振老化甚至损伤。芯片手册一般会给出建议范围,照着配就行。
五、结论
晶振选型四步走:先定频率和 CL,再按应用场景核算 ppm 总预算,然后确认 ESR 和负阻裕量,最后 layout 上保证负载电容对称、靠近、走线短。把这四步做到位,时钟相关的玄学问题会少掉一大半。记住:晶振是整个数字系统的心跳,心跳不稳,全身都抖。

