STM32--时钟树

一、什么是时钟?

时钟是单片机的脉搏,是系统工作的同步节拍。单片机上至CPU,下至总线外设,它们工作时序的配合,都需要一个同步的时钟信号来统一指挥。时钟信号是周期性的脉冲信号。

二、什么是时钟树?

STM32有很多外设器件,每个器件的时钟信号不一样,所以要将一个固定的信号频率进行倍频/分频处理,达到每个外设需要的频率。时钟信号的分频就像树的分支一样,这就是时钟树。

三、时钟介绍

HSI(内部高速时钟): 时钟信号由内部RC震荡电路提供,时钟频率为8MHz,但是这个时钟频率会随着温度产生漂移,很不稳定,所以一般不使用此时钟信号。
LSI(内部低速时钟): 时钟信号由内部RC振荡电路提供,时钟频率一般为40KHz,这个信号一般用于独立看门狗时钟。
HSE(外部高速时钟): 时钟信号由外部晶振提供,时钟频率一般在4-16MHz,是经常会用到的时钟源。
LSE(外部低速时钟): 时钟信号由外部晶振提供,时钟频率一般为32.768KHz,这个信号一般用于RTC实时时钟。

四、时钟框架图

五、框架图分析

(1)外部低速时钟LSE,外接引脚OSC32_IN和OSC32_OUT就是接外部晶振的引脚,进来的频率是32.768KHZ进来后只有一个走向就是为RTC提供时钟。

(2) RTCCLK蓝色框的四选一数据选择器,一共有三个输入,一个来自最上方的HSE,中间经过了一个128的分频器。一个是LSE以及最下方的LSI时钟。也就是说看门狗智能由内部低速时钟LSI提供时钟,RTC可以由LSI、LSE、或者是HSE经过分频后来提供时钟,具体使用哪一个需要我们在代码里面配置。

(3) PLL锁相环中的数据选择器有两个输入,一个是内部高速时钟HSI经过2分频连接。另一个输入是外部高速时钟HSE经过1分频或2分频输出后连接。经过数据选择器后,进行倍频操作供给系统时钟。对于系统时钟一般选择HSE时钟经过PLL锁相环倍频后的时钟作为系统时钟。倍频系数可选范围:2~16。

注:一般在PLL锁相环中数据选择器中我们选择来自外部高速时钟HSE的时钟信号,因为HSI时钟信号很不稳定,容易受到环境的影响。

(4)对于系统时钟选择器,一共有四个输入。最上面为HSI时钟输入,中间为PLLCLK时钟输入,下面两个分别是HSE时钟直接输入,以及在HSE后加入CSS时钟安全检测标志后输入。

六、示例

外部晶振电路:

连接外部高速时钟:

假如外部时钟晶振频率为8MHz,如何设置72MHz的系统时钟?

答:HSE接入8MHz的外部震荡信号,由PLLXTPER进行选择进行1分频还是2分频,假如是1分频,则8MHz的时钟信号来到了PLLSRC控制选择的位置,配置PLLSRC,选择进入PLL锁相环的时钟信号源,假设来自HSE的信号选通,则8MHz的信号来到锁相环中,配置PLLMUL,可以选择倍频系数,假设倍频系数选为9,则PLL输出72MHz的时钟信号,SYSCLK前面的梯形的选择逻辑控制着SYSCLK时钟信号来自于3个接入信号HSE、HIS、PLLCLK中的哪一个,通过SW和CSS控制,选择PLLCLK后,系统就可以获得72MHz的时钟频率了。这个CSS是时钟安全保护系统,主要是在HSE出现故障时发生NMI中断(不可屏蔽中断,产生这个中断的时候,表示系统发生了致命的错误),具体要看手册59页信息介绍。

为了减少功耗,STM32上外设的时钟初始状态默认为关闭,如需使用外设,则必须开启外设时钟。譬如我们现在要使用外设GPIOB,则系统时钟SYSCLK要通过预分频器AHB分频,再进入APB2总线进行再分频(GPIOB是挂载在APB2总线上的外设),时钟信号的输入和外设时钟使能位接在一个与门上,当要使用外设时,需要将这个使能位置1,配置完成之后,GPIOB方可正常工作。

相关推荐
尤老师FPGA3 分钟前
LVDS系列9:Xilinx 7系可编程输入延迟(二)
单片机·嵌入式硬件·fpga开发
雾削木2 小时前
mAh 与 Wh:电量单位的深度解析
开发语言·c++·单片机·嵌入式硬件·算法·电脑
AiFlutter3 小时前
低代码平台开发手机USB-HID调试助手
单片机·游戏·计算机外设
Mirelladis4 小时前
实验:串口通信
单片机·51单片机
RaLi和夕4 小时前
单片机学习笔记9.数码管
汇编·笔记·单片机·嵌入式硬件·学习
普普通通的一名码农5 小时前
ESP32-S3 入门学习笔记(四):LED实验
笔记·单片机·学习
教练、我想打篮球5 小时前
03 基于 STM32 的温度控制系统
stm32·单片机·嵌入式硬件
ltqshs6 小时前
STM32标准库和HAL库SPI发送数据的区别-即SPI_I2S_SendData()和HAL_SPI_Transmit()互换
stm32·单片机·嵌入式硬件
xyd陈宇阳7 小时前
STM32(M4)入门:定时器延时与系统滴答(价值 3w + 的嵌入式开发指南)
stm32·单片机·嵌入式硬件
即安莉8 小时前
STM32 CAN通信 HAL库实战教程:从零到测试成功
stm32·单片机·嵌入式硬件