文章目录
前言
在微控制器的应用系统中,晶体振荡器部分的设计很少受到关注,主要使用经典电路,很少有人知道它是如何工作的(至少我自己),意大利半导体公司的设计指南AN2867讲解得很好ST微控制器振荡器电路的设计。可以帮助工程师ST在系列微控制器系统设计中规划了一个良好的晶体振荡器电路。现节选如下:
1.晶体振动的特性和模型
石英晶体是: C0并联电容: 与串联臂并接的等效电路电容器的大小一般与晶体振动尺寸有关。 Lm动态等效电感:代表模型振动的惯性。 Cm动态等效电容:代表晶体振动的弹性。 Rm动态等效电阻:代表电路损耗。 晶体振动的阻抗表达如下(假设Rm可以忽略不记): 石英晶振的频域电抗特性如下图所示 其中Fs是当电抗Z=0时串联谐振频率的表达式如下: Fa当电抗Z趋于无限时,并联谐振频率如下: 在Fs到Fa该区域通常被称为并联谐振区(图2中的阴影部分),在该区域晶振处于并联谐振状态(注:该区域是晶振的正常工作区域,Fa-Fs晶振带宽。晶振质量因素越窄,振荡频率越稳定)。该区域晶振呈电感特性,相当于180 °的相移。其频率FP(或者叫FL:负载频率)表达式如下: 负载电容可通过调节表达式(4)CL微调振荡器的频率,这就是为什么晶振制造商在其产品说明书中指定外部负载电容CL值的原因。通过指定外部负载电容CL当晶体振荡时,值可以达到标称频率。 例如,如何调整外部参数以达到晶振电路8MHz标称频率:
等效元件 | 数值 |
---|---|
Rm | 8Ω |
Lm | 14.7mH |
Cm | 0.027pF |
C0 | 5.57pF |
使用表达式(2)、(3)和(4),我们可以计算晶振Fs、Fa 及FP: Fs = 7988768Hz,Fa = 8008102Hz 若晶振CL为10pF,振荡频率为:FP = 7995695Hz。 标称振荡频率为8MHz,CL应该为4.02pF。
二、振荡器原理
振荡器由放大器和反馈网络组成,起着频率选择的作用。图3显示了振荡器的基本原理。 图3 振荡器的基本原理 其中: ●A(f)放大器部分为闭环系统提供能量,以保持其振荡。 ●B(f)它决定了振荡器的频率。 为了起振,Barkhausen必须满足条件。即闭环增益应大于1,总理移到360°。 确保振荡器工作|A(f)|.|B(f)| >> 1。这意味着开环增益应该远远大于1,稳定振荡所需的时间取决于开环增益。然而,仅仅满足上述条件并不足以解释为什么晶体振荡器可以开始振荡。为了振动,还需要提供启动所需的电能。一般来说,电能瞬变和噪声可以提供所需的能量。需要注意的是,应该有足够的启动能量,以确保振荡器通过触发在所需频率下工作。 事实上,在这种情况下,放大器非常不稳定,任何干扰进入正反馈闭环系统都会使其不稳定,引起振荡启动。干扰可能源于上电、设备禁用/使能操作、晶振热噪声等…。同时,必须注意的是,只有晶体振荡器工作频率范围内的噪声才能放大,这部分只是噪声所有能量的一小部分,这就是为什么晶体振荡器需要很长时间才能启动。
三、皮尔斯振荡器原理
皮尔斯振荡器具有功耗低、成本低、稳定性好等特点,在普通应用中很常见。 Inv:内部反向器相当于放大器。 Q:石英或陶瓷晶振。 RF: 内部反馈电阻(译注:其存在使反相器在线工作, 使其获得增益相当于放大器)。 RExt:外部限流电阻。 CL1和CL2.两个外部负载电容。 Cs:由于PCB由于布线和连接等寄生效应引起的等效杂散电容(OSC_IN和OSC_OUT管脚上)。
四、皮尔斯振荡器设计
1.反馈电阻RF
在大多数情况下,反馈电阻RF它嵌入在振荡器电路中(至少在)ST的MCU中间这样)。它的功能是通过引入反馈将反向器的功能等同于放大器。Vin和Vout反馈电阻的增加使放大器Vout = Vin时产生偏置,迫使反向器工作在线性区域(图5中阴影区)。放大器放大并联谐振区域内晶体振动的噪声(如晶体振动的热噪声)(注:工作在线区域的反向器相当于反向放大器),导致晶体振动。在某些情况下,如果在振动后去除反馈电阻RF,振荡器仍能正常工作。 RF下表中给出的典型值。
频率 | 反馈电阻范围 |
---|---|
32.768kHz | 10 至 25MΩ |
1MHz | 5 至 10MΩ |
10MHz | 1 至 5MΩ |
20MHz | 470kΩ 至 5MΩ |
2.负载电容CL
负载电容CL指连接到晶振的终端电容器。CL值取决于外部电容器CL1和CL2.刷电路板上的杂散电容(Cs)。CL该值由晶体振动制造商提供。振荡频率的精度主要取决于振荡电路的负载电容与给定的电容值相同,振荡频率的稳定性主要取决于负载电容的不变性。外部电容器CL1和CL2可用来调整CL,使之达到振制造商的标定值。 CL的表达式如下: CL1和CL2计算实例: 例如,如果CL =15pF,并假定Cs = 5pF,则有: 即:CL1 = CL2 = 20pF
3.振荡器的增益裕量
增益裕量是最重要的参数,它决定振荡器是否能够正常起振,其表达式如下: 其中: 其中: ● gm是反向器的跨导,其单位是mA/V(对于高频的情况)或者是μA/V(对于低频的情况,例如 32kHz)。 ● gmcrit (gm critical)的值 取决于晶振本身的参数。假定CL1 = CL2 ,并假定晶振的CL将与制造商给定的值相同,则gmcrit表达式如下: 其中ESR是指晶振的等效串联电阻。 反向器跨导(gm)必须满足:gm > gmcrit 。在这种情况下才满足起振的振荡条件。为保证可靠 的起振,增益裕量的最小值一般设为5。 例如,如果设计一个微控制器的振荡器部分,其gm等于25mA/V。如果所选择的石英晶振(来自FOX公司)的参数如下: 频率 = 8MHz,C0 = 7pF,CL = 10pF,ESR = 80 Ω 那么该晶体能否与微控制器配合可靠起振? 让我们来计算gmcrit: 如果据此来计算增益裕量,可得:
此增益裕量远大于起振条件即Gainmargin>5,晶振将正常起振。 如果不能满足增益裕量起振条件(即增益裕量Gainmargin小于5,晶振无法正常起振),应尝试选择一种ESR较低或/和CL较低的晶振。
4.驱动级别DL外部电阻Rext计算
这两个参数是相互联系的,这也就是为什么在同一节中描述此二者的原因。
4.1驱动级别DL计算
驱动级别描述了晶振的功耗。晶振的功耗必须限制在某一范围内,否则石英晶体可能会由于过度的机械振动而导致不能正常工作。通常由晶振制造商给出驱动级别的最大值,单位是毫瓦。超过这个值时,晶振就会受到损害。 其中: ● ESR是指晶振的等效串联电阻(其值由晶振制造商给出): ● IQ是流过晶振电流的均方根有效值,使用示波器可观测到其波形为正弦波。电流值可使用峰-峰值(IPP)。当使用电流探头时(如图6),示波器的量程比例可能需要设置为1mA/1mV。 如先前所描述,当使用限流电位器调整电流值,可使流过晶振的电流不超过IQMAX均方根有效值(假设流过晶振的电流波形为正弦波)。 IQMAX均方根有效值表达式如下: 因此,流过晶振的电流IPP不应超过IQMAXPP(使用峰-峰值表示),IQMAXPP表达式如下: 这也就是为什么需要外部电阻RExt的原因(请参考4.4.3节)。当IQ超过IQmaxPP时,RExt是必需的,并且RExt要加入到ESR中去参与计算IQmax。
4.2另外一个驱动级别测量方法
驱动级别可以由下式计算得出: 其中IQRMS是交流电流的均方根有效值。 这个电流可以通过使用小电容(<1pF)分布的示波器探头在放大器的输入端,测量电压变化得到。相对于流经CL1的电流,放大器的输入电流可以忽略不计;因此可以假定经过晶振的电流等于流经CL1的电流。这样在这个点上,电压的均方根有效值与电流的均方根有效值有如下关系: 其中: ● F = 晶体的频率 这里Vpp是在CL1端测量电压的峰-峰值 ● Ctot = CL1 + (CS/2) + Cprobe ─CL1是放大器输入端的外部负载电容器 ─CS是分布电容 ─Cprobe是探头的电容量 这样,驱动级别可以由下式得出: DL数值必须超过由晶体厂家提供的驱动级别数值。
4.3外部电阻RExt计算
这个电阻的作用是限制晶振的驱动级别,并且它与CL2组成一个低通滤波器,以确保振荡器的起振点在基频上,而不是在其他高次谐波频率点上(避免3次,5次,7次谐波频率)。如果晶振的功耗超过晶振制造商的给定值,外部电阻RExt是必需的,用以避免晶振被过分驱动。如果晶振的功耗小于晶振制造商的给定值,就不推荐使用RExt了,它的值可以是0Ω。 对RExt值的预估可以通过考虑由RExt和CL2的电压分压RExt/CL2实现(注意到RExt和CL2构成了一个分压/滤波器,考虑通带宽度应不小于振荡器频率),则有RExt的值等于CL2的电抗: 输入: ●振荡器频率F = 8MHz ●CL2 = 15pF 得到:RExt = 1326Ω 优化RExt值的方法推荐如下:首先根据前面的介绍确定好CL1和CL2的值,其次使用电位器来代替RExt,RExt值可预设为CL2的电抗值。然后调整电位器的值直到它满足晶振驱动级别的需要,此时电位器的值即是CL2值。 注意: 在计算完RExt值后要重新计算Gain margin的值(请参考4.3节)以确保RExt值对起振条件没有影响。例如,RExt值的值需要加入到ESR中参与gmcrit的计算,同时要保证gm >>gmcrit 注意: 如果RExt值太小,晶振上可能会承担太多的功耗。如果RExt值太大,振荡器起振条件将得不到满足从而无法正常工作。
5.启动时间
启动时间是指振荡器启动并达到稳定所需的时间。这个时间受外部CL1和CL2电容影响,同时它随着晶振频率的增加而减少。不同种类的晶振对启动时间影响也很大,石英晶振的启动时间比陶瓷晶振的启动时间长得多。起振失败通常和Gainmargin有关,过大或过小的CL1和CL2,以及过大的ESR值均可引起Gainmargin不能满足起振条件。 频率为MHz级的晶振的启动时间是毫秒级的。 而32kHz的晶振的启动时间一般要1~5秒。
6.晶振的牵引度(Pullability)
晶振的牵引度(译注:也叫可调度)是指工作在正常并联谐振区的晶振频率的变化率。这也用于衡量随负载电容变化而导致的频率变化,负载电容的减少会导致频率的增加,反之负载电容的增加会导致频率的减小。晶振的牵引度表达式如下:
五、挑选晶振及外部器件的简易指南
本节给出了一个挑选合适的晶振及外部器件的简易指南,一共可分为3个主要步骤:
第一步:增益裕量(Gainmargin)计算 (请参考4.3节:振荡器的增益裕量) ● 选择一个晶振(参考MCU的数据手册确定晶振的频率) ● 计算晶振的增益裕量(Gainmargin)并检查其是否大于5: 如果Gainmargin < 5,说明这不是一个合适的晶振,应当再挑选一个低ESR值和/或低CL值的晶振,重新第一步。 如果Gainmargin > 5,进行第二步。
第二步:外部负载电容的计算 (请参考4.2节:负载电容CL) 计算CL1和CL2的值,并检查标定为该计算值的电容是否能在市场上获得。 ● 如果能找到容值为计算值的电容,则晶振可以在期望的频率正常起振。然后转到第三步。 ● 如果找不到容值为计算值的电容: ─ 该应用对频率要求很高,你可使用一个可变电容并将其调整到计算值,然后转到第三步。 ─ 如果对频率的要求不是特别苛刻,选择市场上能获得的电容中容值距计算值最近的电容,然后转到第三步。
第三步:驱动级别及外部电阻的计算 (请参考4.4节:驱动级别DL外部电阻RExt计算) ●计算驱动级别DL并检查其是否大于DLcrystal: ─如果DL < DLcrystal,没必要使用外部电阻,祝贺你,你找到了合适的晶振。 ─如果DL > DLcrystal,你应该计算RExt使其确保DL< DLcrystal并据此重新计算Gainmargin。 如果Gainmargin> 5,祝贺你,你找到了合适的晶振。 如果Gainmargin< 5,你别无选择,再重新挑选另外一个晶振吧。然后重新回到第一步。
六、PCB设计
外部杂散电容和电感要控制在一个尽可能小的范围内,从而避免晶振进入非正常工作模式或引起起振不正常等问题。 另外,振荡器电路旁边要避免有高频信号经过。
走线长度越短越好。
接地平面用于信号隔离和减少噪声。例如:在晶振的保护环(译注:(Guard ring),指器件或走线外围成一圈用于屏蔽干扰的导线环,一般要求理论上没有电流从该导线环上经过)下直接敷地有助于将晶振和来自其他PCB层的噪声隔离开来。要注意接地平面要紧临晶振但只限于晶振下面,而不要将此接地平面敷满整个PCB板。
像下图所示来布地线是一个好的作法。这种布线方法将振荡器的输入与输出隔离开来,同时也将振荡器和临近的电路隔离开来。所有的VSS过孔不是直接连到地平面上(除晶振焊盘之外),就是连接到终端在CL1和CL2下方的地线上。
在每一对VDD与VSS端口上连接去藕电容来平滑噪声。 推荐的晶振布线电路 注意: 仅当晶振上的功耗超过晶振制造商给定的值,REXT才是必需的。否则,REXT的值应当是0(请参考4.4节:驱动级别DL外部电阻RExt计算)。