自从我开始用CW32系列MCU之后,基本上就没有碰到过使用外置晶振的情况,CW32的内部时钟源的精度已经能满足我绝大多数项目的需求了,最近有个新项目,对时钟要求极高,不得不使用外部时钟源,这里我评估了一下,无源晶振即可满足。 本着严肃认真的工作态度,不可按以往“天下文章一大抄”的思路Ctrl CV对应的电路。还是要正向设计,想明白为何如此设计。很多工程师往往不太关注晶体振荡电路的设计,这里面还是有很多坑在内,如果电路器件选型不合理,就会出现晶振工作不正常的情况,比如存在频率偏差、甚至是不起振。
想要深入了解MCU的晶振电路的设计,行业内比较有名的应用笔记是AN2867,我也在这里简单的分享一下我的经验:
一、晶振电路
晶振电路往往由几个元器件构成:晶体本身、匹配电容、并联电阻、外部限流电阻。
外部限流电阻不常见、尤其是低速晶振更是不需要,因为其本身ESR就很大了。
以常用的8M无源晶振为例,市面上常见的型号,其负载电容CL 有12pF 20pF 有些厂商还支持or specify定制CL,所以在开始选择使用外部晶振时,要先确定好具体使用的晶振的CL,以便更好的设计匹配电容,两个匹配电容CL1、CL2的计算公式:
其中Cs是PCB和走线、引脚上的杂散/寄生电容,一般约为几个pF。CL1=CL2。
如果电阻不匹配,就会存在频率偏差。
像AN2867文档中,还会要求关注晶振的DL参数,但目前绝大多MCU
通常8MHz晶振的DL在100uW左右,
以CW32F030的HSE为例,其IDD几百uA@3.3V,功率远大于晶振所需DL。所以基本上现在MCU的晶振电路上很少能看到串联限流电阻了。
二、为什么一些电路中会有1MΩ的阻抗匹配电阻
这应该算是十几年前,国产晶振工艺差遗留下来的问题,现在国产MCU基本上不用考虑绘制这个电阻,但还是有必要了解其原因、原理,这对于理解规范设计流程对晶振顺利起振的作用。
大家如果有接触过S*M32F103的开发板,或许有见到过其晶振电路上的晶振并联了一个1MΩ的电阻,十几年前,其IC设计时,设计团队参考使用的晶振参数来源于日系主流产品,当时日系晶振对比国产晶振几乎是代际领先,更低的ppm,更好的温度适应性、更好的可靠性、更高的一致性......所以,这颗MCU如果选用了当时国产晶振,往往会遇到无法起振的问题,通过并联1MΩ电阻就可以解决这个问题。
要说到为什么并联这个电阻可以解决问题。那首先要了解MCU驱动晶振的原理。
现代MCU通常以使用石英晶振来设计,在MCU内部设计有一个反相器、一个反馈电阻Rf,MCU内部与外围晶振电路一并构成皮尔斯震荡电路。
我们常说的石英晶振,严格来讲应该叫做“石英晶体谐振器”,因为它是无源器件,在电路中谐振。
前面讲的F103,其芯片内部的Rf为200KΩ,并联1MΩ的电阻,改善反馈深度(或者说改善了Rneg负阻裕量),使皮尔斯震荡电路正常工作。
从负阻裕量的这个角度来看,十几年前,日系晶振的ESR普遍在30~80Ω之间,ESR较小,且一致性高。而国产晶振往往在150Ω左右,个别甚至更高,一致性差,对MCU内部的负阻裕量设计要求要高。
从前面的图表中可以看出,CW32F030C8的HSE的Rf为1.4MΩ。
但请注意,Rf的阻值并不能直接表述皮尔斯振荡器对晶振的驱动能力,因为其值和反馈深度有关系。
三、建议推算一下振荡器的增益裕量gain_margin
由公式
|Rneg| ≈ gm / (ω² × C1 × C2)
可知:负阻裕量大,说明振荡器的跨导gm就越大。
由公式
可知:负阻裕量越大,振荡器的跨导gm就越大,振荡器的增益裕量就越大。
无源晶振有一个临界跨导gmcrit,当反相器的跨导gm>晶振的gmcrit时,才满足晶振起振的振荡条件 ,gmcrit满足公式:
C0为晶振的静态电容。
虽然一般晶振的数据手册未给出具体的gmcrit,但根据其它参数可以求出。
振荡器的增益裕量gain_margin满足:
在工程应用上,这个值应当大于5,晶振电路才可保证起振稳定。
四、选用高频率晶振时应当注意晶振参数
现如今,国产晶振已非吴下阿蒙,我们在工程应用中基本上可以忽略国产晶振在一致性上带来问题的可能。
去前面理解了增益裕量gain_margin这个参数,我们验证一下,晶振参数选的不合理,起振是怎样不成功的:
我们用两个参数不同的晶振做对比,这里不做对照试验,不控制单一变量:
晶振1:24MHz,CL=20pF,C0=7pF,ESR=100Ω
晶振2:8MHz,CL=12pF,C0=2pF,ESR=150Ω
由上文公式可知:
晶振1的gmcrit1=6.63mA/V
晶振2的gmcrit2=0.297mA/V
MCU的gm典型值在25mA/V,所以晶振1可能无法正常起振,晶振2没有问题。
扫码加入QQ群3群| 610403240
309