什么是晶振
晶振一般叫做晶体谐振器,是一种机电器件,是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。
对于单片机来说晶振是很重要的,可以说是没有晶振就没有时钟周期,没有时钟周期就无法执行程序代码,那样的话单片机就无法工作。接下来跟随小编详细的了解一下单片机晶振的电路原理及作用。
单片机晶振的必要性
单片机工作时,是一条一条地从ROM中取指令,然后一步一步地执行。单片机访问一次存储器的时间,称之为一个机器周期,这是一个时间基准。一个机器周期包括12个时钟周期。如果一个单片机选择了12MHZ晶振,它的时钟周期是1/12us,它的一个机器周期是12x(1/12)us,也就是1US。
MCS-51单片机的所有指令中,有一些完成得比较快,只要一个机器周期就行了,有一些完成得比较馒,得要2个机器周期,还有两条指令要4个机器周期才行。为了衡量指令执行时间的长短,又引|入一个新的概念: 指令周期。所谓指令周期就是指执行条指令的时间。例如,当需要计算DJNZ指令完成所需要的时间时,首先必须要知道晶振的频率,设所用晶振为12MHZ,则一个机器周期就是1US。而DJNZ指令是双周期指令,所以执行一次要2US。如果该指令需要执行500次,正好1000us,也就是1ms。
机器周期不仅对于指令执打有着重要的意义,而且机器周期也是单片机定时器和计数器的时间基准。例如一个单片机选择了12MHZ晶振,那么当定时器的数值加1时,实际经过的时间就是1us,这就是单片机的定时原理。
单片机晶振电路原理(51单片机)
XTAL1和XTAL2指的是8051系单片机上常见的用于接“晶振”(晶体谐振器-Crystal Resonator”)的两个引脚。从原理上来说,这两个引脚和MCU内部一个反相器相连接。这个反相器与外部的“晶振”组成一个构成一个皮尔斯振荡器(Pierce oscillator)。因为这个振荡器集成在器件内部的组件实在是不能更简单啦,就一个反相器和一个电阻,非常合适于各种数字IC的设计制造流程。
深入地分析这个皮尔斯振荡器的工作原理时,不妨把它表述成以下理想的电路形式:
模电知识告诉我们,当期望得到一个输出信号频率为的振荡电路时,这个电路在必须满足两个条件:2kπ的环路相移闭环增益为1
在上面的皮尔斯振荡器的电路原理图中,不难发现反相器U1对任意的频率分量均提供了180°,即的相移量。同时,反相器在输入输出之间可以看作是一个buffer,因此通过对反相器的输出特性进行调教,较容易得到1的loop gain。
到这里有人会问了,相移量只有,上面的两个条件连一个都没达到,这哪能起振呢?问题的关键在于电路中的其它元件上。
首先,对电路中的一颗“晶振”来说,石英晶体本身具有压电效应,对石英晶体进行适当处理后可以得到一种压电谐振器件,这就是常见的石英晶体谐振器(以下简称QCR)。对QCR的物理特性进行分析,可以发现QCR的压电谐振过程可以用以下的理想电路模型近乎完美地表示出来。
右图的电路模型中,L1-C1-R1组成了一个RLC串联谐振电路,再加上一个实际很小的C0,整个QCR电路模型有两个很接近的谐振点。QCR在电路中与反相器并联,充当的是一个选频网络的作用。整个振荡电路在上电时可以看作是反相器的输出端打进去了一个阶跃信号,QCR把阶跃中谐振点频率的信号挑出来,其他没用的踢掉,在环路增益为1的情况下整个电路趋于稳态平衡。
模电的知识告诉我们,在QCR // inverter的组合下,这个皮尔斯振荡器已经具备了一个理想的振荡电路中的两大网络(选频+放大)。貌似振荡器中的R1和C1//C2没有什么卵用啊。且慢,这个R1和C1//C2,正是这个电路中最美妙的地方。
把R1与C1//C2单独抽出来配合反相器的电路组合貌似并不好理解,假如我们换种方式呢?
(图中引进R’是为了方便理解反相器中的loop voltage gain)
右边的运放电路除了反相结构本身提供的-180°相移外,R-C组合也提供了额外的相位延迟。更加奇妙的是这个电路组合在设计得当的情况下能够根据实际电路中各元件的误差自动调整相移大小与反相结构相互匹配(当然了谐振频率也会有少许改变),进而保证整个loop的相移满足条件1。这个“自动调整”的过程推导起来很占篇幅,在这里略过不表。
在上面的图中,还有一个很巧妙的地方,即R1是并联在反相器的输入输出端的。这个小小的电阻和反相器构成了一个反馈通路,进而使得人们能将各种模拟电路的分析设计方法用在这样一个逻辑门电路上,比如通过反馈的方法提高反相器的线性度。在这里将现实电路中反相器的非理想特性引入设计考虑的同时,却又能使电路图保持简洁易懂。
实际的MCU振荡电路是“Isolated” Pierce-Gate Oscillator,要考虑的因素比这个理论模型复杂得多,但根本原理都是一样的。振荡电路输出的波形,通过下一级的时钟发生电路(Clock Generator)进行整形调整后,得到具有稳定形状的矩形信号并输出至时钟树,作用于整个MCU的同步逻辑。
单片机晶振的作用
单片机晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。
晶振通常与锁相环电路配合使用,以提供系统所需的时钟频率。如果不同子系统需要不同频率的时钟信号,可以用与同一个晶振相连的不同锁相环来提供。
在通常工作条件下,普通的晶振频率绝对精度可达百万分之五十。高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器(VCO)。晶振用一种能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。
单片机晶振常见问题
1、PIC单片机振荡电路中如何选择晶体?
对于一个高可靠性的系统设计,晶体的选择非常重要,尤其设计带有睡眠唤醒,往往用低电压以求低功耗的系统,这是因为低供电电压使提供给晶体的激励功率减少,造成晶体起振很慢或根本就不能起振,这一现象在上电复位时并不特别明显,原因时上电时电路有足够的扰动,很容易建立振荡,在睡眠唤醒时,电路的扰动要比上电时小得多,起振变得很不容易,在振荡回路中,晶体既不能过激励,容易振到高次谐波上,也不能欠激励不容易起振,晶体的选择至少必须考虑、谐振频点、负载电容、激励功率、温度特性长期稳定性。
2、如何判断电路中晶振是否被过分驱动?
电阻RS常用来防止晶振被过分驱动,过分驱动晶振会渐渐损耗减少晶振的接触电镀这将引起频率的上升,可用一台示波器检测,OSC,输出脚,如果检测一非常清晰的正弦波且正弦波的上限值和下限值都符合时钟输入需要,则晶振未被过分驱动,相反,如果正弦波形的波峰,波谷两端被削平,而使波形成为方形,则晶振被过分驱动,这时就需要用电阻RS来防止晶振被过分驱动,判断电阻RS值大小的最简单的方法就是串联一个5k或10k的微调电阻,从0开始慢慢调高,一直到正弦波不再被削平为止,通过此办法就可以找到最接近的电阻RS值。
3、晶振电路中如何选择电容?
(1)C1,C21,因为每一种晶振都有各自的特性,所以最好按制造厂商所提供的数值选择外部元器件。
(2)在许可范围内,C1,C2值越低越好,C值偏大虽有利于振荡器的稳定,但将会增加起振时间。
(3)应使C2值大于C1值,这样可使上电时,加快晶振起振。
-
单片机
+关注
关注
6032文章
44513浏览量
632689 -
晶振
+关注
关注
33文章
2819浏览量
67887
发布评论请先 登录
相关推荐
评论