TIMING · OSCILLATOR DESIGN REFERENCE
晶振与 Pierce 振荡器设计手册
石英晶体模型 · 起振判据 · 负载电容 / 限流电阻 / 驱动电平
1石英晶体模型与谐振频率
石英晶体是压电器件,可用四元件等效模型描述:动态支路 \(L_m\)(振动质量)、\(C_m\)(弹性)、\(R_m\)(损耗)串联,再与并联电容 \(C_0\)(电极与封装)并联。忽略 \(R_m\) 时其阻抗为:
晶体存在两个特征频率:串联谐振 \(F_s\)(\(Z=0\))与并联/反谐振 \(F_a\)(\(Z\to\infty\))。二者之间为「并联谐振区」,晶体呈感性,实际振荡频率 \(F_p\)(即负载频率 \(F_L\))落在此区间,由外部负载电容 \(C_L\) 决定:
正因为振荡频率随 \(C_L\) 可调,手册才会标注让晶体工作在标称频率所需的确切 \(C_L\)。以 8 MHz 晶体为例(\(R_m=8\,\Omega,\ L_m=14.7\,\text{mH},\ C_m=0.027\,\text{pF},\ C_0=5.57\,\text{pF}\)):\(F_s=7\,988\,768\,\text{Hz}\)、\(F_a=8\,008\,102\,\text{Hz}\);\(C_L=10\,\text{pF}\) 时 \(F_p=7\,995\,695\,\text{Hz}\),要精确等于 8 MHz 则需 \(C_L=4.02\,\text{pF}\)。
2Pierce 振荡器与负阻原理
STM32 / STM8 的 HSE(高速外部)与 LSE(低速外部)振荡器均采用 Pierce 拓扑——Colpitts 的变体,外部元件最少、频率稳定。回路分两支:
- 有源支路:MCU 内部反相器 Inv(作放大器)+ 内部反馈电阻 \(R_F\),提供能量使振荡建立并补偿损耗。
- 无源支路:晶体 Q、两只外部负载电容 \(C_{L1}\) / \(C_{L2}\)、外部限流电阻 \(R_{Ext}\),以及杂散电容 \(C_s\)。
ST 器件按「负阻」模型设计:起振时振荡器提供的负跨导必须数倍于回路无源支路电导,才能从噪声中可靠建立振荡;但又不能过大以致饱和导致起振失败。工程上以「增益裕度」或「临界跨导」来量化这一余量。
| 频率 | 反馈电阻范围 |
|---|---|
| 32.768 kHz | 10 ~ 25 MΩ |
| 1 MHz | 5 ~ 10 MΩ |
| 10 MHz | 1 ~ 5 MΩ |
| 20 MHz | 470 kΩ ~ 5 MΩ |
\(R_F\) 使反相器偏置在 \(V_{out}=V_{in}\) 的线性区当放大器用,几乎所有 ST MCU 已内置,无需外接。
3起振判据:临界跨导与增益裕度
要判断某晶体能否与某 MCU 振荡器可靠配对,核心是把回路的「临界跨导」\(g_{mcrit}\)(维持稳定振荡所需的最小跨导)与振荡器实际能提供的跨导比较。假设 \(C_{L1}=C_{L2}\) 且晶体看到手册标称 \(C_L\):
\(ESR\) 为等效串联电阻(可直接取自手册,或由动态电阻换算 \(ESR = R_m(1+C_0/C_L)^2\),见 §5)、\(C_0\) 并联电容、\(C_L\) 标称负载电容、\(F\) 标称频率。
按 MCU 手册给出的参数不同,有两种等价判据:
两者本质相同:\(g_m/g_{mcrit}>5\) 等价于 \(g_{mcrit}
4负载电容匹配
负载电容是振荡回路呈现给晶体的端电容,由两只外部电容与杂散电容共同决定。只有让晶体看到与其标定一致的 \(C_L\),振荡频率才准确:
\(C_s\) 为 OSC_IN / OSC_OUT 引脚与 PCB 走线的寄生电容,典型约 5 pF。例:目标 \(C_L=15\,\text{pF}\)、\(C_s=5\,\text{pF}\),则两电容串联需 10 pF,故 \(C_{L1}=C_{L2}=20\,\text{pF}\)。
5驱动电平与外部限流电阻
驱动电平(DL)是晶体上耗散的功率,必须限制,否则过强机械振动会导致晶体损坏或缩短寿命。手册以 mW / µW 给出最大值 \(DL_{max}\)。它等于等效串联电阻 \(ESR\) 上流过晶体电流 \(I_Q\)(RMS)的功率:
其中 \(ESR\) 是晶体在负载 \(C_L\) 下的等效串联电阻,由动态电阻 \(R_m\) 换算而来(也可直接取自手册):
\(R_m\) 为动态电阻(等效模型中动态支路的损耗电阻,见图 1),\(C_0\) 并联电容、\(C_L\) 负载电容。加了外部限流电阻 \(R_{Ext}\) 后,计算时应把 \(R_{Ext}\) 叠加进 \(ESR\)。
据此可反推流过晶体的电流上限(示波器用电流探头读峰峰值 \(I_QPP\)):
当实测电流超过上限时,须在 OSC_OUT 串联外部电阻 \(R_{Ext}\) 限流。它与 \(C_{L2}\) 构成低通滤波,也能抑制泛音起振。初值取 \(C_{L2}\) 的容抗:
例:\(F=8\,\text{MHz}\)、\(C_{L2}=15\,\text{pF}\) 时 \(R_{Ext}\approx1326\,\Omega\)。加入 \(R_{Ext}\) 后应复核增益裕度——它会叠加进 \(ESR\),须仍满足 \(g_m \gg g_{mcrit}=4(ESR+R_{Ext})(2\pi F)^2(C_0+C_L)^2\)。\(R_{Ext}\) 过高则不起振,过低则限流不足。
6安全系数、振荡模式与牵引率
6.1 安全系数 S_f
谐振器老化会使 \(ESR\) 等参数漂移。安全系数为振荡器负阻与晶体 ESR 之比,衡量在寿命期与工作条件下不失振的能力:
| 安全系数 S_f | HSE 高速 | LSE 低速 |
|---|---|---|
| S_f ≥ 5 | 安全 | 非常安全 |
| 3 ≤ S_f < 5 | 不安全 | 安全 |
| S_f < 3 | 不安全 | 不安全 |
故 HSE 要求 \(S_f\ge5\)、LSE 要求 \(S_f\ge3\)。\(R_{ADD}\) 由串联试验电阻逐步加大到刚好不起振测得,等于振荡器负阻。安全系数(基于负阻)与增益裕度(基于跨导)是两个相关但不同的度量。
6.2 基频与泛音模式
AT 切晶体在基频的奇数倍(3、5 次泛音)处阻抗也会过零,可工作在泛音模式。因高频基频晶体切割极薄、昂贵,实际约 50 MHz 以上多用三次泛音(按 1/3 频率切割)。三次泛音 \(R_m\) 约三倍、\(C_m\) 约 1/9,Q 值更高、抖动更小、牵引率更低。STM32 内部振荡器按基频模式验证,若用泛音晶体须配 \(L_{L1}\) 陷波网络抑制基频。
6.3 频率牵引率(Pullability)
牵引率衡量负载电容微小变化对振荡频率的影响,对 RTC 等低速计时功能尤为重要:
\(C_m,\ C_0,\ C_L\) 均以 pF 代入。牵引率越低,负载电容容差引起的频偏越小——同样是控制最终 PPM 预算的关键。一般 \(C_L\) 越大,牵引率越低。
石英晶体 Pierce 振荡器设计参考 · 依据 ST AN2867 Rev 24 · 公式为理想近似,实际设计须结合晶体与 MCU 数据手册及 PCB 寄生参数核算。