一、单片机中晶振的工作原理是什么?
晶振在单片机中是必不可少的元器件,只要用到CPU的地方就必定有晶振的存在,那么晶振是如何工作的呢?
什么是晶振
晶振一般指晶体振荡器,晶体振荡器是指从一块石英晶体上按一定方位角切下的薄片,简称为晶片。
石英晶体谐振器,简称为石英晶振(Crystal oscillator),如下图椭圆物体。
而在封装内部添加IC组成振荡电路的晶体元件称为晶体振荡器。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。
晶振工作原理
石英晶体振荡器是利用石英晶体的压电效应制成的一种谐振器件,它的基本构成大致是:从一块石英晶体上按一定方位角切下薄片,在它的两个对应面上涂敷银层作为电极,在每个电极上各焊一根引线接到管脚上,再加上封装外壳就构成了石英晶体谐振器,简称为石英晶体或晶体、晶振。其产品一般用金属外壳封装,也有用玻璃壳、陶瓷或塑料封装的。
若在石英晶体的两个电极上加一电场,晶片就会产生机械变形。反之,若在晶片的两侧施加机械压力,则在晶片相应的方向上将产生电场,这种物理现象称为压电效应。
如果在晶片的两极上加交变电压,晶片就会产生机械振动,同时晶片的机械振动又会产生交变电场。
在一般情况下,晶片机械振动的振幅和交变电场的振幅非常微小,但当外加交变电压的频率为某一特定值时,振幅明显加大,比其他频率下的振幅大得多,这种现象称为压电谐振,它与LC回路的谐振现象十分相似。它的谐振频率与晶片的切割方式、几何形状、尺寸等有关。
当晶体不振动时,可把它看成一个平板电容器称为静电电容C,它的大小与晶片的几何尺寸、电极面积有关,一般约几个皮法到几十皮法。当晶体振荡时,机械振动的惯性可用电感L来等效。
一般L的值为几十豪亨到几百豪亨。晶片的弹性可用电容C来等效,C的值很小,一般只有0.0002~0.1皮法。晶片振动时因摩擦而造成的损耗用R来等效,它的数值约为100欧。
由于晶片的等效电感很大,而C很小,R也小,因此回路的品质因数Q很大,可达1000~10000。加上晶片本身的谐振频率基本上只与晶片的切割方式、几何形状、尺寸有关,而且可以做得精确,因此利用石英谐振器组成的振荡电路可获得很高的频率稳定度。
计算机都有个计时电路,尽管一般使用“时钟”这个词来表示这些设备,但它们实际上并不是通常意义的时钟,把它们称为计时器可能更恰当一点。
计算机的计时器通常是一个精密加工过的石英晶体,石英晶体在其张力限度内以一定的频率振荡,这种频率取决于晶体本身如何切割及其受到张力的大小。有两个寄存器与每个石英晶体相关联,一个计数器和一个保持寄存器。
石英晶体的每次振荡使计数器减1。当计数器减为0时,产生一个中断,计数器从保持寄存器中重新装入初始值。这种方法使得对一个计时器进行编程,令其每秒产生60次中断(或者以任何其它希望的频率产生中断)成为可能。每次中断称为一个时钟嘀嗒。
晶振在电气上可以等效成一个电容和一个电阻并联再串联一个电容的二端网络,电工学上这个网络有两个谐振点,以频率的高低分其中较低的频率为串联谐振,较高的频率为并联谐振。
由于晶体自身的特性致使这两个频率的距离相当的接近,在这个极窄的频率范围内,晶振等效为一个电感,所以只要晶振的两端并联上合适的电容它就会组成并联谐振电路。
这个并联谐振电路加到一个负反馈电路中就可以构成正弦波振荡电路,由于晶振等效为电感的频率范围很窄,所以即使其他元件的参数变化很大,这个振荡器的频率也不会有很大的变化。
晶振有一个重要的参数,那就是负载电容值,选择与负载电容值相等的并联电容,就可以得到晶振标称的谐振频率。
一般的晶振振荡电路都是在一个反相放大器的两端接入晶振,再有两个电容分别接到晶振的两端,每个电容的另一端再接到地,这两个电容串联的容量值就应该等于负载电容,请注意一般IC的引脚都有等效输入电容,这个不能忽略。
一般的晶振的负载电容为15皮或12.5皮,如果再考虑元件引脚的等效输入电容,则两个22皮的电容构成晶振的振荡电路就是比较好的选择。
二、在MCU晶体两边各接一对地电容的原因
很多MCU开发者对MCU晶体两边要各接一个对地电容的做法表示不理解,因为这个电容有时可以去掉。参考很多书籍,却发现书中讲解的很少,提到最多的往往是:对地电容具稳定作用或相当于负载电容等,都没有很深入地去进行理论分析。
另外一方面,很多爱好者都直接忽略了晶体旁边的这两个电容,他们认为按参考设计做就行了。但事实上,这是MCU的振荡电路,又称“三点式电容振荡电路”,如下图所示。
MCU三点式电容振荡电路
其中,Y1是晶体,相当于三点式里面的电感;C1和C2是电容,而5404和R1则实现了一个NPN型三极管(大家可以对照高频书里的三点式电容振荡电路)。
接下来将为大家分析一下这个电路
首先,上面电路图中5404必须搭一个电阻,不然它将处于饱和截止区,而不是放大区,因为R1相当于三极管的偏置作用,能让5404处于放大区域并充当一个反相器,从而实现NPN三极管的作用,且NPN三极管在共发射极接法时也是一个反相器。whaoの开发板商城aiot物联网设备
其次将用通俗的方法为大家讲解一下这个三点式振荡电路的工作原理。
众所周知,一个正弦振荡电路的振荡条件为:系统放大倍数大于1,这个条件较容易实现;但另一方面,还需使相位满足360°。而问题就在于这个相位:由于5404是一个反相器,因此已实现了180°移相,那么就只需C1、C2和Y1再次实现 180°移相就可以了。恰好,当C1、C2和Y1形成谐振时,就能实现180移相;最简单的实现方式就是以地作为参考,谐振的时候,由于C1、C2中通过的电流相同,而地则在C1、C2之间,所以恰好电压相反,从而实现180移相。
再则,当C1增大时,C2端的振幅增强;当C2降低时,振幅也增强。有时即使不焊接C1、C2也能起振,但这种现象不是由不焊接C1、C2的做法造成的,而是由芯片引脚的分布电容引起,因为C1、C2的电容值本来就不需要很大,这一点很重要。
那么,这两个电容对振荡稳定性到底有什么影响呢?
由于5404的电压反馈依靠C2,假设C2过大,反馈电压过低,这时振荡并不稳定;假设C2过小,反馈电压过高,储存能量过少,则容易受外界干扰,还会辐射影响外界。而C1的作用与C2的则恰好相反。在布板的时候,假设为双面板且比较厚,那么分布电容的影响则不是很大;但假设为高密度多层板时,就需要考虑分布电容,尤其是VCO之类的振荡电路,更应该考虑分布电容。
因此,那些用于工控的项目,建议最好不要使用晶体振荡,而是直接接一个有源的晶振。
很多时候大家会采用32.768K的时钟晶体来做时钟,而不是通过单片机的晶体分频来做时钟,其中原因想必很多人也不明白,其实上这是和晶体的稳定度有关:频率越高的晶体,Q值一般难以做高,频率稳定度也比较差;而 32.768K晶体在稳定度等各方面的性能表现都不错,还形成了一个工业标准,比较容易做高。另外值得一提的是,32.768K是16 bit数据的一半,预留最高1 bit进位标志,用作定时计数器内部数字计算处理也非常方便。
三、为什么MCU芯片附近要放一个0.1uF的电容?
我们在电源滤波电路上可以看到各种各样的电容,比如100uF、10uF、100nF、10nF不同的容值。那么,这些参数是如何确定的呢?
数字电路要运行稳定可靠,电源一定要“干净”,并且能量补充一定要及时,也就是滤波去耦一定要好。什么是滤波去耦?简单地说,就是在芯片不需要电流的时候存储能量,在需要电流的时候又能及时地补充能量。
有读者看到这里会说,这个职责不是DC/DC、LDO的吗?对,在低频的时候它们可以搞定,但高速的数字系统就不一样了。
下面,我们先来看看电容。
电容的作用,简单来说就是存储电荷。我们都知道,在电源中要加电容滤波,在每个芯片的电源脚放置一个0.1uF的电容去耦。但是,怎么有些板子芯片的电源脚旁边的电容是0.1uF或者0.01uF的,这里有什么讲究吗?
要搞懂这个问题,就要先了解电容的实际特性。理想的电容它只是一个电荷的存储器,即C。而实际制造出来的电容,却不是那么简单了。分析电源完整性的时候,我们常用的电容模型如下图所示。
在上图中,ESR是电容的串联等效电阻,ESL是电容的串联等效电感,C才是真正的理想电容。ESR与ESL是由电容的制造工艺和材料决定的,没办法消除。
那么,这两个东西对电路有什么影响呢?
ESR影响电源的纹波,ESL影响电容的滤波频率特性。
电容的容抗:
Zc=1/ωC
电感的感抗:
Zl=ωL,ω=2πf
实际电容的复阻抗为:
Z=ESR+jωL-1/jωC=ESR+j2πf L-1/j2πf C
可见,当频率很低的时候,是电容在起作用;而频率高到一定程度时,电感的作用就不可忽视了;再高的时候,电感就起主导作用了,电容就失去滤波的作用了。所以记住,高频的时候,电容就不是单纯的电容了。实际电容的滤波曲线如下图所示。
如上面所述,电容的等效串联电感是由电容的制造工艺和材料决定的。实际的贴片陶瓷电容,ESL从零点几nH到几个nH不等,封装越小,ESL就越小。
从上图可以看出,电容的滤波曲线并不是平坦的,它像一个V。也就是说,有选频特性。有时候,我们希望它越平越好(前级的板级滤波);而有时候,则希望它越尖越好(滤波或陷波)。
影响这个特性的,就是电容的品质因素Q:
Q=1/ωCESR
ESR越大,Q就越小,曲线就越平坦。反之,ESR越小,Q就越大,曲线就越尖。
通常情况下,钽电容和铝电解有比较小的ESL,而ESR大,所以钽电容和铝电解具有很宽的有效频率范围,非常适合前级的板级滤波。
也就是说,在DC/DC或者LDO的输入级,常常用较大容量的钽电容来滤波。而在靠近芯片的地方,放一些10uF和0.1uF的电容来去耦,陶瓷电容有很低的ESR。
说了这么多,到底在靠近芯片的管脚处放置0.1uF,还是0.01uF呢?列出下表以供参考。
所以,以后不要见到什么都放0.1uF的电容。有的高速系统中,这些0.1uF的电容根本就起不了作用。