STM32关于系统时钟

在我一开始学习系统时钟的时候,我总是不太明白时钟的概念。有人说时钟好比心脏,或者说,有了时钟一切就能井井有条当然这些说法是没有错误的,但在我看来还是很抽象。单片机一通电就能运行怎么还和时钟扯上关系了,一开始我不明白,但随着我逐渐的学习与理解,以及老师的讲解,我有了更深刻的认识:单片机内部的工作好比春晚现场,每一道节目上场的时间,结束的时间都要严格把控,以秒为单位的话,唱歌需要180s,魔术需要600s,大家节奏要统计,确保流程能够一一对应,而单片机内部也是这个原理,单片机的单位就是脉冲了,这个程序需要100个脉冲,那个程序需要500个脉冲,每个脉冲时间都是固定的所以不会乱套,而时钟源的选择,频率的选择就是为了确保程序与程序,模块与模块之间能够协同工作。

时钟树

在STM32中,有4个时钟源:

① LSI(Low Speed External Clock, 低速内部时钟):RC振荡器,频率为32KHz。独立看门狗的时钟源只能是LSI,同时LSI还可以做RTC的时钟源。
② LSE(Low Speed Internal Clock, 低速外部时钟):接频率为32.768KHz的石英晶体,LSE主要是RTC的时钟源。
③ HSI(High Speed Internal Clock, 高速内部时钟):RC振荡器,频率为16MHz,精度不高
④ HSE(High Speed External Clock, 高速外部时钟):可接石英/陶瓷谐振器,或外接时钟源,频率范围是2MHz~26MHz。(我们的开发板用的是一个8Mhz的晶振)
⑤ PLL(Phase Locked Loop, 锁相环倍频输出):理论上不能算是时钟源,只是接收时钟源后对其进行分/倍频,分/倍频倍数可修改参数调节。
其中 ③ ④ ⑤ 是来驱动系统时钟 (SYSCLK)的。

Notice: 以上频率仅针对STM32F40x,其它的以数据手册为准

1. HSE 高速外部时钟信号
可以由有源晶振或者无源晶振提供,频率从4-26MHZ 不等,我们的开发板使用的是8MHZ的晶
振,当HSE 故障时,高速的内部时钟信号HSI会作为备用的系统时钟,直到HSE恢复正常。
2. 锁相环PLL
PLL 的主要作用是对时钟进行倍频,然后把时钟输出到各个功能部件,由HSE 或者HSI 提供时钟输入信号。主PLL 有两路的时钟输出,第一个输出时钟PLLCLK 用于系统时钟,F407 里面最高是168M。第二个输出用于USB OTG FS 的时钟(48M)、RNG 和SDIO 时(<=48M)。
专用的PLLI2S 用于生成精确时钟,给I2S 提供时钟。
PLLCLK的计算公式为:
VCOCLK_IN = PLLCLK_IN / M
VCOCLK_OUT = VCOCLK_IN * N
PLLCLK_OUT=VCOCLK_OUT/P

3. 系统时钟SYSCLK
系统时钟来源可以是:HSI、PLLCLK、HSE,具体的由时钟配置寄存器RCC_CFGR 的SW 位配
置。我们这里设置系统时钟:SYSCLK = PLLCLK =168M。
如果系统时钟是由HSE 经过PLL 倍频 之后的PLLCLK 得到,当HSE 出现故障的时候,系统时钟会切换为HSI=16M,直到HSE 恢复正 常为止。


4. APB2 总线时钟PCLK2
APB2 总线时钟PCLK2 由HCLK 经过高速APB2 预分频器得到,分频因子可以是:[1,2,4,8,16],具体由时钟配置寄存器RCC_CFGR 的PPRE2 位设置。PCLK2 属于高速的总线时钟,片上高速的 外设就挂载到这条总线上,比如全部的GPIO、USART1、SPI1 等。这里设置为2 分频,即PCLK2 = HCLK /2= 84M

5. APB1 总线时钟PCLK1
APB1 总线时钟PCLK1 由HCLK 经过低速APB 预分频器得到,分频因子可以是:[1,2,4,8,16],具体由时钟配置寄存器RCC_CFGR 的PPRE1 位设置。PCLK1 属于低速的总线时钟,最高为42M,片上低速的外设就挂载到这条总线上,比如USART2/3/4/5、SPI2/3,I2C1/2 等。
这里设置为4 分频,即PCLK1= HCLK/4 = 42M。

其实对时钟的理解,一开始只需要对其简单的了解即可
1.理解时钟树的基本概念,能大致看懂时钟树框图。
2.重点掌握AHB、APB1、APB2时钟频率划分。
3.能实现频率修改操作

这里要多自己画一画,另外要注意这个

如果是TIM定时器开启 : 挂在在APBX上的TIM(定时器) 只要APB2,APB1不是对于AHB的1分频,那么在使能定时器时频率都是默认 x2 的 不知道定时器先记住这句话就好。

posted @   WJay  阅读(111)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示