AN2867ST振荡器设计指导_第1页
AN2867ST振荡器设计指导_第2页
AN2867ST振荡器设计指导_第3页
AN2867ST振荡器设计指导_第4页
AN2867ST振荡器设计指导_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AN2867Application noteOscillator design guide for ST microcontrollers简介:大部分设计人员对振荡器(Pierce-Gate topology 皮尔斯门结构)都很熟悉,但真的明白它是如何工作的人并不多,更甭提设计一个合适的振荡器了。实际上,很多设计人员并未真正关注过振荡器的设计,直到他们发现振荡器不正常运行了(通常这时产品已经投产了)。这本是不应该发生的。许多系统、工程项目的拖延就仅仅是因为一个振荡器没有工作在预计的状态上。振荡器应该在产品设计阶段就得到足够的重视,并且最好是在投产之前。这样设计人员才可能避免大批产品被退回来返修

2、那噩梦样的场景。本应用笔记将介绍皮尔斯(Pierce)振荡器的基本原理,并为如何设计一个优良的振荡器提供指导。同时也会说明如何选取不同的外围元件,并就怎样为振荡器设计一个优良的PCB提供指导。本文档的最后部分就如何选取合适的晶体和外围元件提供一个简单的指导,并列出一些为STM32和STM8A/S推荐的晶体型号(HSE和LSE),以方便快速开始一个设计。1. 石英晶体的特性和模型(Quartz crystal properties and model)石英晶体是一种压电器件,它能够实现电能和机械能的互相转换。这个转换发生在谐振频率处。石英晶体的等效模型如下:Figure 1. Quartz cr

3、ystal modelC0:代表电极引入的并联电容Lm:(振荡电感)代表晶体的振荡量Cm:(振荡电容)代表晶体的振荡弹性Rm:(振荡电阻)代表电流损耗晶体的阻抗计算式如下:(假设Rm是可以忽略的)图2是晶体在频域内的阻抗曲线。Figure 2. Impedance representation in the frequency domainFs是晶体在Z=0时的串联谐振频率。它的表达式可以从等式(1)中推导出来:Fa是反谐振频率,此时的Z趋于无穷大。从等式(1)中可以推导出它的表达式为:由Fs和Fa界定的区域被称作为并联谐振区域(图2中的阴影部分)。在这段区域内,晶体工作在并联谐振状态下,其表

4、现像一个电感,会在环路中增加180度的相移。它的频率Fp(或FL:负载频率)的表达式如下:从等式4中可以看出,晶体的振荡频率能够通过使用不同的负载电容CL进行调校。这也就是为什么晶体制造商会在他们的晶体数据手册内指明晶体振荡在标定的频率上时所需要的精确的负载电容CL值。表1给出了一个标定为8MHz的晶体,其等效电路元件值的例子。表1 等效电路的参数的例子通过等式(2)、(3)、(4)我们可以算出这个晶体的Fs,Fa,Fp:Fs = 7988768 Hz,Fa = 8008102 Hz如果该晶体电极上的负载电容CL等于10pF,则该晶体将振荡在如下的频率上:Fp = 7995695 Hz如果要精

5、确的得到8MHz的振荡频率,则CL应等于4.02pF。2. 振荡器理论一个振荡器包含一个放大器和一个提供选频的反馈网络。图3是这个基本原理的框图:图3 振荡器原理 A(f) 是放大器的复转移函数(complex transfer function),为保持振荡器的振荡提供能量。 B(f) 是反馈的复转移函数(complex transfer function),用来设置振荡器的频率。为了能够振荡,必须要满足以下Barkhausen条件:闭环增益大于1;总相移为360度。即:启动振荡器需要有一个初始的电能量。上电的瞬间以及噪声都可以提供这种能量。但是,这个能量必须足够大到可以触发振荡器振荡在设计

6、的频率上。数学表达式为:这个表达式意味着开环增益必须远大于1。振荡器达到稳定所需要的时间就取决于这个开环增益。满足了振荡条件并不足以解释晶体振荡器为什么可以起振。实际上,之所以能够起振,是因为在满足了振荡条件后,那个放大器是非常不稳定的,从正反馈网络中引入的任何一点干扰都会导致放大器的失稳并导致起振。这个干扰可以归因于一个上电,一个使能电平的跳变,或者是晶体的热噪声,等等。另外值得注意的是,只有落在串-并频率范围内的噪声能够被放大(译注:“串-并频率范围”是指图2中Fa到Fs之间的频率)。这表示能够触发振荡的频率范围是很小的,这也就解释了为什么晶体振荡器需要如此长的时间才能启动。3. 皮尔斯振

7、荡器(Pierce oscillator)皮尔斯振荡器(Pierce oscillator)在各种应用中使用的非常普遍,因为它功耗低,成本低,并且稳定性好。图4 皮尔斯振荡器(Pierce oscillator)电路Inv:内部的反向器,作为放大器来工作。Q:石英晶体或者陶瓷谐振器。RF:内部反馈电阻。RExt:外部电阻,用于限制反向器的输出电流。CL1 和CL2:两个外部负载电容。Cs:MCU引脚(OSC_IN和OSC_OUT)间和PCB线路上的杂散电容,它是一个并联电容。4. 皮尔斯振荡器的设计(Pierce oscillator design)本章讲解各种限定因素,以及如何为它们取值,进

8、一步熟悉皮尔斯振荡器(Pierce oscillator)的设计。4.1 反馈电阻RF(Feedback resistor RF)在大多数的ST微控制器中,RF是嵌入在振荡器电路内部的,它的作用是使反向器作为放大器工作。该反馈电阻被并接在Vin和Vout上,这样就使放大器的Vout = Vin,从而强制它运行在线性区内(图5中的阴影区域)。放大器会把处于串-并频率范围(Fa,Fs)(译注:原文为(Fa, Fa),应是有误)内的噪声放大(例如,晶体的热噪声)。这个噪声会引发振荡器起振。在某些情况下,当振荡器的振荡稳定后将RF移走,振荡器仍可以继续正常的运行。图5 反向器的转移函数表2是RF的典型

9、值。表2 在给定的频率下的典型RF值4.2 负载电容CL (Load capacitor CL)负载电容是指与晶体振荡器相连的电路中的所有电容。它的值取决于外接电容CL1、CL2,以及PCB和连接点上的杂散电容(Cs)。负载电容CL由晶体制造商指定。值得注意的是,若要得到精确的频率,振荡器电路的负载电容必须与所需要的值相等;若要频率保持稳定,则负载电容必须稳定。外接电容CL1和CL2就是为了把负载电容调校为制造商所指定的CL值。下面的等式给出了负载电容CL的表达式:下面举一个例子说明外接电容CL1、CL2的值的计算:假设某晶体的负载电容CL值为15pF,且Cs=5pF,则:4.3 振荡器的增益

10、裕量(Gain margin of the oscillator)增益裕量是一个关键参数,它决定着振荡器是否能够起振。它的表达式是:其中, gm 是反向器的跨导(在高频模块中的单位是mA/V,在32KHz低频模块中的单位是A/V) gmcrit(gm 的临界值),取决于晶体的参数。假设CL1 = CL2,并且晶体上的负载电容与制造商的给定值完全一样,则gmcrit可用下式来表示:,式中ESR的意思是等效串联电阻(equivalent series resistor)根据Eric Vittoz理论:晶体动态的等效RLC电路的阻抗由放大器和两个外接电容的阻抗作补偿。由此理论,反向器的跨导(gm)的

11、值必须满足gm gmcrit,这是振荡器能够正常运行的必要条件。通常认为,增益裕量值为5是保证振荡器有效起振的最小值。举个例子,为某微控制器中gm值为25 mA/V的振荡器做设计时,我们选择了具有以下特性的石英晶体:frequency = 8 MHz,C0 = 7 pF,CL = 10 pF,ESR = 80,问此晶体是否可以用于此微控制器?我们首先计算一下gmcrit,然后计算gainmargin,可见,gainmargin值远大于5,满足起振条件,能够起动振荡器。晶体能够正常振荡。如果计算后发现gainmargin值不合适(增益裕量gainmargin值小于5),则达不到振荡条件,晶体将不

12、能振荡。这时你只能再选择一个有更低ESR和/或有更低CL值的晶体了。4.4 驱动功率和外接电阻的计算(Drive level DL and external resistor RExt calculation)驱动功率与外接电阻紧密相关,因此在本章中将两者一并讨论。4.4.1 计算驱动功率(Calculating drive level DL)驱动功率就是指晶体内消耗的功率。它必须被限制在一定范围内,否则晶体会因过度的机械振动而损坏。最大驱动功率由晶体制造商指定,单位通常用mW。超过指定的驱动功率,可能会导致晶体损坏。驱动功率可以用这个表达式来表示:其中, ESR是等效串联电阻(由制造商指定)

13、。 IQ是流过晶体的电流的有效值(均方根)。流过晶体的电流可以通过示波器观测到,它是一个正弦曲线。电流值可以通过测量峰-峰值(IPP)读出。如果使用电流探针(如图6所示),示波器上电压网格的尺度就可以转换为1mA/1mV 。图6 使用电流探针测量驱动电流由前面所述的可知,在用电位计调节流过晶体的电流时,电流值不可以超过IQmax的有效值(均方根)(假设流过晶体的电流是完全正弦的)。由此,可以反推出IQmax:(译注:IQmaxPP为正弦波的峰-峰值,为求有效值IQmax,需先将峰-峰值除以2,再除以 2 。交流电有效值的推导过程:原理是总功耗相等,即W=P*t=U2R*t,假设电阻R=1,单位

14、正弦电压峰值为1V,对正弦电压求平方,再求其周期内的积分得W=0sin2t2-120cos2t=2U2R*=U2*,得到U=12。) 流过晶体的电流值(从示波器上读到的峰-峰值)不可以超过最大峰-峰值电流IQmaxPP,由上式可以得到其最大值为:因此,当实际电流IQ超过了IQmaxPP时,需要加上一个外接电阻RExt(参考4.4.3节)。这时该电阻是电路中不可缺少的一部分,相应地,在计算IQmax的表达式中会增大那个ESR的值。4.4.2 另一种测量驱动功率的方法(Another drive level measurement method)驱动功率可以按下式计算:其中,IQRMS是交流电流的

15、有效值(均方根)。电流值可以通过使用一个低电容值(不大于1pF)的示波器探针测量放大器输入端的电压波形计算得出。因为相对于CL1而言,流入放大器的电流稍不足道,所以我们可以假设流过晶体的电流等于流过CL1的电流。因此,这一点上的电压有效值(均方根)与电流有效值(均方根)的关系为:(译注:电容阻抗z=1/(2*pi*F*C);所以电流IV/z可推出上式。)其中, F 为晶振的频率 其中,Vpp是CL1上的电压峰峰值 Ctot = CL1 + (Cs/2) + Cprobe,其中: CL1 是放大器输入端的外接负载电容 Cs 是杂散电容 Cprobe是探针电容因此可以按下式计算驱动功率DL:该DL

16、值必须小于晶体制造商指定的驱动功率值。4.4.3 计算外接电阻RExt (Calculating external resistor RExt)这个电阻的作用是限制晶体的驱动功率。它和CL2一起构成了一个低通滤波器,强制振荡器工作在基波频率上,而不是其他高次谐波(防止振荡器振荡在3,5,7倍的基波频率上)。如果晶体上的功率耗散大于制造商的指定值,则外接电阻RExt是必须的,以避免晶体被过驱动;如果晶体上的功率耗散小于制造商的指定值,则不建议加入外接电阻RExt,或者它的值为0。可以通过计算由RExt/CL2构成的分压来估算外接电阻RExt的初始值。即令RExt等于CL2的容抗。如下:例如,假设

17、: 振荡频率 F = 8 MHz CL2 = 15 pF则可以算出RExt的值为1326。推荐使用下面的方法优化外接电阻RExt:先以之前介绍的方法选择CL1和CL2,然后在RExt的位置初始放置一个值等于CL2的容抗的分压电阻。然后不断微调这个分压电阻的值,直到得到符合要求的输出和驱动功率。注意:在计算完RExt的值以后,建议重新计算增益裕量(参考4.3节,振荡器的增益裕量)以确保增加的电阻不会影响振荡器的起振条件。也就是说,gmcrit表达式中的ESR还要加上RExt,并且依然要满足gm gmcrit的条件:注:如果RExt太低,晶振上就没有功率耗散;如果如果RExt太高,就不会产生振荡,

18、因为不满足起振条件。(原文:If RExt is too low, there is no power dissipation in the crystal. If RExt is too high, there is no oscillation: the oscillation condition is not reached.译注:这句话想表达的意思没弄明白。貌似是原文档写错/反了吧。推测它想表达的实际意思应该是Rext阻值越大越好,可有效防止晶振被过驱动,但太大会导致Gmargin过小,不能起振。)4.5启动时间(Startup time)这是振荡器从开始起振到振荡稳定的时间。石英谐振

19、器的启动时间要比陶瓷谐振器的长。启动时间取决于:外接电容CL1和CL2;晶体的振荡频率,频率越高启动时间越短;所选用的晶体类型,相比较而言,石英谐振器的启动时间远长于陶瓷谐振器。启动问题通常可归因于增益裕量(如前面所述的那样),与之相关的是CL1和CL2过小或过大,或者是ESR太大了。一个MHz级的晶体,启动时间一般是ms级。32kHz晶体的启动时间一般在1-5s范围内。4.6 晶体牵引度(pullability)晶体牵引度(Pullability)是指在通常的并联谐振应用中晶体频率的改变。它也是对晶体在负载电容按指定规律变化时所对应的频率变化的一个测量。负载电容减小会导致频率增大;相反的,负

20、载电容增大会导致频率减小。晶体牵引度(Pullability)可用下式表示:5. 轻松选择合适晶体和外围器件的指导(Easy guideline for the selection of suitable crystal and external components)本章给出了选择合适晶体和外围器件的推荐流程。整个流程可分解为三个步骤:步骤一:计算增益裕量。(请参考4.3节:振荡器的增益裕量) 选择一个晶体,然后找到控制器的参考手册(选择晶体+微控制器数据手册)计算微控制器中振荡器的增益裕量,查看它是否比5大:如果增益裕量小于5,该晶体不合适,再选择其他具有较低ESR或/和有较低CL的晶体,

21、然后重复步骤一。如果增益裕量大于5,进入步骤二。步骤二:计算外接负载电容。(请参考4.2节:负载电容CL)计算CL1和CL2,查看是否能够在市场上买到它们: 如果你能买到与你的计算值完全一样的电容,振荡器就会工作在预期的频率上,你可以进入步骤三了。 如果你没有买到那个值的电容,并且: 频率精度对你而言非常关键,你可以使用一个可调电容以获得精确的值。然后你可以进入步骤三了。 你对频率精度的要求并不严格,就选择一个在市场上能买到的值最接近的电容,然后进入步骤三。步骤三:计算驱动功率和外接电阻。(请参考4.4节:驱动功率和外接电阻的计算) 计算DL,然后比较它与DLcrystal谁大谁小: 如果DL

22、 DLcrystal,你应该再计算RExt以满足DL 5,恭喜你,你找到了一个合适的晶体!如果增益裕量太小,这个晶体将不能正常工作,你只能再重新选择一个晶体了。回到步骤一,选择一个新的晶体吧。6. 推荐一些适合STM32 MCU用的晶体(略)7. 推荐一些适合STM8 MCU用的晶体(略)8. 一些PCB的提示(Some PCB hints)1. 必须避免引入过多的杂散电容和电感,因为它们可能会使振荡器进入到非预期的状态,并产生启动问题。高频信号尽量不要靠近振荡器电路。2. 尽可能地缩短布线长度。3. 使用地平面隔离信号,减少噪声。例如在最靠近晶振保护环路(译注:指器件或走线外围成一圈用于屏蔽干扰的导线环,一般要求理论上没有电流从该导线环上经过)的另一个板层上铺设一层本地地平面,可有效防止晶振与其他PCB板层产生不希望的耦合(串扰)。应当注意的是,这个本地地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论