为什么我们要在单片机中使用振荡器?

上图为一个手摇音乐盒,当您转动手摇杆时,您会听到美妙的音乐,仿佛从一架微型钢琴中传出。

它的工作原理是手摇曲柄转动钢鼓,而鼓体有小块钢桩凸出。那些凸出小钢桩撞击梳状排列的金属齿,其中每个齿的长度不同,从而导致振动频率不同产生不同的音符。

现在,将它与单片机相比,指令的排列对应于钢鼓上凸起的钢桩排列;把梳齿的金属牙看成单片机内部电路,如果你不转动手的曲柄,就不会发生任何事情。但是当你转动手摇曲柄,铜鼓转动,你就会听到音乐。你一停,音乐就停了。此时单片机的振荡器看作是转动手摇曲柄的手。

正如你可能已经知道的,数字电路在高/低、开/关、1/0信号下工作,“程序”所做的计算/决定也使用0和1。振荡器为数字电路提供稳定的0和1交替节拍,“转动”或“刷新”数字电路,通过各种传感器/执行器与外部世界交互。但是,如果没有手动曲柄转动,该引擎/机器不会执行这种读取/交互/计算操作。

所以振荡器是数字电路工作时振荡的能量源。

振荡器又是数字电路的心脏,为电路提供“心跳脉搏”,这背后的基本思想是节拍,输出节拍。

振荡器

有很多方法可以为单片机生成“节拍”,很多单片机提供了许多选项。以下是不同类型的“节拍”发生器的快速细分:

外部 RC - 这通常用于*低成本*的应用。使用一个电阻器和一个电容器,通过电容充电、放电使电路振荡,产生脉冲,可以用作时钟输入。我从来没有真正使用过这种类型的时钟。

内部RC - 一些MCU通常带有一个内部 RC 振荡器,运行时可以不用外部陶瓷或石英晶体振荡器,不幸的是,它对环境要求很高,如对温度变化敏感。可以用在精度要求不高的应用。

外部振荡器——在MCU两个OSC引脚上接入一个石英晶体(简称“crystal”),代码以给定频率执行,目前的MCU使用中基本上使用外部振荡器。

外部谐振器 - 是典型的无源器件,需要外围电路驱动其工作,产生时钟输出。

大多数微控制器只需要一个外部振荡器,因为它们已经包含了振荡器的所有其他部分。

一般情况下我们不使用内部RC,有以下两个原因:

1.内部 RC 振荡器被限制在一定的速度,所以要获得更高的速度,我们需要外部振荡器。

2.内部 RC 振荡器的噪声高于外部振荡器。

振荡器是系统中非常重要的一部分,我曾经遇到一个晶振问题,电路启动后运行不久,单片机就卡住了,原因是晶振与电容不匹配。

猜你喜欢

转载自blog.csdn.net/m0_67034740/article/details/124087878