MCU中的晶振

晶振在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)时钟源通常使用无源晶体。

相关推荐
国科安芯17 小时前
航天器多路并联大功率电源系统设计与ASP4644均流特性分析
单片机·嵌入式硬件·fpga开发·安全性测试
茯苓gao18 小时前
嵌入式开发笔记:CANopen相关移位运算与通信协议术语详解
网络·嵌入式硬件·学习·信息与通信
梁朝辉21 小时前
STM32H750VBT6中ADCINP与INN什么区别
stm32·单片机·嵌入式硬件
省四收割者1 天前
一文详解信号完整性(1)
python·嵌入式硬件·数学建模·信息与通信·信号处理·智能硬件
崇山峻岭之间1 天前
单片机无感FOC驱动之ADC
单片机·嵌入式硬件
Ligocious1 天前
1.点亮一颗小小的LED
单片机·嵌入式硬件
KaifuZeng1 天前
通信与接口协议面试八、CAN通信
单片机·嵌入式硬件·面试·通信与接口协议
智源单片机设计1 天前
基于单片机的直流电机双闭环调速系统设计
单片机·嵌入式硬件
KaifuZeng2 天前
通信与接口协议面试一、基本概念
嵌入式硬件·通信与接口协议
wuyk5552 天前
24. C 语言模块化:不是拆几个.c 文件那么简单
c语言·开发语言·stm32·单片机