微控制器的时钟源可以分为两类:基于机械谐振器件的时钟源,如晶振、陶瓷谐振槽路;RC (电阻、电容)振荡器。图1给出了两个分立的振荡器电路,其中图1a为皮尔斯振荡器配置,适用于晶振和陶瓷谐振槽路。图1b为简单的分立RC振荡器。
基于晶振与陶瓷谐振槽路的振荡器通常能提供非常高的初始精度和较低的温度系数。RC振荡器能够快速启动,成本也比较低,但通常在整个温度和工作电源电压范围内精度较差,会在标称输出频率的5%至50%范围内变化。
图1所示的电路能产生可靠的时钟信号,但其性能受环境条件和电路元件选择的影响。需认真对待振荡器电路的元件选择和线路板布局。在使用时,陶瓷谐振槽路和相应的负载电容必须根据特定的逻辑系列进行优化。具有高Q值的晶振对放大器的选择并不敏感,但在过驱动时很容易产生频率漂移(甚至可能损坏)。影响振荡器工作的环境因素有:电磁干扰(EMI)、机械震动与冲击、湿度和温度。这些因素会增大输出频率的变化,增加不稳定性,并且在有些情况下,还会造成振荡器停振。
上述大部分问题都可以通过使用振荡器模块避免。这些模块自带振荡器、提供低阻方波输出,并且能够在一定条件下保证运行。最常用的两种类型是晶振模块和集成RC振荡器(硅振荡器)。晶振模块提供与分立晶振相同的精度。硅振荡器的精度要比分立RC振荡器高,多数情况下能够提供与陶瓷谐振槽路相当的精度。
选择振荡器时还需要考虑功耗。分立振荡器的功耗主要由反馈放大器的电源电流以及电路内部的电容值所决定。CMOS放大器功耗与工作频率成正比,可以表示为功率耗散电容值。比如,HC04反相器门电路的功率耗散电容值是90pF。
在4MHz、5V电源下工作时,相当于1.8mA的电源电流。再加上20pF的晶振负载电容,整个电源电流为2.2mA。陶瓷谐振槽路一般具有较大的负载电容,相应地也需要更多的电流。相比之下,晶振模块一般需要电源电流为10mA ~60mA。硅振荡器的电源电流取决于其类型与功能,范围可以从低频(固定)器件的几个微安到可编程器件的几个毫安。一种低功率的硅振荡器,如MAX7375,工作在4MHz时只需不到2mA的电流。
在特定的应用场合优化时钟源需要综合考虑以下一些因素:精度、成本、功耗以及环境需求。