一、RCC时钟树
以stm32f103为例
最中间的SYSCLK(系统时钟),由以下组成。
- HSI是高速内部时钟,RC振荡器,频率为8MHz。
- HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
- PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz
往后走是AHB(高速时钟)分频器,在后面是HCLK(AHB总线时钟),由系统时钟SYSCLK分频得到,一般不分频,等于系统时间。HCLK给外部设备使用,比如内存、flash。
AHB输出给上三个模块使用:
- AHB总线、内核、内存
- DMA(direct memory access,不用占用CPU的传输数据外设)使用的HCLK时钟
- FLCK:供给CPU内核的时钟信号,如cpu主频为xxxxMHz,就是FLCK时钟信号。
下面的四个模块则由APB(低速时钟)控制:
- APB1分频器:可选择1、2、4、8、16分频,其输出供APB1外设使用(Pclk:高性能外设总线供给时钟信号)
- APB1倍频器:可选1、2倍频
- APB2分频器
- APB3倍频器
看完了一路,我们对我们目前已知和未知的做一个总结。
在STM32F411中一共有5个时钟源,分别是