无源晶振跟mcu 怎么连在一起干活

时钟系统就像是微控制器(MCU)的心脏,给它稳定的心跳。而晶振则是这颗心脏的关键器官,分为无源晶振(Crystal)和有源晶振(Oscillator)两大类。这次我会用几种不同的角度,仔细讲讲这两类晶振跟MCU怎么连在一起干活。 无源晶振说白了就是个石英晶体,自己没动静,只能让MCU内部的振荡器(OSC)带动它才能震起来,输出正弦波。这种晶振一般只有2个引脚,不需要供电也不需要接地。只要把它接到MCU的OSC_IN(也就是XI)和OSC_OUT(XO)上就行。不过得在旁边串上两个负载电容(CL)并接地,这两个电容必须得跟晶振上的规格对上号。如果不够用,或者串的不对,就容易没反应或者跑不准。这种晶振全靠MCU内部的反相器和反馈电阻构成回路,自己只管提供个频率点。它不需要单独供电,所以特别省电、便宜,在主流的MCU方案里很常见。 频率方面,无源晶振比较适合低速的环境,像8MHz、12MHz、16MHz这些系统时钟频率,还有32.768kHz这种给实时时钟(RTC)用的频率。 优点是省钱、省电、电路简单,大多数MCU都能用。缺点是抗干扰能力差,起振慢得很,还要看旁边的电容和布线情况。如果你需要特别快的速度或者特别高的可靠性,那它就不合适了。 有源晶振就厉害了,这东西内部集成了振荡电路、放大电路还有稳压电路。一通电就能自己出马,不用MCU内部的振荡器帮忙。它有4个引脚(OE、GND、OUT、VDD),直接把OUT端接到MCU的外部时钟输入引脚(CLK_IN或者EXT_CLK)就行。这时候你只需要做个简单的电源滤波就行了,外围电路特别干净。 它不需要靠MCU内部的电路就能自己工作,输出的是标准的电平时钟信号。因为内置了稳压和放大电路,抗干扰能力强多了,频率精度和温度稳定性也比无源晶振好太多。 频率范围更宽了,从10MHz一直到上百兆都没问题。像高速的MCU、射频设备还有需要高精度计时的场合都很适合它。 优点是启动快、稳当、抗干扰强,还支持高频信号。缺点就是得单独供电,耗电比无源晶振多,价格也更贵一点。 具体接的时候要注意:无源晶振的负载电容必须得跟规格对得上号;OSC_IN和OSC_OUT的线要尽量短一点;别把它放到干扰源旁边;千万不能跨时钟域去布线。 有源晶振那边电源得稳当点;最好给电源加个滤波电容;直接把输出引脚接到MCU的时钟输入端就行了。 MCU在配置的时候也是不一样的:如果用无源晶振就得开启内部振荡器模式;用有源晶振就得设置成外部时钟输入模式。 总的来说,无源晶振是靠MCU内部电路来省钱省电的,是通用场景下的首选;有源晶振是自己独当一面的那种,适合高端需求。它们俩和MCU的关系核心就在于是不是非得依赖内部的振荡电路。设计的时候得看你看重成本、功耗还是稳定性和频率需求来选,这样才能保证MCU系统能稳稳当当、好好地运行下去。