几乎所有使用MCU的产品,外围电路都离不开晶振电路设计,大多数电子设计人员从入门开始都会接触到晶振电路,但实际上,很少有人真正了解晶振电路是如何工作的,在晶振出现问题之前,多数人不会付出太多精力去关注振荡器电路设计是否合理,通常等到产品量产,由于晶振而导致的大面积宕机现象时,才开始注意到晶振电路设计是否合理。
晶振的全称叫:石英晶体振荡器。是利用石英晶体的压电效应厂商高精度振荡频率的一种电子元件。查看维基百科,对于这种神奇的材料具体的讲解是:
晶体是指其中的原子、分子、或离子以规则、重复的模式朝各方向延伸的一种固体。晶体与几乎所有的弹性物质都具有自然共振频率,透过适当的传感器可加以利用。共振频率取决于晶体的尺寸、形状、弹性、与物质内的音速。高频用的晶体通常是切成简单的形状,如方形片状。运用石英晶体上的电极对一颗被适当切割并安置的石英晶体施以电场时,晶体会产生变形。这就是逆压电效应。当外加电场移除时,石英晶体会恢复原状并发出电场,因而在电极上产生电压。这样的特性造成石英晶体在电路中的行为,类似于某种电感器、电容器、与电阻器所组合成的RLC电路。组合中的电感电容谐振频率则反映了石英晶体的实体共振频率。
石英晶体等效模型:
Cp:等效电路中与串联臂并接的电容(译注:也叫并电容,静电电容,其值一般仅与晶振的尺寸有关)。
Ls:(动态等效电感)代表晶振机械振动的惯性。
Cs:(动态等效电容)代表晶振的弹性。
了解晶振电路的设计,首先你要熟悉Pierce(皮尔斯)振荡器电路。该模型电路简单,工作有效而且稳定,因此现今几乎所有的晶振电路设计都采用这个模型。如下,该设计包含一个反相器、一个电阻、一个石英晶体、两个小电容。石英晶体在此扮演高选择度的滤波元件:
Inv:内部反相器器,作用等同于放大器。
Q:石英或陶瓷晶振。
Rf:内部反馈电阻(译注:它的存在使反相器工作在线性区, 从而使其获得增益,作用等同于放大器)。
RExt:外部限流电阻。
CL1和CL2:两个外部负载电容。
Cs:由于PCB布线及连接等寄生效应引起的等效杂散电容(OSC_IN和OSC_OUT管脚上)
接下来,我们重点关注内部反馈电阻Rf、负载电容Cl、外部限流电阻Rext——
反馈电阻Rf
皮尔斯振荡器中,连接晶振的芯片内部是一个线性的运算放大器,由于运算放大器的电压增益非常大,范围从数百到数万倍不等,因此通常使用运算放大器会将输出端与反向输入端连接形成一个负反馈组态(即闭环放大器)。皮尔斯振荡器中的反馈电阻Rf可以看成是反相器的偏压电阻,可以令反相器工作在线性区域而不至于由于增益过大而工作在完全导通或截止的状态。
大多数情况下,Rf是内嵌在芯片内部中,但不排除有些芯片的设计并未内嵌这个电阻,因此在这种情况下,你会看到有些晶振电路的外部并联着一个电阻。不同频率对应的反馈电阻参考值:
负载电容CL
负载电容指连接到晶振上的终端电容,该终端电容包括:外部电容CL1和CL2、印刷电路板上的杂散电容(Cs)。CL的值是晶振本身决定,供应商会在规格书中给出,当晶振外部等效电容等于负载电容CL时,无源晶振输出的频率准确。
CL=(CL1//CL2)+CS
即:CL=[(CL1xCL2)/(CL1+CL2)]+CS
需要注意的是:电容具有充放电的功能,电容容值越大,放电越慢,电容容值越小,放电越快。因此实际调试中,如果测得的实际频率比理论值偏小,说明振荡器振荡频率偏慢,电容的放电太慢,等效电容大于负载电容,需要降低外部的匹配电容
外部电阻Rext
在开始阐释外部电阻之前,我们需要再了解两个概念:振荡器增益余量gain、驱动级别DL——
增益余量gain:表征振荡电路的放大能力
驱动级别DL:表征晶振的驱动功耗
早在1988年, Eric Vittoz发表了晶振RLC动态等效电路的相关理论研究,基于前人的理论,反相器跨导gm必须大于gmcrit才能满足起振条件,为保证可靠性,还必须满足至少5倍的关系;即:gmargin = gm / gmcrit
其中,gmcrit = 4 x ESR x (2πF)2 x (C0 + CL)2,ESR、C0、CL都可以从晶振规格书中获取,gm从芯片规格书中获得;
驱动级别DL描述的是晶振的功耗,晶振的功耗必须限制在一定范围内,否则石英晶体可能会由于过度机械振动而导致不能正常工作。
DL = ESR x I2,其中ESR为晶振的等效串联电阻,I为流过晶振的电流的均方根有效值;
你必须让DL值小于晶振规格书中限定的DL值,如果实际DL值较高,则需要Rext电阻对驱动功率进行限制。
对于I的测量需要电流探头进行测量,而且由于驱动电流一般比较小,因此需要1mA/mV档,实际操作中,你可能并没有分辨率这么高的电流探头,那么你可以通过观测晶振引脚输出波形的形状进行确认,具体方法我们在下面讲。
当你能耐心看到这里,对于晶振设计的基础概念、计算已经都了解过,接下来,可以搬上我们终的晶振设计步骤:
步:增益余量的计算
gmcrit = 4 x ESR x (2πF)2 x (C0 + CL)2,ESR、C0、CL都可以从晶振规格书中获取,gm从芯片规格书中获得;gmargin = gm / gmcrit ,
若gmargin《5,说明这不是一个合格的晶振,你该去挑选一个更低ESR或CL值的晶振;
若gmargin》5,进行第二步;
第二步:外部负载电容计算
CL=(CL1//CL2)+CS
即:CL=[(CL1xCL2)/(CL1+CL2)]+CS
CL为晶振规格书给出的负载电容,CL1,CL2为所要计算的外部电容,CS为杂散电容(可粗略使用4pf进行计算)