几乎所有使用 MCU 的产品,外围电路都离不开晶振电路设计,大多数电子设计人员从入门开始都会接触到晶振电路,但实际上,很少有人真正了解晶振电路是如何工作的,在晶振出现问题之前,多数人不会付出太多精力去关注振荡器电路设计是否合理,通常等到产品量产,由于晶振而导致的大面积宕机现象时,才开始注意到晶振电路设计是否合理。
晶振的全称叫:石英晶体振荡器。是利用石英晶体的压电效应厂商高精度振荡频率的一种电子元件。查看维基百科,对于这种神奇的材料具体的讲解是:
晶体是指其中的原子、分子、或离子以规则、重复的模式朝各方向延伸的一种固体。晶体与几乎所有的弹性物质都具有自然共振频率,透过适当的传感器可加以利用。共振频率取决于晶体的尺寸、形状、弹性、与物质内的音速。高频用的晶体通常是切成简单的形状,如方形片状。运用石英晶体上的电极对一颗被适当切割并安置的石英晶体施以电场时,晶体会产生变形。这就是逆压电效应。当外加电场移除时,石英晶体会恢复原状并发出电场,因而在电极上产生电压。这样的特性造成石英晶体在电路中的行为,类似于某种电感器、电容器、与电阻器所组合成的 RLC 电路。组合中的电感电容谐振频率则反映了石英晶体的实体共振频率。
石英晶体等效模型:
Cp:等效电路中与串联臂并接的电容(译注:也叫并电容,静电电容,其值一般仅与晶振的尺寸有关)。
Ls:(动态等效电感)代表晶振机械振动的惯性。
Cs:(动态等效电容)代表晶振的弹性。
Rs:(动态等效电阻)代表电路的损耗
了解晶振电路的设计,首先你要熟悉 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)² x (C0 + CL)²,ESR、C0、CL 都可以从晶振规格书中获取,gm 从芯片规格书中获得;
驱动级别 DL 描述的是晶振的功耗,晶振的功耗必须限制在一定范围内,否则石英晶体可能会由于过度机械振动而导致不能正常工作。
DL = ESR x I²,其中 ESR 为晶振的等效串联电阻,I 为流过晶振的电流的均方根有效值;
你必须让 DL 值小于晶振规格书中限定的 DL 值,如果实际 DL 值较高,则需要 Rext 电阻对驱动功率进行限制。
对于 I 的测量需要电流探头进行测量,而且由于驱动电流一般比较小,因此需要 1mA/mV 档,实际操作中,你可能并没有分辨率这么高的电流探头,那么你可以通过观测晶振引脚输出波形的形状进行确认,具体方法我们在下面讲。
当你能耐心看到这里,对于晶振设计的基础概念、计算已经都了解过,接下来,可以搬上我们最终的晶振设计步骤:
第一步:增益余量的计算
gmcrit = 4 x ESR x (2πF)² x (C0 + CL)²,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 进行计算)
第三步:驱动级别和外部电阻的计算
用一台示波器检测 OSC 输出脚,
如果检测到非常清晰的正弦波,且正弦波的上限值和下限值都符合时钟输入需要,则晶振未被过分驱动;那么祝贺你,你找到了合适的晶振;
如果正弦波形的波峰,波谷两端被削平,而使波形成为方形,则晶振被过分驱动。这时就需要用电阻 Rext 来防止晶振被过分驱动。判断电阻 RD 大小的最简单的方法就是串联一个微调电阻,从 0 开始慢慢调高,一直到正弦波不在被削平为止,这时的电阻值为 Rext 值。此时,由于需要串联 Rext,晶振模型的 ESR 已经发生了改变,因此你需要回到第一步计算 gmarin,如果 gmarin>5,那么你找到了合适的晶振,如果 gmarin<5,那么重新挑选另外一个晶振,重新回到第一步吧。。。
审核编辑 黄昊宇
全部0条评论
快来发表一下你的评论吧 !