ARM微控制器振荡器设计指引(1)

引言

尽管许多设计人员对基于皮尔斯门结构的振荡器(即皮尔斯振荡器)有所了解,但真正明白其工作原理的人并不多,能够精通其设计的人更是寥寥无几。在实际操作中,振荡器设计往往被忽视,直到发现其无法正常工作——这通常发生在最终产品已经投入生产之后。如果晶体振荡器不能按预期工作,可能会导致项目延期,甚至整个项目失败。

为了避免产品在实际应用中出现问题,振荡器在设计阶段就必须得到足够的重视,这一点远比进入制造阶段前更为关键。

本文旨在介绍皮尔斯振荡器的基本原理,并提供设计指导。同时,它还展示了如何确定外部组件,并给出了正确进行PCB设计以及选择晶体和外部组件的指导原则。

为了加速应用开发进程,文中第5节“MCU微控制器/微处理器推荐谐振器”和第6节“MCU微控制器推荐晶体”详细介绍了推荐使用的晶体(包括高速度晶体振荡器HSE和低速度晶体振荡器LSE)。

1 石英晶体的属性和模型

石英晶体是一种压电元件,它能够将电能转换成机械能,并且反过来也能将机械能转换回电能。这种能量转换发生在其共振频率上。石英晶体可以用图1中的模型来表示。

图1 展示了石英晶体的模型。

  • C0:表示由电极构成的电容器所产生的并联电容。
  • Lm(动态电感):代表石英晶体的振动质量。
  • Cm(动态电容):代表石英晶体的弹性。
  • Rm(动态电阻):代表电路中的损耗。 在忽略Rm的情况下,晶体的阻抗为:

z=\frac{j}{w}\times (\frac{w^{2}\times L_m\times C_m-1}{(C_0+C_m)-w^{2}\times L_m\times C_m\times C_0})       (1) 

 图2 展示了在频率域下的阻抗表现。

图2 晶振频率域下的阻抗表现

“平行谐振频率”(记为 𝐹𝑝)的区域。在 𝐹𝑝​ 处,石英晶体的动态电感 𝐿𝑚 和动态电容 𝐶𝑚发生谐振,相互抵消,此时晶体的总阻抗达到一个局部最小值,主要由并联电容 𝐶0决定。晶体在 𝐹𝑝 附近的阻抗曲线会出现一个明显的低谷,这个低谷是振荡器设计中非常关键的一个点,因为它影响到振荡器的稳定性与效率。

“感性特性”表示当石英晶体表现出感性行为时,晶体发生振荡。在电路中,晶体的振动质量(由动态电感 𝐿𝑚 表示)起着主导作用。此时,晶体的振动能量主要表现为机械振动,电路中的电能与机械能之间的转换效率较高。在较低的频率下,晶体的阻抗主要呈现为电感性,这是因为在这些频率下,动态电感 𝐿𝑚​ 的效应超过了动态电容 𝐶𝑚​ 的效应。因此,随着频率的升高,晶体的阻抗也随之增大,显示出典型的感性特性。

“相位”是指在周期性波动(如声波、光波、电信号波形)中,特定时间点的波动状态。在交流电路分析、信号处理和波形分析等领域,相位是一个关键的概念。在交流电路中,电压和电流之间的相位关系可能是同相(相位差为0度)、滞后(相位差为正值)或超前(相位差为负值)。相位差表示两个波形在时间轴上的差异,通常用角度或弧度来衡量。

 是指串联谐振频率,即在电路阻抗 𝑍 为零时的频率。在串联谐振状态下,电路中的感抗和容抗相互抵消,使得总阻抗达到最小值。串联谐振频率 𝐹𝑠 的表达式可以通过相应的谐振条件方程推导得出。一般而言,这个表达式涉及电路中的电感 𝐿和电容 𝐶 的值。在石英晶体振荡器的情况下,动态电感 𝐿𝑚​ 和动态电容 𝐶𝑚 决定了串联谐振频率,其表达式通常为:

F_s = \frac{1}{2\pi\sqrt{L_m C_m}}             (2)

在电子学和电路理论中,𝐹𝑎 指的是反谐振频率,这是在电路的阻抗 𝑍 趋向于无穷大时发生的频率。在反谐振频率下,电路呈现最大的阻抗,这通常是由于电路中的感抗和容抗相互增强造成的。

反谐振频率 Fa​ 的表达式可以通过电路的谐振条件方程来推导。这个方程通常涉及到电路中的电感 𝐿 和电容 𝐶 的值。在石英晶体振荡器的上下文中,动态电感 Lm​ 和动态电容 Cm​ 会影响反谐振频率。

如果提供了方程(1),那么 Fa​ 的表达式将基于该方程进行推导。由于没有具体的方程提供,我将给出一个基于一般性理解的表达式:

F_a = 2\pi\sqrt{1+\frac{C_m }{C_0}}        (3)

由串联谐振频率 𝐹𝑠 和反谐振频率 𝐹𝑎​ 所围成的区域(如图2中的阴影部分所示)是并联谐振区域。在这个区域里,晶体工作在并联谐振模式下,其行为相当于一个电感器,为整个电路回路增加了180°的相位。晶体的并联谐振频率 𝐹𝑝(或称为负载频率 𝐹𝐿​)可以用以下公式表示:

F_p = F_S(1+\frac{C_m}{2(C_0+C_L)})    (4)

其中,𝐹𝑝代表并联谐振频率,𝐿𝑚 代表晶体的动态电感,𝐶𝑚 代表晶体的动态电容,𝜋 是数学常数圆周率。

依据该方程,晶体振荡器的振荡频率可以通过调整负载电容 𝐶𝐿来实现调节。因此,在晶体制造商提供的数据手册中,他们会指明为了确保晶体在其额定频率振荡所必需的精确负载电容 𝐶𝐿​。 表2展示了一个8MHz额定频率晶体的等效电路元件值示例。

表1. 等效电路参数示例

等效组件Rm(运动电阻)Lm(动态电感)Cm(动态电容)C0(并联电容)
数值8 Ω14.7 mH0.027 pF5.57 pF

这些参数对于设计晶体振荡器电路非常重要,因为它们帮助确保振荡器能够在预定的频率下稳定工作。设计者可以根据这些参数来选择合适的负载电容,以达到所需的振荡频率。

利用方程(2)、(3)和(4),我们可以计算出该晶体的串联谐振频率 𝐹𝑠​、反谐振频率 𝐹𝑎和并联谐振频率 𝐹𝑝:

  • 𝐹𝑠=7988768Fs​=7988768 赫兹(Hz)
  • 𝐹𝑎=8008102Fa​=8008102 赫兹(Hz)

当负载电容 𝐶𝐿 设为 10皮法(pF)时,晶体的振荡频率 𝐹𝑝为 79956957995695 赫兹。

若要使振荡频率恰好达到 88 兆赫兹(MHz),即 80000008000000 赫兹,负载电容 𝐶𝐿​ 应设为 4.024.02 皮法(pF)。

这些计算通常依据晶体的动态电感 𝐿𝑚​、动态电容 𝐶𝑚​、并联电容 𝐶0​ 以及晶体振荡电路的其他特定参数。通过调整负载电容 𝐶𝐿​,可以对晶体的振荡频率进行微调,以确保它与所需的额定频率相匹配。

2 振荡器理论

振荡器是现代数字集成电路中的关键组件。它们可以根据其拓扑结构和工作原理被划分为不同的子类别。对于每个子类别,都存在一个数学模型,该模型可用于研究振荡器的行为,并在理论上确定其性能。

本节只讨论谐波振荡器(本文档不涉及放松振荡器),并特别关注(见第3节)皮尔斯振荡器。这是因为本文档讨论的所有需要外部被动元件(如谐振器、负载电容等)的振荡器,都属于上述类型和拓扑结构。

谐波振荡器可以分为两大类:

  • 负电阻振荡器
  • 正反馈振荡器

这两类振荡器在输出波形上具有相似性。它们都能在所需的频率上产生振荡波形。这种波形通常由所需的基本频率的正弦波和由于振荡回路中元件的非线性而产生的一系列泛音谐波(基频的整数倍频率)组成。

这两类振荡器在工作原理上有所区别,并且各自有特定的数学模型进行描述和分析。

正反馈振荡器通常采用巴克豪森模型进行建模,振荡器必须满足巴克豪森准则,才能在所需的频率上保持稳定的振荡。

巴克豪森模型并不完全适合描述负电阻振荡器:更合适的方法是使用文献[1]中描述的负电阻模型。

基于Arm®核心的MCU微控制器和微处理器,其低速外部(LSE)和高速外部(HSE)振荡器均采用负电阻原理设计,因此本节将重点介绍这个模型。

2.1 负电阻

从理论上讲,负电阻是一种双极元件,它吸收热量并将其转换为电流,该电流与所施加的电压成正比,但电流方向与电压方向相反(与电阻元件的工作机制相反)。然而在现实世界中,并不实际存在这样的双极元件。

“负阻”这个术语实际上是“负跨导”的一个误称,负跨导定义为给定电压变化(∆V)与引起的电流变化(∆I)之间的比率。与总是正值的电阻不同,跨导(也称为差分电阻)可以是正的,也可以是负的。图3展示了具有负跨导区域的双极元件的电流-电压(I-V)曲线。很明显,电压与电流的比率(V/I)始终是正的,但∆V/∆I比率并非总是如此。 紫色部分的I-V曲线展示了负跨导:

\frac{\Delta V}{\Delta I} = \frac{V_D-V_C}{I_D-I_C} < 0

蓝色部分展示了正跨导:

\frac{\Delta V}{\Delta I} = \frac{V_B-V_A}{I_B-I_A} > 0

图3. 显示双极元件负跨导区域的I-V曲线

2.2 跨导

与电导(电阻的倒数)相似,跨导定义为跨阻的倒数。跨导也可以定义为差分电导,即电流变化与电压变化的比率,用公式表示为 ∆I / ∆V。

在电子学领域,跨导是描述电子元件如晶体管特性的一个重要参数,它反映了元件对电流变化的响应程度。具体而言,跨导描述了输入电压变化时,输出电流如何按比例变化。

晶体管的跨导通常用来描述其放大效能,即输入信号如何被有效转换为电流变化,并在输出端形成放大的信号。在设计放大器电路时,选择具有高跨导的晶体管是有利的,因为它们能够提供更优的信号放大效果。

2.3 负电阻振荡器原理

振荡回路由两个分支构成(见图4):

  • 有源分支:由振荡器本身组成,提供启动振荡所需的能量,并使其增长直至达到一个稳定阶段。当稳定振荡实现后,此分支继续提供能量,以弥补无源分支中的损耗。
  • 无源分支:主要由谐振器、两个负载电容以及所有寄生电容组成。

图4 展示了一个基于晶体谐振器的典型振荡回路的框图。

在负电阻振荡器的设计中,有源分支通常包括一个负阻元件,例如隧道二极管或耿氏二极管,它们在特定的电压或电流条件下表现出负阻特性。正是这种负阻特性,使得振荡器能够在谐振频率上维持振荡。

而无源分支则负责确定振荡的频率,这通常是通过LC(电感-电容)谐振回路来完成的。在晶体振荡器中,晶体本身作为一个高Q值的谐振器,与负载电容协同工作,产生所需的振荡频率。

有源分支是振荡回路中的一个核心组件,它的作用是提供能量以启动和维持振荡。在电子振荡器的设计中,有源分支通常包含晶体管、电子管或其他具有放大功能的电子元件。这些元件的放大作用对于振荡器产生稳定的振荡波形至关重要。

有源分支的主要作用包括:

  • 能量注入:注入必要的能量以克服系统中的损耗,包括电路的电阻性损耗、寄生效应以及无源元件(如谐振器和负载电容)的损耗。

  • 放大功能:通过放大输入信号,使振荡信号得以增强,直至达到稳定的振幅。

  • 负阻特性:在某些振荡器设计中,有源分支可能包含具有负阻特性的元件,如隧道二极管或耿氏二极管,这些元件在特定条件下有助于振荡的建立和维持。

  • 频率控制:尽管有源分支不直接决定振荡频率,但它与无源分支的相互作用对振荡器的稳定性和频率特性至关重要。

  • 稳定性和相位条件:有源分支需要满足特定的稳定性和相位条件,以确保振荡器能够在预定的频率上稳定运行。

在晶体振荡器的设计中,有源分支的设计同样重要,它与无源分支的选择共同影响振荡器的性能,包括频率稳定性、输出幅度、波形质量和功耗等。

依据小信号理论,当有源分支(振荡器部分)被恰当偏置时,为了在振荡器偏置电压处维持稳定的振荡,其跨导必须等同于无源分支的电导值。

但是,在启动阶段,为了能够从回路内部的固有噪声中建立起振荡,振荡器的跨导需要高于(或多倍于)振荡回路无源部分的电导,以最大化振荡建立的可能性。如果振荡器的跨导相对于振荡回路的无源分支电导过大,可能会导致振荡回路饱和,进而引发启动失败。

为确保振荡器能够成功启动并保持稳定的振荡,MCU规定了回路负阻与晶体最大等效串联电阻(ESR)之间的比率。对于HSE振荡器,建议该比率应超过5;对于LSE振荡器,则建议比率超过3。

3 皮尔斯振荡器设计

本节阐述了不同的设计参数以及如何确定这些参数的值,以确保它们满足皮尔斯振荡器的设计规范。

3.1 皮尔斯振荡器概述

皮尔斯振荡器是科尔皮茨振荡器的一种变体,经常与晶体谐振器一起使用。皮尔斯振荡器(见图5)需要较少数量的外部组件,这有助于降低最终的设计成本。此外,皮尔斯振荡器在与晶体谐振器,特别是石英晶体谐振器配合使用时,以其稳定的振荡频率而著称。

图5 皮尔斯振荡器的电路结构

在皮尔斯振荡器的设计中,以下是一些关键元件及其功能的简要描述:

  • Inv:作为放大器的内部反相器,利用其内部增益放大通过晶体或谐振器输入的信号。

  • Q:晶体石英或陶瓷谐振器,作为振荡器的核心部件,提供稳定的谐振频率。

  • RF:内部反馈电阻,用于调节反相放大器的反馈量,影响振荡频率和稳定性。

  • CL2:与晶体或谐振器配合使用的外部负载电容之一。

  • RExt:外部电阻,用于限制反相器的输出电流,以保护晶体或谐振器不受过大电流损害。

  • CL1 和 CL2:两个外部负载电容,与晶体或谐振器共同确定振荡器的工作频率。

  • Cs:杂散电容,包括器件引脚(OSC_{IN}OSC_{OUT})以及PCB(寄生)电容的总和,可能会对振荡器的频率特性和稳定性产生影响。

设计皮尔斯振荡器时,需要精心选择和配置这些元件,以确保振荡器能够在所需的频率下稳定运行,并满足应用的性能需求。晶体振荡器的设计是一个综合平衡各种参数及其相互作用的过程。

3.2 反馈电阻

在由

大多数微控制器/微处理器中,RF(反馈电阻)已内嵌于振荡电路中。其作用是让反相器起到放大器的作用。该反馈电阻连接在输入电压Vin和输出电压Vout之间,目的是在Vout等于Vin时为放大器设置偏置,并使其在线性区域(图6中的阴影区域)内工作。在串联谐振频率(Fa)到并联谐振频率(Fp)的频带范围内,噪声(例如晶体的热噪声)被放大,从而引发振荡。

图6 反相器的传递函数

“饱和区”在电子学中,特别是在讨论半导体器件如晶体管的行为时,饱和区指的是晶体管工作在一种特定的状态,其中晶体管的输出电流基本上达到最大,不能再显著增加,即使输入电压继续增加。这个区域通常与晶体管的非线性工作状态相关联。 

表3. 特定频率下推荐的反馈电阻值范围

频率反馈电阻范围
32.768 千赫兹10MΩ 至 25MΩ
1 兆赫兹5MΩ 至 10MΩ
10 兆赫兹1MΩ 至 5MΩ
20 兆赫兹470kΩ 至 5MΩ

3.3 负载电容

负载电容是指连接到晶体振荡器的电路的终端电容。这个电容值由外部电容CL1和CL2以及印刷电路板和连接线的杂散电容(Cs)共同决定。负载电容CL的值由晶体制造商规定。为了频率的准确性,振荡器电路必须向晶体呈现与晶体调整时相同的负载电容。频率稳定性要求负载电容必须是恒定的。外部电容CL1和CL2用于调整所需的CL值,以便达到晶体制造商指定的值。

CL的计算公式如下:

C_L=\frac{C_L1\times C_L2}{C_L1+C_L2}+C_S

举例来说,如果负载电容 𝐶𝐿为 15皮法(pF),而杂散电容 𝐶𝑠为 55 皮法(pF),那么外部电容 𝐶𝐿1 与 𝐶𝐿2之和应为 10 皮法(pF),以符合晶体制造商规定的 15 皮法的负载电容值。

C_L-C_S=\frac{C_L1\times C_L2}{C_L1+C_L2}=10pF

因此,CL1=CL2=20pF

3.4 振荡器的跨导

从理论上讲,为了启动振荡并达到稳定状态,振荡器必须提供充足的增益以补偿环路损耗,同时为振荡的建立提供所需的能量。当振荡变得稳定时,供给振荡器的功率与其在环路中耗散的功率相等。 在实际应用中,由于被动元件值存在公差,并且这些值会受到环境参数(例如温度)的影响,振荡器的增益与振荡环路的关键增益的比率不能仅仅略高于1。如果只是略高,将导致振荡器的启动时间过长,甚至可能无法启动振荡器。

本节介绍了两种方法,用以检验MCU振荡器是否能够与特定的谐振器匹配,确保在谐振器和振荡器规定的条件下振荡可以被启动和维持。采用哪种方法取决于器件数据手册中振荡器参数的具体说明方式:

  • 如果提供了振荡环路的最大临界跨导参数(G_{mcritmax}),请确保该值大于振荡环路的关键晶体增益(g_{mcrit})(详见下文公式)。需注意,最大临界晶体跨导在不同的MCU产品文档中可能被称为 G_{mcritmax} 或 𝐺𝑚。
  • 如果提供了振荡器的跨导参数(G_m),请确保增益余量比(gain_{margin})超过5。
  • 增益余量比是通过公式 gain_{margin}=\frac{g_m}{g_{mcrit}}计算得出的,其中:
  • 𝑔𝑚​ 是MCU数据手册中规定的振荡器跨导。HSE振荡器的跨导通常在数十毫安每伏(mA/V)的范围内,而LSE振荡器的跨导则根据产品不同,介于几微安每伏(µA/V)到几十微安每伏(µA/V)之间。
  • 𝑔𝑚𝑐𝑟𝑖𝑡定义为当该参数是振荡环路的一部分时,为了维持稳定振荡所必需的最小跨导。𝑔𝑚𝑐𝑟𝑖𝑡是根据振荡环路的被动元件参数计算得出的。在假设 CL_1=CL_2,并且晶体在其焊盘上看到的负载电容 𝐶𝐿 与晶体制造商提供的数据相同的情况下,g_{mcrit}的表达式如下:

g_mcrit = \frac{4 \times ESR \times 2\pi F}{\left(2C_0 + C_L\right)^2}

其中:

  • g_{mcrit}代表振荡回路的关键晶体增益。
  • 𝐸𝑆𝑅代表晶体的等效串联电阻。
  • 𝐹代表晶体振荡器的工作频率。
  • 𝐶0代表晶体的并联电容。
  • 𝐶𝐿代表外部负载电容。

由于 𝑔𝑚(25 mS)小于 𝑔𝑚𝑐𝑟𝑖𝑡gm​crit(约651 mS),这表明所选晶体的增益余量比小于5,可能无法保证振荡器在所有条件下都能成功启动和维持稳定振荡。可能需要选择一个具有更高跨导的振荡器,或者选择一个具有更低ESR和/或更大负载电容的晶体。

举例来说,设计MCU微控制器中嵌入的HSE振荡器的振荡回路,已知其跨导值(g_m​)为25 mA/V,我们选取了一个石英晶体,其特性如下:

  • 频率 = 8 MHz
  • 𝐶0=7C0​=7 pF
  • 𝐶𝐿=10CL​=10 pF
  • ESR = 80 Ω

为了检验这个晶体是否会振荡,我们来计算临界晶体增益 g_{mcrit}

g_m=4\times 80\times (2\times \pi \times 10^{6})^{2}\times (7\times 10^{-12}+10\times10 ^{-12})^{2}=0.23mA/V

为了计算增益余量比(gain margin),我们需要知道振荡器的跨导 g_m​ 和临界晶体增益 g_{mcrit}。增益余量比的计算公式是:

gain_{margin}=\frac{g_m}{g_{mcirt}}=\frac{25}{0.23}=107

当增益余量比充足,能够满足增益余量比大于5的要求时,可以预期振荡器将在数据手册中规定的典型延迟时间内达到稳定振荡状态。

如果在测试增益余量比时发现其不足(增益余量比 < 5),虽然在设计和测试最终应用的过程中振荡器可能能够启动振荡,但这并不能确保在实际工作条件下振荡器也能成功启动。强烈推荐选择增益余量比达到或超过5的晶体(应尽量选择具有较低等效串联电阻(ESR)和/或较低负载电容(CL)的晶体)。

以MCU微控制器为例,如果给出了最大临界晶体跨导值,该微控制器内嵌的HSE振荡器具有g_m = 1.5 mA/V。对于所实现的振荡器,其临界晶体增益(gmcrit)必须低于这个值。前文描述的Fox石英晶体满足了这一条件。 振荡器的跨导(g_m)与振荡回路的最大临界跨导(g_{mcrit\_max})之间的换算关系可以通过公式 g_{mcrit\_max} = g_m / 5 来确定。

3.5 驱动电平与外部电阻计算

驱动电平(DL)和外部电阻值(RExt)关系密切,因此放在一起讨论。

3.5.1 计算驱动电平

驱动电平是指在晶体中耗散的功率。这一数值需要受到限制,因为如果驱动电平过高,石英晶体可能会因为机械振动过度而损坏。晶体制造商通常会规定最大驱动电平,单位是毫瓦(mW)。超过这个值可能会导致晶体损坏或缩短其使用寿命。

驱动电平的计算可以通过以下公式进行:

DL=ESR\times I_Q^{2}

其中:

  • 𝐸𝑆𝑅 是晶体的等效串联电阻(由晶体制造商指定)。ESR=R_m\times (1+\frac{C_0}{C_L})^{2}
  • 𝐼𝑄 是晶体上的均方根电流(RMS电流)。这个电流可以在示波器上以正弦波的形式显示出来。电流的值可以读取为峰峰值(𝐼𝑃𝑃)。当使用电流探头(如图7所示)时,示波器的电压刻度可以转换成1 mA / 1 mV。

图7 驱动电流测量方法

正如之前所描述的,在使用电位计调节电流时,假设晶体上的电流是正弦波形,则流过晶体的电流不应超过给定的 𝐼𝑄𝑚𝑎𝑥IQmax​ RMS(均方根最大电流),该值由以下公式给出:

I_Qmax RMS=\sqrt{\frac{DLmax}{ESR}}=\frac{I_QmaxPP}{2\sqrt{2}}

因此,通过晶体的电流(在示波器上读取的峰峰值)不应超过最大峰峰值(𝐼𝑄𝑚𝑎𝑥𝑃𝑃IQmaxPP​),该值等于:

I_QmaxPP=2\times \sqrt{\frac{2\times DLmax}{ESR}}

因此,当流过晶体的电流 𝐼𝑄IQ​ 超过最大允许的峰峰值电流 𝐼𝑄𝑚𝑎𝑥𝑃𝑃IQmaxPP​ 时,就需要引入一个外部电阻 𝑅𝐸𝑥𝑡RExt​(详见3.5.3节)。此时,添加 𝑅𝐸𝑥𝑡RExt​ 变得必要,并且在确定 𝐼𝑄𝑚𝑎𝑥IQmax​ 的表达式时,需要将其与 𝐸𝑆𝑅ESR 相加。

  • 46
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MUKAMO

你的鼓励是我们创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值