什么是晶体振荡器?
晶体振荡器一般称为晶体谐振器,是一种由电损耗极低的石英晶体经过精密切割、研磨、镀上电极、焊接引线而制成的机电设备。
晶振,全称是石英晶体振荡器,是一种高精度、高稳定度的振荡器,通过一定的外接电路,可以产生频率和峰值稳定的正弦波。单片机运行时,需要一个脉冲信号作为执行指令的触发信号,可以简单想象为单片机接收到一个脉冲后,执行一条或多条指令。
晶振对于单片机来说非常重要,可以说没有晶振就没有时钟周期,没有时钟周期程序代码就无法执行,进而单片机就无法工作。
晶体振荡器和 MCU 周期
单片机工作时,会从ROM中一条一条的取出指令,然后一步一步的执行,单片机访问内存的时间叫一个机器周期,也就是一个时间基准,一个机器周期由12个时钟周期组成,如果单片机选用12MHz晶振,那么它的时钟周期就是1/12us,也就是一个晶振周期,它的机器周期就是12×(1/12)us,也就是1us。
机器周期不仅对指令执行很重要,也是单片机定时器、计数器的时基。例如,某单片机选用12MHz晶振,那么当定时器值增加1时,实际经过的时间就是1us。这就是单片机的计时原理。
单片机晶振的作用
单片机晶振的作用是为系统提供基本的时钟信号,通常一个系统共用一个晶振,以方便各部分同步。有些通信系统对基带和射频采用不同的晶振,通过电子调节频率来同步。
晶振通常与锁相环电路配合使用,提供系统所需的时钟频率,如果不同的子系统需要不同频率的时钟信号,可以由连接到同一个晶振的不同锁相环来提供。
在正常工作条件下,普通晶振频率的绝对精度可达百万分之五十,高级的精度更高,有的晶振还能通过外加电压在一定范围内调整频率,这种晶振称为压控振荡器(VCO)。晶振是利用能将电能和机械能相互转换的晶体,在谐振状态下工作,提供稳定、准确的单频振荡。
指令周期
指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成。不同的指令需要不同数量的机器周期。对于一些简单的单字节指令,在取指令周期内,指令被取入指令寄存器,然后立即译码并执行,不需要其它的机器周期。对于一些比较复杂的指令,例如传送指令、乘法指令等,则需要两个或两个以上的机器周期。通常将包含一个机器周期的指令称为单周期指令,将包含两个机器周期的指令称为双周期指令。简单地说,没有晶振就没有时钟周期。没有时钟周期,程序代码就无法执行,单片机就无法工作。
机器周期不仅对指令执行很重要,也是单片机定时器和计数器的时间基准。例如,如果单片机选择了12MHz的晶振,那么当定时器的值增加1时,实际经过的时间就是1us。这就是单片机的计时原理。
晶振为单片机提供工作信号脉冲,这个脉冲就是单片机的工作速度,比如12MHz的晶振,就代表单片机每秒工作12MHz,单片机内部也有一个晶振,外接晶振可以获得更稳定的频率。
另外在这里想提一下,晶体振荡器和晶体是有区别的。
晶振与晶振的区别
(1)晶体是有源晶体振荡器的简称,也叫振荡器,英文名称为oscillator。晶体是无源晶体振荡器的简称,也叫谐振器,英文名称为crystal。
(2)无源晶振(晶振)一般是两个引脚直插的无极性元件,需要借助时钟电路才能产生振荡信号,常见的封装有49U、49S等。
(3)有源晶振(晶体振荡器)一般为表贴式封装,有四个引脚,内部有时钟电路,只需供电就能产生振荡信号,一般有7050、5032、3225、2520等封装形式。
结论
在设计单片机时,选择合适的晶振也是非常重要的。选择器件时,一般要留有一定的余量,以保证产品的可靠性。选择更高端的器件可以进一步降低故障概率,带来潜在的收益,这也是比较产品价格时要考虑的因素。
要使得振荡器的“整体性能”均衡合理,需要权衡稳定性、工作温度范围、晶体老化效应、相位噪声、成本等诸多因素,这里的成本不仅包括器件的价格,还包括产品整个生命周期的使用成本。