晶振在MCU系统中的作用
晶振(CrystalOscilator)在MCU系统中扮演着至关重要的角色,它主要用于提供一个稳定且精确的时钟信号。
a.提供时钟信号:晶振产生的时钟信号是MCU操作的基准。MCU内部的CPU、外设和各种逻辑电路都依赖于这个时钟信号来同步它们的操作。没有稳定的时钟信号,MCU无法正确执行指令或控制外设。
b.决定系统速度:晶振的频率决定了MCU的工作速度。例如,一个16MHz的晶振将使MCU以每秒1600万次的速度执行指令。选择合适的晶振频率对于满足系统性能要求至关重要。
c.保证同步和稳定性:在多任务或实时操作系统中,精确的时钟信号对于任务调度、时间测量和事件同步至关重要。晶振的稳定性确保了系统操作的一致性和可靠性。
d.通信协议的同步:在MCU与外部设备通信时,如串行通信(如UART、SPI、I2C等),晶振提供的时钟信号用于同步数据传输。正确的时钟频率对于确保通信的准确性和可靠性非常重要。
e.提高系统精度:在需要高精度定时或计数的应用中,如实时时钟(RTC)或高精度模拟数字转换(ADC)操作,晶振的高稳定性确保了这些操作的准确性。
晶振分类
无源晶振(Crystal):无源晶振需要外部电路来驱动
两脚插件封装的无源晶振不分正负极

有源晶振(Oscillator):有源晶振则集成了必要的电路,可以直接输出稳定的时钟信号




六脚贴片形式的是差分信号(4脚和5脚)输出的一个晶振

无源晶振和有源晶振都可以作为芯片的时钟源,有源晶振我们常常在它的电源上串联一个磁珠,防止晶振的高频噪声串到电源上面
晶振电路

晶振的选择:
性、功耗、尺寸和成本等因素在选择晶振时,需要考虑其频率稳定性、温度稳定
外部晶振20PF电容作用
此电容名为负载电容
a.启动振荡:负载电容有助于启动振荡过程。当电路通电时,负载电容与晶体一起形成一个反馈网络,这有助于电路尽快地达到稳定的振荡状态。
b.阻抗匹配:晶振的制造商通常会指明一个推荐的负载电容值,以确保晶振与其连接的电路之间的阻抗匹配最佳,从而最大化能量转移并减少反射。
c.温度稳定性:负载电容还可以影响晶振在不同温度下的性能。适当选择负载电容可以帮助保持振荡频率在温度变化时的稳定性。
d.降低噪声:通过形成滤波网络,外接的负载电容可以帮助减少电路中的噪声,从而提高晶振输出信号的质量。
STM32的时钟来源
STM32的时钟系统一般包括以下几种时钟源:
内部时钟源:
HSI(High-Speed Internal):高速内部时钟,通常为16 MHz(也可以配置为不同的频率)。适用于不需要外部时钟源的简单应用。
LSI(Low-Speed Internal):低速内部时钟,通常为40 kHz,主要用于实时钟(RTC)等低功耗应用。
外部时钟源:
HSE(High-Speed External):高速外部晶体振荡器或外部时钟源。常见的频率为8 MHz、12 MHz、16 MHz等。通常用于主时钟源,支持较高的系统频率。
LSE(Low-Speed External):低速外部晶体振荡器(通常为32.768 kHz),用于提供实时钟(RTC)等低功耗功能。
PLL时钟源:PLL 是一种时钟倍增器,可以从HSE或HSI时钟源得到一个更高频率的时钟信号,用来提供给系统或外设使用。STM32的PLL可以配置为多种方式(例如倍频、分频等),以实现所需的时钟频率。


STM32的时钟配置中,通常可以选择外设时钟源以及分频器来调整外设的时钟频率。
如STM32 MCU中的HSE(High-Speed External)时钟源通常使用无源晶体。