STM32时钟系统

STM32的时钟系统包含HSI、HSE、LSI、LSE和PLL五个时钟源,用于满足不同外设对时钟速度和功耗的需求。HSI和HSE是高速外部和内部时钟,LSE和LSI是低速时钟,PLL通过倍频产生更高频率的时钟。系统时钟SYSCLK供给大部分部件工作,而其他外设时钟来源于此并经过分频处理。USB、RTC和MCO的时钟源各有特定要求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时钟系统是STM32中一个重要的组成部分,他就是CPU的脉搏,就像人的心跳一样。STM32单片机的时钟不像51单片机只有一个系统时钟,STM32有多个时钟源。STM32为什么要有多个时钟源呢?STM32本身比较复杂,外设非常多,但是并不是所有的外设都需要系统时钟这么高的频率,如看门狗以及RTC只需要十几k的时钟电路即可。同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也会越弱,所有对于较为复杂的MCU一般都是采用多时钟源的方法来解决这些问题。

STM32时钟系统图:

在STM32中,有五个时钟源,分别是HSI、HSE、LSI、LSE和PLL。从时钟频率来分可以分为高速时钟源和低速时钟源,HSIHSEPLL高速时钟LSILSE低速时钟;从来源可分为外部时钟源和内部时钟源,其中HSELSE外部时钟源HSILSIPLL内部时钟源

如图中红色部分所示为五个时钟源,蓝色部分为这5个时钟源给外设以及系统提供时钟示意图。

① HSI(高速内部时钟):RC振荡器,频率为8MHz。

② HSE(高速外部时钟):可接石英/陶瓷谐振器,或外接时钟源,频率范围是4MHz~16MHz。

③ LSE(低速外部时钟):接频率为32.768KHz的石英晶体,LSE主要是RTC的时钟源。

④ LSI(低速内部时钟):RC振荡器,频率为40MHz。独立看门狗的时钟源只能是LSI,同时LSI还可以做RTC的时钟源。

⑤ PLL(锁相环倍频输出):时钟输入源可以选择HSI/2、HSE和HSE/2。倍频可以选择2~16倍,其输出频率最大不能超过72MHz。

A. MCO是STM32的一个时钟输出IO,可以选择PLL/2、HSI、HSE和SYSCLK(系统时钟)四种中的一种时钟信号进行输出。该输出信号可以为外部其他系统提供时钟源。

B. 这里是RTC时钟源(实时时钟源),可以是LSE或HSI或HSE的128分频。

C. USB的时钟来源是PLL时钟源。STM32中有一个全速功能的USB模块,其串行接口引擎需要一个频率为48MHz的时钟源。该时钟源可以只能从PLL输出端获取,可以选择1.5分频或者1分频。当需要使用USB模式,PLL必须使能,并且时钟频率配置为18MHz或72MHz。

D. 该处为STM32的系统时钟SYSCLK,它是供STM32中绝大部分部件工作的时钟源。

E. 该处指其他所有外设。这些外设的时钟都是来自系统时钟SYSCLK。SYSCLK通过AHB分频器分频后送给各模块使用。这些模块包括:

(1)AHB总线、内核、内存和DMA使用的HCLK时钟。

(2)通过8分频后送给Cortex的系统定时器时钟,即systick。

(3)直接送给Cortex的空闲运行时钟FCLK。

(4)送给APB1分频器。APB1分频器输出一路供APB1外设使用(PCLK1,最大频率36MHz),另一路送给定时器2、3、4倍频器使用。

(5)送给APB2分频器。APB2分频器分频输出一路供APB2外设使用(PCLK2,最大频率72MHz),另一路送给定时器1倍频器使用。

APB1与APB2的区别:

APB1上面连接的是低速时钟外设,包括电源接口、备份接口、CAN、USB、I2C2、UART2、UART3等等,APB2上面连接的是高速时钟外设包括UART1、SPI1、Timer1、ADC1、ADC2、所有普通IO口(PA~PE)、第二功能IO口等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

单片机学习之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值