TIMING · OSCILLATOR DESIGN REFERENCE

晶振与 Pierce 振荡器设计手册

石英晶体模型 · 起振判据 · 负载电容 / 限流电阻 / 驱动电平

依据 ST AN2867 Rev 24 · STM32 / STM8 · HSE / LSE · 增益裕度 · 安全系数 · 频率牵引率

1石英晶体模型与谐振频率

石英晶体是压电器件,可用四元件等效模型描述:动态支路 \(L_m\)(振动质量)、\(C_m\)(弹性)、\(R_m\)(损耗)串联,再与并联电容 \(C_0\)(电极与封装)并联。忽略 \(R_m\) 时其阻抗为:

图 1 · 石英晶体等效模型:并联电容 C0 与动态支路(Lm · Rm · Cm)并联
图 1 · 石英晶体等效模型:并联电容 C0 与动态支路(Lm · Rm · Cm)并联
晶体阻抗
$$Z = \frac{1}{j\omega} \cdot \frac{\omega^2 L_m C_m - 1}{(C_0 + C_m) - \omega^2 L_m C_m C_0}$$

晶体存在两个特征频率:串联谐振 \(F_s\)(\(Z=0\))与并联/反谐振 \(F_a\)(\(Z\to\infty\))。二者之间为「并联谐振区」,晶体呈感性,实际振荡频率 \(F_p\)(即负载频率 \(F_L\))落在此区间,由外部负载电容 \(C_L\) 决定:

串联谐振频率
$$F_s = \frac{1}{2\pi\sqrt{L_m C_m}}$$
反谐振频率
$$F_a = F_s\sqrt{1 + \frac{C_m}{C_0}}$$
负载(并联)谐振频率
$$F_p = F_s\left(1 + \frac{C_m}{2\,(C_0 + C_L)}\right)$$
图 2 · 晶体阻抗随频率变化:Fs 与 Fa 之间为并联谐振区,晶体呈感性并起振
图 2 · 晶体阻抗随频率变化:Fs 与 Fa 之间为并联谐振区,晶体呈感性并起振

正因为振荡频率随 \(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 的变体,外部元件最少、频率稳定。回路分两支:

图 5 · Pierce 振荡器电路:MCU 内含反相器 Inv 与反馈电阻 RF;外接 RExt、晶体 Q、负载电容 CL1/CL2,Cs 为引脚与 PCB 寄生电容
图 5 · Pierce 振荡器电路:MCU 内含反相器 Inv 与反馈电阻 RF;外接 RExt、晶体 Q、负载电容 CL1/CL2,Cs 为引脚与 PCB 寄生电容
图 4 · 振荡回路框图:无源支路(晶体 + 负载电容)与 MCU 内有源支路(放大器)构成闭环
图 4 · 振荡回路框图:无源支路(晶体 + 负载电容)与 MCU 内有源支路(放大器)构成闭环

ST 器件按「负阻」模型设计:起振时振荡器提供的负跨导必须数倍于回路无源支路电导,才能从噪声中可靠建立振荡;但又不能过大以致饱和导致起振失败。工程上以「增益裕度」或「临界跨导」来量化这一余量。

图 3 · 偶极子 I-V 曲线:中段(B→D,蓝紫色)为负跨阻区,是振荡器起振能量的来源
图 3 · 偶极子 I-V 曲线:中段(B→D,蓝紫色)为负跨阻区,是振荡器起振能量的来源
反馈电阻典型值 R_F(内置)
频率反馈电阻范围
32.768 kHz10 ~ 25 MΩ
1 MHz5 ~ 10 MΩ
10 MHz1 ~ 5 MΩ
20 MHz470 kΩ ~ 5 MΩ

\(R_F\) 使反相器偏置在 \(V_{out}=V_{in}\) 的线性区当放大器用,几乎所有 ST MCU 已内置,无需外接。

图 6 · 反相器传输特性:仅在 Vin ≈ VDD/2 附近的线性区充当放大器,噪声在此被放大而起振
图 6 · 反相器传输特性:仅在 Vin ≈ VDD/2 附近的线性区充当放大器,噪声在此被放大而起振

3起振判据:临界跨导与增益裕度

要判断某晶体能否与某 MCU 振荡器可靠配对,核心是把回路的「临界跨导」\(g_{mcrit}\)(维持稳定振荡所需的最小跨导)与振荡器实际能提供的跨导比较。假设 \(C_{L1}=C_{L2}\) 且晶体看到手册标称 \(C_L\):

临界跨导
$$g_{mcrit} = 4 \cdot ESR \cdot (2\pi F)^2 \cdot (C_0 + C_L)^2$$

\(ESR\) 为等效串联电阻(可直接取自手册,或由动态电阻换算 \(ESR = R_m(1+C_0/C_L)^2\),见 §5)、\(C_0\) 并联电容、\(C_L\) 标称负载电容、\(F\) 标称频率。

按 MCU 手册给出的参数不同,有两种等价判据:

判据一 · 增益裕度(手册给跨导 gm)
$$\text{gain}_{margin} = \frac{g_m}{g_{mcrit}} > 5$$
判据二 · 最大临界跨导(手册给 Gm_crit_max)
$$g_{mcrit} < G_{m\_crit\_max}, \qquad G_{m\_crit\_max} = \frac{g_m}{5}$$

两者本质相同:\(g_m/g_{mcrit}>5\) 等价于 \(g_{mcrit}示例:\(F=8\,\text{MHz},\ C_0=7\,\text{pF},\ C_L=10\,\text{pF},\ ESR=80\,\Omega\) 时 \(g_{mcrit}=0.23\,\text{mA/V}\);若 \(g_m=25\,\text{mA/V}\),则裕度 \(=107\gg5\),起振充裕。

4负载电容匹配

负载电容是振荡回路呈现给晶体的端电容,由两只外部电容与杂散电容共同决定。只有让晶体看到与其标定一致的 \(C_L\),振荡频率才准确:

回路负载电容
$$C_L = \frac{C_{L1} \cdot C_{L2}}{C_{L1} + C_{L2}} + C_s$$
外部电容取值(取 C_L1 = C_L2)
$$C_{L1} = C_{L2} = 2\,(C_L - C_s)$$

\(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)的功率:

驱动电平
$$DL = ESR \cdot I_Q^{\,2}$$

其中 \(ESR\) 是晶体在负载 \(C_L\) 下的等效串联电阻,由动态电阻 \(R_m\) 换算而来(也可直接取自手册):

等效串联电阻 ESR
$$ESR = R_m\left(1 + \frac{C_0}{C_L}\right)^2$$

\(R_m\) 为动态电阻(等效模型中动态支路的损耗电阻,见图 1),\(C_0\) 并联电容、\(C_L\) 负载电容。加了外部限流电阻 \(R_{Ext}\) 后,计算时应把 \(R_{Ext}\) 叠加进 \(ESR\)。

据此可反推流过晶体的电流上限(示波器用电流探头读峰峰值 \(I_QPP\)):

最大 RMS / 峰峰电流
$$I_{Qmax}\text{RMS} = \sqrt{\frac{DL_{max}}{ESR}}, \qquad I_{Qmax}PP = 2\sqrt{\frac{2\,DL_{max}}{ESR}}$$
图 7 · 用电流探头夹住晶体引线测其电流(示波器读峰峰值,量程换算 1 mA / 1 mV)
图 7 · 用电流探头夹住晶体引线测其电流(示波器读峰峰值,量程换算 1 mA / 1 mV)

当实测电流超过上限时,须在 OSC_OUT 串联外部电阻 \(R_{Ext}\) 限流。它与 \(C_{L2}\) 构成低通滤波,也能抑制泛音起振。初值取 \(C_{L2}\) 的容抗:

外部限流电阻初值
$$R_{Ext} = \frac{1}{2\pi F \cdot 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 = \frac{\text{振荡器负阻}}{\text{晶体 ESR}} = \frac{R_{ADD} + ESR}{ESR}$$
安全系数 S_fHSE 高速LSE 低速
S_f ≥ 5安全非常安全
3 ≤ S_f < 5不安全安全
S_f < 3不安全不安全

故 HSE 要求 \(S_f\ge5\)、LSE 要求 \(S_f\ge3\)。\(R_{ADD}\) 由串联试验电阻逐步加大到刚好不起振测得,等于振荡器负阻。安全系数(基于负阻)与增益裕度(基于跨导)是两个相关但不同的度量。

图 8 · 负阻测量:在晶体串联试验电阻 RADD,逐步加大到刚好不起振,此值即振荡器负阻
图 8 · 负阻测量:在晶体串联试验电阻 RADD,逐步加大到刚好不起振,此值即振荡器负阻

6.2 基频与泛音模式

AT 切晶体在基频的奇数倍(3、5 次泛音)处阻抗也会过零,可工作在泛音模式。因高频基频晶体切割极薄、昂贵,实际约 50 MHz 以上多用三次泛音(按 1/3 频率切割)。三次泛音 \(R_m\) 约三倍、\(C_m\) 约 1/9,Q 值更高、抖动更小、牵引率更低。STM32 内部振荡器按基频模式验证,若用泛音晶体须配 \(L_{L1}\) 陷波网络抑制基频。

图 9 · AT 切晶体的基频、3 次与 5 次泛音,各自附近还有杂散响应
图 9 · AT 切晶体的基频、3 次与 5 次泛音,各自附近还有杂散响应
图 10 · 更精确的晶体模型:每个泛音各有一条 RLC 支路(三次泛音 Rm3 ≈ 3Rm、Cm3 ≈ Cm/9)
图 10 · 更精确的晶体模型:每个泛音各有一条 RLC 支路(三次泛音 Rm3 ≈ 3Rm、Cm3 ≈ Cm/9)
图 11 · 三次泛音振荡器:CL1 并联电感 LL1 构成陷波,抑制基频、只在三次泛音起振
图 11 · 三次泛音振荡器:CL1 并联电感 LL1 构成陷波,抑制基频、只在三次泛音起振

6.3 频率牵引率(Pullability)

牵引率衡量负载电容微小变化对振荡频率的影响,对 RTC 等低速计时功能尤为重要:

牵引率(PPM/pF)
$$\text{Pullability} = \frac{C_m \times 10^6}{2\,(C_0 + C_L)^2}$$

\(C_m,\ C_0,\ C_L\) 均以 pF 代入。牵引率越低,负载电容容差引起的频偏越小——同样是控制最终 PPM 预算的关键。一般 \(C_L\) 越大,牵引率越低。

选型速记 — 先按 MCU 手册频率范围选晶体;用增益裕度(或临界跨导)判起振,目标裕度 ≥ 5;按 \(C_{L1}=C_{L2}=2(C_L-C_s)\) 配负载电容;若实测驱动电流超 \(DL_{max}\) 加 \(R_{Ext}\) 限流并复核裕度;RTC / 低速优先看牵引率与安全系数。

石英晶体 Pierce 振荡器设计参考 · 依据 ST AN2867 Rev 24 · 公式为理想近似,实际设计须结合晶体与 MCU 数据手册及 PCB 寄生参数核算。

晶振选型校验计算器 套用本手册公式在线校验:增益裕度 / 临界跨导、负载电容、限流电阻、驱动电流上限与牵引率