提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、时钟系统是什么?
时钟系统是 CPU 的脉搏,就像人的心跳一样,其地位不言而喻。
二、为什么STM32需要多个时钟源?
因为STM32外设非常多,并不是每一个外设都需要系统时钟这么高的频率,比如看门狗以及 RTC 只需要几十 k 的时钟即可。同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也会越弱,所以对于较为复杂的 MCU 一般都是采取多时钟源的方法来解决这些问题。
三、STM32LE/E4xx时钟树
四、时钟源分类
从时钟频率来分可以分为高速时钟源和低速时钟源,从来源可分为外部时钟源和内部时钟源,外部时钟源就是从外部通过接晶振的方式获取时钟源
以下不同的时钟源可用于驱动系统时钟(SYSCLK):
- HSI 16(高速内部):16 MHz RC振荡器时钟
- MSI(高速内部):100kHz至48MHz的RC振荡器时钟
- HSE 32(高速外部):32 MHz振荡器时钟,带有微调电容。
- PLL(高速内部):MSI在复位启动后被用作系统时钟源,配置为4MHz。
-
- LSI(低速内部):32kHz的低速内部RC,可以驱动独立的看门狗和可选的RTC。
可选择用于从停止和待机模式自动唤醒的RTC。
- LSI(低速内部):32kHz的低速内部RC,可以驱动独立的看门狗和可选的RTC。
- LSE(低速外部):32.768kHz的低速外部晶体,可用于驱动RTC从停止和待机模式自动唤醒。用于从停止、待机和关机模式自动唤醒的RTC,或实时时钟(RTCCLK)。
(RTCCLK)。
五、以下是对英文文档翻译
每个时钟源都可以在不使用时独立打开或关闭,以优化功耗。几个预分频器可用于配置AHB频率(HCLK3/PCLK3、HCLK1)、 高速APB2(PCLK2)和低速APB1(PCLK1)域。AHB的最大 AHB(HCLK3, HCLK1)、PCLK1和PCLK2域的最大频率是48MHz。
大多数外设时钟都来自它们的总线时钟(HCLK、PCLK),但以下情况除外:
1、用于真正的RNG的时钟源来自(由软件选择)下列之一 :
- PLL VCO (PLLQCLK) (仅在运行模式下可用)
- MSI(仅在运行模式下可用)
- LSI时钟
- LSE时钟
2、ADC的时钟来自(由软件选择)以下的一个来源:
- 系统时钟(SYSCLK)(仅在运行模式下可用)
- HSI16时钟(仅在运行模式下可用)
- PLL VCO (PLLPCLK) (仅在运行模式下可用)
- (ADC时钟还可以来自ADC总线接口的AHB时钟,除以一个可编程的系数 (1、2或4)。当可编程因子为1时,AHB预分频器必须等于1。)
3、DAC在采样和保持模式下使用LSI时钟
4、(LP)U(S)ARTs的时钟来自(由软件选择)以下来源之一
源:
- 系统时钟(SYSCLK)(仅在运行模式下可用)
- HSI16时钟(在运行和停止模式下可用)
- LSE时钟(在运行和停止模式下可用)
- APB时钟(PCLK,取决于U(S)ART映射的APB)(在CRun和CSleep模式下可用) 当(LP)U(S)ARTxSMEN中也启用时,CRun和CSleep可用)。
只有当时钟为HSI16或LSE时,才支持从停止模式唤醒。
5、I2Cs的时钟来自(由软件选择)以下来源之一:
- 系统时钟(SYSCLK)(仅在运行模式下可用)
- HSI16时钟(在运行和停止模式下可用)
- APB时钟(PCLK,取决于I2C所映射的APB)(在CRun 和CSleep中可用,当I2CxSMEN中也启用时)。
只有当时钟为HSI16时,才支持从停止模式唤醒。
6、SPI2S2的I2S时钟来自(由软件选择)以下来源之一 源:
- HSI16时钟(仅在运行模式下可用)
- PLL VCO (PLLQCLK) (仅在运行模式下可用)
- 外部输入I2S_CK(在运行和停止模式下可用)
7、低功耗定时器(LPTIMx)的时钟来自(由软件选择)以下来源之一
以下来源之一:
- LSI时钟(在运行和停止模式下可用)
- LSE时钟(在运行和停止模式下可用)
- HSI16时钟(仅在运行模式下可用)
- APB时钟(PCLK,取决于LPTIMx被映射到哪个APB)(在运行和停止模式下可用)。
当在LPTIMxSMEN中启用时,在运行和CStop中可用)。 - LPTIMx_IN1上映射的外部时钟(在运行和停止模式下可用)。
在停止模式下的功能(包括唤醒)只有在时钟为 LSI或LSE,或在外部时钟模式下,才支持停止模式的功能(包括唤醒)。
8、RTC时钟来自于(由软件选择)以下来源之一:
- LSE时钟
- LSI时钟
- HSE32时钟除以32
只有当时钟为LSI或LSE时,才支持停止模式下的功能(包括唤醒)。
9、IWDG的时钟始终是LSI时钟。
RCC用AHB时钟(HCLK1)除以8为CPU系统定时器(SysTick)提供外部时钟。SysTick可以使用这个时钟或直接使用CPU时钟(HCLK1)工作。可在SysTick控制和状态寄存器中配置。
10、FCLK1作为CPU自由运行的时钟。
未完成。。。。。。。待补充