当前位置:文档之家› AN2867_ST微控制器振荡器电路设计指南

AN2867_ST微控制器振荡器电路设计指南

AN2867Application noteOscillator design guide for ST microcontrollers简介:大部分设计人员对振荡器(Pierce-Gate topology 皮尔斯门结构)都很熟悉,但真的明白它是如何工作的人并不多,更甭提设计一个合适的振荡器了。

实际上,很多设计人员并未真正关注过振荡器的设计,直到他们发现振荡器不正常运行了(通常这时产品已经投产了)。

这本是不应该发生的。

许多系统、工程项目的拖延就仅仅是因为一个振荡器没有工作在预计的状态上。

振荡器应该在产品设计阶段就得到足够的重视,并且最好是在投产之前。

这样设计人员才可能避免大批产品被退回来返修那噩梦样的场景。

本应用笔记将介绍皮尔斯(Pierce)振荡器的基本原理,并为如何设计一个优良的振荡器提供指导。

同时也会说明如何选取不同的外围元件,并就怎样为振荡器设计一个优良的PCB提供指导。

本文档的最后部分就如何选取合适的晶体和外围元件提供一个简单的指导,并列出一些为STM32和STM8A/S推荐的晶体型号(HSE和LSE),以方便快速开始一个设计。

1.石英晶体的特性和模型(Quartz crystal propertiesand mod el)石英晶体是一种压电器件,它能够实现电能和机械能的互相转换。

这个转换发生在谐振频率处。

石英晶体的等效模型如下:Figure 1. Quartz crystal modelC0:代表电极引入的并联电容L m:(振荡电感)代表晶体的振荡量C m:(振荡电容)代表晶体的振荡弹性R m:(振荡电阻)代表电流损耗晶体的阻抗计算式如下:(假设R m是可以忽略的)图2是晶体在频域内的阻抗曲线。

Figure 2. Impedance representation in the frequency domainF s是晶体在Z=0时的串联谐振频率。

它的表达式可以从等式(1)中推导出来:F a是反谐振频率,此时的Z趋于无穷大。

从等式(1)中可以推导出它的表达式为:由Fs和Fa界定的区域被称作为并联谐振区域(图2中的阴影部分)。

在这段区域内,晶体工作在并联谐振状态下,其表现像一个电感,会在环路中增加180度的相移。

它的频率Fp(或F L:负载频率)的表达式如下:从等式4中可以看出,晶体的振荡频率能够通过使用不同的负载电容C L进行调校。

这也就是为什么晶体制造商会在他们的晶体数据手册内指明晶体振荡在标定的频率上时所需要的精确的负载电容C L值。

表1给出了一个标定为8MHz的晶体,其等效电路元件值的例子。

表1 等效电路的参数的例子通过等式(2)、(3)、(4)我们可以算出这个晶体的Fs,Fa,Fp:Fs = 7988768 Hz,Fa = 8008102 Hz如果该晶体电极上的负载电容C L等于10pF,则该晶体将振荡在如下的频率上:Fp = 7995695 Hz如果要精确的得到8MHz的振荡频率,则C L应等于4.02pF。

2.振荡器理论一个振荡器包含一个放大器和一个提供选频的反馈网络。

图3是这个基本原理的框图:图3 振荡器原理●A(f) 是放大器的复转移函数(complex transfer function),为保持振荡器的振荡提供能量。

●B(f) 是反馈的复转移函数(complex transfer function),用来设置振荡器的频率。

为了能够振荡,必须要满足以下Barkhausen条件:闭环增益大于1;总相移为360度。

即:启动振荡器需要有一个初始的电能量。

上电的瞬间以及噪声都可以提供这种能量。

但是,这个能量必须足够大到可以触发振荡器振荡在设计的频率上。

数学表达式为:这个表达式意味着开环增益必须远大于1。

振荡器达到稳定所需要的时间就取决于这个开环增益。

满足了振荡条件并不足以解释晶体振荡器为什么可以起振。

实际上,之所以能够起振,是因为在满足了振荡条件后,那个放大器是非常不稳定的,从正反馈网络中引入的任何一点干扰都会导致放大器的失稳并导致起振。

这个干扰可以归因于一个上电,一个使能电平的跳变,或者是晶体的热噪声,等等。

另外值得注意的是,只有落在串-并频率范围内的噪声能够被放大(译注:“串-并频率范围”是指图2中Fa到Fs之间的频率)。

这表示能够触发振荡的频率范围是很小的,这也就解释了为什么晶体振荡器需要如此长的时间才能启动。

3.皮尔斯振荡器(Pierce oscillator)皮尔斯振荡器(Pierce oscillator)在各种应用中使用的非常普遍,因为它功耗低,成本低,并且稳定性好。

图4 皮尔斯振荡器(Pierce oscillator)电路Inv:内部的反向器,作为放大器来工作。

Q:石英晶体或者陶瓷谐振器。

R F:内部反馈电阻。

R Ext:外部电阻,用于限制反向器的输出电流。

C L1和C L2:两个外部负载电容。

Cs:MCU引脚(OSC_IN和OSC_OUT)间和PCB线路上的杂散电容,它是一个并联电容。

4.皮尔斯振荡器的设计(Pierce oscillator design)本章讲解各种限定因素,以及如何为它们取值,进一步熟悉皮尔斯振荡器(Pierce oscillator)的设计。

4.1 反馈电阻RF(Feedback resistor RF)在大多数的ST微控制器中,R F是嵌入在振荡器电路内部的,它的作用是使反向器作为放大器工作。

该反馈电阻被并接在Vin和V out上,这样就使放大器的V out = Vin,从而强制它运行在线性区内(图5中的阴影区域)。

放大器会把处于串-并频率范围(Fa,Fs)(译注:原文为(Fa, Fa),应是有误)内的噪声放大(例如,晶体的热噪声)。

这个噪声会引发振荡器起振。

在某些情况下,当振荡器的振荡稳定后将R F移走,振荡器仍可以继续正常的运行。

图5 反向器的转移函数表2是R F的典型值。

表2 在给定的频率下的典型R F值4.2 负载电容CL (Load capacitor CL)负载电容是指与晶体振荡器相连的电路中的所有电容。

它的值取决于外接电容C L1、C L2,以及PCB和连接点上的杂散电容(Cs)。

负载电容C L由晶体制造商指定。

值得注意的是,若要得到精确的频率,振荡器电路的负载电容必须与所需要的值相等;若要频率保持稳定,则负载电容必须稳定。

外接电容C L1和C L2就是为了把负载电容调校为制造商所指定的C L值。

下面的等式给出了负载电容C L的表达式:下面举一个例子说明外接电容C L1、C L2的值的计算:假设某晶体的负载电容C L值为15pF,且Cs=5pF,则:4.3 振荡器的增益裕量(Gain margin of the oscillator)增益裕量是一个关键参数,它决定着振荡器是否能够起振。

它的表达式是:其中,●g m是反向器的跨导(在高频模块中的单位是mA/V,在32KHz低频模块中的单位是μA/V)●g mcrit(g m 的临界值),取决于晶体的参数。

假设C L1 = C L2,并且晶体上的负载电容与制造商的给定值完全一样,则g mcrit可用下式来表示:,式中ESR的意思是等效串联电阻(equivalent series resistor)根据Eric Vittoz理论:晶体动态的等效RLC电路的阻抗由放大器和两个外接电容的阻抗作补偿。

由此理论,反向器的跨导(gm)的值必须满足g m> g mcrit,这是振荡器能够正常运行的必要条件。

通常认为,增益裕量值为5是保证振荡器有效起振的最小值。

举个例子,为某微控制器中g m值为25 mA/V的振荡器做设计时,我们选择了具有以下特性的石英晶体:frequency = 8 MHz,C0 = 7 pF,C L = 10 pF,ESR = 80,问此晶体是否可以用于此微控制器?我们首先计算一下g mcrit,然后计算gain margin,可见,gain margin值远大于5,满足起振条件,能够起动振荡器。

晶体能够正常振荡。

如果计算后发现gain margin值不合适(增益裕量gain margin值小于5),则达不到振荡条件,晶体将不能振荡。

这时你只能再选择一个有更低ESR和/或有更低C L值的晶体了。

4.4 驱动功率和外接电阻的计算(Drive level DL and external resistor R Ext calculation)驱动功率与外接电阻紧密相关,因此在本章中将两者一并讨论。

4.4.1 计算驱动功率(Calculating drive level DL)驱动功率就是指晶体内消耗的功率。

它必须被限制在一定范围内,否则晶体会因过度的机械振动而损坏。

最大驱动功率由晶体制造商指定,单位通常用mW。

超过指定的驱动功率,可能会导致晶体损坏。

驱动功率可以用这个表达式来表示:其中,●ESR是等效串联电阻(由制造商指定)。

●I Q是流过晶体的电流的有效值(均方根)。

流过晶体的电流可以通过示波器观测到,它是一个正弦曲线。

电流值可以通过测量峰-峰值(I PP)读出。

如果使用电流探针(如图6所示),示波器上电压网格的尺度就可以转换为1mA/1mV 。

图6 使用电流探针测量驱动电流由前面所述的可知,在用电位计调节流过晶体的电流时,电流值不可以超过I Q max的有效值(均方根)(假设流过晶体的电流是完全正弦的)。

由此,可以反推出I Q max:(译注:I Q maxPP为正弦波的峰-峰值,为求有效值I Q max,需先将峰-峰值除以2,再除以。

交流电有效值的推导过程:原理是总功耗相等,即,假设电阻R=1Ω,单位正弦电压峰值为1V,对正弦电压求平方,再求其周期内的积分得,得到。

)流过晶体的电流值(从示波器上读到的峰-峰值)不可以超过最大峰-峰值电流I Q maxPP,由上式可以得到其最大值为:因此,当实际电流I Q超过了I Q maxPP时,需要加上一个外接电阻R Ext(参考4.4.3节)。

这时该电阻是电路中不可缺少的一部分,相应地,在计算I Q max 的表达式中会增大那个ESR的值。

4.4.2 另一种测量驱动功率的方法(Another drive level measurement method)驱动功率可以按下式计算:其中,I QRMS是交流电流的有效值(均方根)。

电流值可以通过使用一个低电容值(不大于1pF)的示波器探针测量放大器输入端的电压波形计算得出。

因为相对于C L1而言,流入放大器的电流稍不足道,所以我们可以假设流过晶体的电流等于流过C L1的电流。

因此,这一点上的电压有效值(均方根)与电流有效值(均方根)的关系为:(译注:电容阻抗z=1/(2*pi*F*C);所以电流I=V/z可推出上式。

相关主题