有源晶体振荡器
有源晶振常见的用法是:一个引脚悬空,两个引脚接地,三个引脚接输出,四个引脚接电压。
有源晶振不需要DSP内部振荡器,信号质量好,比较稳定。连接方法比较简单(主要是做好电源滤波,通常采用电容和电感组成的PI滤波网络,在输出端接一个小电阻对信号进行滤波),不需要复杂的配置电路。有源晶振相对于无源晶振的缺点是其信号电平固定,需要选择合适的输出电平,灵活性差,价格昂贵。
有源晶振是由石英晶体制成的。石英晶体之所以能作为振荡器使用,是基于其压电效应:在晶体的两极加上电场,会使晶体产生机械变形;在石英晶体上加上交流电压,会使晶体产生机械振动,同时机械变形振动又会产生交变电场。虽然这种交变电场的电压极其微弱,但它的振动频率却很稳定。当外加交流电压的频率等于晶体的固有频率(由晶体的尺寸和形状决定)时,机械振动的振幅会急剧增大。这种现象叫做“压电谐振”。
压电谐振状态的建立和维持必须借助于振荡电路来实现。图3为串联振荡器,由晶体管T1、T2组成的两级放大器,以及石英晶体XT和电容C2组成的LC电路。在此电路中,石英晶体相当于电感,C2为可变电容,调整其容量可使电路进入谐振状态。振荡器的电源电压为5V,输出波形为方波。
晶振及复位的常用电路图
单片机内部时钟与外部时钟
单片机有两种工作方式:内部时钟方式和外部时钟方式:(1)单片机的XTAL1、XTAL2虽然是内部振荡器结构,但是必须在XTAL1、XTAL2两端接一个晶振和两个电容,组成时钟电路。这种利用晶振产生信号的方式就是内部时钟方式;(2)单片机也可以工作在外部时钟方式。外部时钟方式比较简单,时钟信号方波可以直接输入到单片机的XTAL1引脚,而XTAL2引脚悬空。既然外部时钟方式比内部时钟方式方便,那为什么大多数单片机系统还是选择内部时钟方式呢?这是因为单片机的内部振荡器可以与晶振和电容一起组成性能非常好的时钟信号源。如果要产生这样的信号作为外部时钟信号输入到单片机中,需要增加的器件远不止一个晶振和两个电容那么简单。时钟电路在单片机系统中非常重要。 它可以控制单片机运行的节奏,是不可缺少的一部分。
晶体振荡器电路
晶振是晶体振荡器的简称。在电气上,它可以等效为一个电容与电阻并联、一个电容串联的二端网络。在电气工程中,这种网络有两个谐振点,以频率来划分,其中较低频率为串联谐振,较高频率为并联谐振。由于晶体本身的特性,这两个频率之间的距离相当近。在这个极其狭窄的频率范围内,晶振相当于一个电感器,因此只要在晶振的两端并联一个合适的电容,就会形成并联谐振电路。这个并联谐振电路加上负反馈电路,就可以组成正弦振荡电路。由于等效于电感器的晶振的频率范围很窄,所以即使其他元器件的参数发生很大变化,振荡器的频率也不会发生很大变化。
晶振有一个重要参数——负载电容值,通过选取与负载电容值相等的并联电容,即可得到晶振的标称谐振频率。一般的晶振电路都是将晶振接在反相放大器(注意是放大器,不是反相器)的两端,再在晶振的两端分别接两个电容,每个电容的另一端接地。这两个电容串联后的电容值应等于负载电容。请注意,一般IC的引脚都有等效输入电容,这个电容值是不能忽略的,一般晶振的负载电容为15pF或者12.5pF,如果考虑元件引脚的等效输入电容,用两个22pF的电容组成晶振电路是比较好的选择。
如上图:晶振给单片机提供工作信号脉冲,这个脉冲就是单片机的工作速度,比如12M的晶振单片机,它的工作速度就是12M每秒,当然单片机的工作频率有个范围,不能太大,一般不会上到24M,不然就不稳定了。
晶振与单片机的XTAL0、XTAL1引脚组成的振荡电路会产生谐波(即不希望存在的其它频率的波)。这种波对电路影响不大,但会降低电路时钟振荡器的稳定性。ATMEL为了电路稳定性只建议在晶振的两个引脚处接两个10pf-50pf的陶瓷电容到地,以减少谐波对电路稳定性的影响。因此晶振的电容取值可以在10pf~50pf之间,没有计算公式。
晶振电路中电容C1、C2如何选择?
(1)由于每种晶振都有自己的特性,所以最好按照厂家提供的数值来选择外部元器件。
(2)在允许的范围内,C1、C2的数值越低越好。较大的C值有利于振荡器的稳定性,但会增加起振时间。
(3)C2的值应大于C1的值。这将加快上电时晶体振荡器的启动速度。
在石英晶体谐振器和陶瓷谐振器的应用中,应注意负载电容的选择。不同厂家生产的石英晶体谐振器和陶瓷谐振器的特性和质量差异较大。选择时,需要了解振荡器型号的关键指标,如等效电阻、厂家建议负载电容、频率偏差等。在实际电路中,也可以通过示波器观察振荡波形,判断振荡器是否工作在最佳状态。观察振荡波形时,示波器应观察OSCO引脚(振荡器输出)。应选择带宽在100MHz以上的示波器探头。这种探头输入阻抗高,容抗小,对振荡波形的影响相对较小。(由于探头上一般有10至20pF的电容,观察时,适当减小OSCO引脚处的电容,可得到更接近实际的振荡波形)。 正常工作的振荡波形应为优美的正弦波,峰峰值应大于电源电压的 70%。若峰峰值小于 70%,可适当减小 OSCI、OSCO 引脚上外接的负载电容。反之,若峰峰值接近电源电压,振荡波形出现失真,可适当增大负载电容。
如何解决用示波器测试OSCI(振荡器输入)引脚时可能导致振荡器停止的问题?
有些探头阻抗太小,无法直接测试,但可以通过串联电容的方式进行测试。例如,对于常用的4MHz石英晶体谐振器,制造商通常建议外接负载电容约为10至30pF。如果中心值为15pF,则C1和C2各为30pF,即可得到15pF的串联等效电容值。同时考虑到还有其他电路板分布电容、芯片引脚电容、晶体寄生电容等都会影响总电容值,实际配置C1和C2时,各约为20至15pF即可。并且C1和C2最好使用陶瓷电容。
如何判断电路中的晶振是否过载?
电阻RS常用于防止晶振过载。晶振过载会使晶振逐渐磨损,使晶振接触镀层降低,从而引起频率上升。可用示波器检测OSC输出脚,如果检测到很清晰的正弦波,且正弦波的上下限符合时钟输入要求,则晶振没有过载;反之,如果正弦波的波峰和波谷变平,使波形呈方波,则晶振过载。此时需要接电阻RS防止晶振过载。确定电阻RS值最简单的方法是串联一个5k或10k的微调电阻,从0开始慢慢增大,直到正弦波不再变平。此方法可以找到最接近的电阻RS值。