STM32F10x时钟树理解

STM32F10x时钟树理解_第1张图片
STM32F10x共有5个时钟源: H高速 L低速 I内部 E外部
1、HSI振荡器时钟
2、HSE振荡器时钟
3、PLL时钟
4、LSE振荡器时钟
5、LSI振荡器时钟

三种不同的时钟源可被用来驱动系统时钟(SYSCLK):
● HSI振荡器时钟
● HSE振荡器时钟
● PLL时钟
通过时钟配置寄存器(RCC_CFGR)bit(0-3)配置
STM32F10x时钟树理解_第2张图片
这些设备有以下2种二级时钟源:
● 40kHz低速内部RC,可以用于驱动独立看门狗和通过程序选择驱动RTC。RTC用于从停机/待机模式下自动唤醒系统。
● 32.768kHz低速外部晶体也可用来通过程序选择驱动RTC(RTCCLK)。
当不被使用时,任一个时钟源都可被独立地启动或关闭,由此优化系统功耗。

用户可通过多个预分频器配置AHB、高速APB(APB2)和低速APB(APB1)域的频率。AHB和APB2域的最大频率是72MHz。APB1域的最大允许频率是36MHz。SDIO接口的时钟频率固定为HCLK/2。USB为48MHZ通过PLL分频1或1.5倍得到。
RCC通过AHB时钟(HCLK)8分频后作为Cortex系统定时器(SysTick)的外部时钟。通过对SysTick控制与状态寄存器的设置,可选择上述时钟或Cortex(HCLK)时钟作为SysTick时钟。ADC时钟由高速APB2时钟经2、4、6或8分频后获得。

通过时钟控制寄存器(RCC_CR)相应位来使能相应的时钟源
STM32F10x时钟树理解_第3张图片

STM32F10x时钟树理解_第4张图片
PLL时钟源
STM32F10x时钟树理解_第5张图片
PLL 通过时钟配置寄存器(RCC_CFGR)选择HSI或HSE时钟倍频

然后确定倍频系数(最大速度72MHZ)
STM32F10x时钟树理解_第6张图片
挂载在AHB总线上的时钟配置
STM32F10x时钟树理解_第7张图片
AHB时钟由系统时钟分频得到
APB2、APB2时钟由AHB时钟倍频得到,其中APB1最大不超过36MHZ
定时器时钟频率分配由硬件按以下2种情况自动设置:

  1. 如果相应的APB预分频系数是1,定时器的时钟频率与所在APB总线频率一致。
  2. 否则,定时器的时钟频率被设为与其相连的APB总线频率的2倍。
    ADC时钟由APB2总线时钟分频得到,最大不超过14MHZ,否则转换精度会由很大的影响。

你可能感兴趣的:(STM32)