STM32时钟树分析
来源:互联网 发布:第六届社交网络 编辑:程序博客网 时间:2024/05/23 18:05
对于刚接触STM32的时钟树,对时钟树的理解,可以重点先思考两个问题:
1、时钟从哪里来:时钟源。
2、时钟怎么供给STM32的系统工作:时钟的流向(输入——>处理——>输出)
下面以STM32F4系列的时钟树为例,分析以上两个问题。以下图是STM32F4系列的时钟树。
问题一、时钟从哪里来:时钟源。
STM32的时钟源主要有:内部时钟、外部时钟、锁相环倍频输出时钟。内部时钟、外部时钟又分为告诉时钟、低速时钟。锁相环倍频输出时钟又主PLL时钟、PLLI2S时钟。具体如下图所示。
1、LSI低速内部时钟:由内部RC振荡器产生,频率为32kHz。如图区域①;
2、HSI高速内部时钟:由内部RC振荡器产生,频率为16MHz。如图区域②;
3、LSE低速外部时钟:一般由外部晶振提供,频率为32.768kHz。如图区域③;
4、HSE低速外部时钟:一般由外部晶振提供,频率为4~26MHz。如图区域④;
5、主PLL时钟:由HSE或HSI提供。如图区域⑤;
6、PLLI2S时钟:由HSE或HSI提供。如图区域⑥;
问题二、时钟怎么供给STM32的系统工作:时钟的流向
我们已经知道了各个时钟源的输入,那么有了输入的时钟源,各个时钟源又是分别输出给哪些外设工作。我们分别从时钟源输入处开始,根据走线和结点,寻找到相应的输出。对应编号如下图中所示。
1、LSI低速内部时钟:供给独立看门狗⑴、实时时钟RTC⑵
2、HSI高速内部时钟:供给系统时钟⑸、时钟输出1MCO1⑷、主PLL时钟⑹、PLLI2S时钟⑺
3、LSE低速外部时钟:供给实时时钟RTC⑵、时钟输出1MCO1⑷
4、HSE低速外部时钟:供给系统时钟⑸、实时时钟RTC⑵、主PLL时钟⑹、PLLI2S时钟⑺、时钟输出1MCO1⑷、时钟输出2MCO2⑶
5、主PLL时钟:供给系统时钟⑸、外设时钟⑻、时钟输出1MCO1⑷、时钟输出2MCO2⑶
6、PLLI2S时钟::供给I2S时钟⑼、时钟输出1MCO1⑷、时钟输出2MCO2⑶
HSI、HSE、主PLL时钟都可以供给系统时钟⑸,STM32的很多外设是挂载在AHB、APB总线桥上的,这些外设的时钟又是怎么样的,这就和系统时钟的流向有关了,系统时钟的流向分析如下:
1、供给时钟输出2MCO2⑶
2、供给以太网PTP时钟⑽
3、经AHBPRESC预分频器⑾后:HCLK到AHB总线、内核、存储器和DMA⒁,到Cortex系统定时器⒂,自由运行时钟⒃
4、经AHBPRESC预分频器⑾、APBxPRESC预分频器⑿后:供给APBx外设时钟⒄
5、经AHBPRESC预分频器⑾、APBxPRESC预分频器后⑿,再经倍频条件判断⒀处理后:供给APBx定时器时钟⒅
用多个时钟源、分层控制时钟的好处:
1、一个外设有多个时钟源:可以根据需要选择相应频率的时钟源。
2、分层、分开控制外设时钟:使得各个外设的时钟都是可控的,各个外设有对应的时钟控制开关,实际应用过程根据需要开启相应外设时钟,不需要的外设时钟不开启,可以降低功耗。
有了以上对STM32时钟树的理解后,我们知道了各个时钟源的输入和输出后,可以进一步理解STM32时钟树:
1、从时钟源的输入到输出这两个节点,中间过程,是怎么处理的:即STM32时钟树涉及的的分频器、倍频器该怎么配置,即如何配置系统时钟、外设时钟?
本文尚未涉及该问题分析。
阅读全文
0 0
- 【时钟树】stm32时钟分析
- STM32时钟树分析
- STM32时钟树分析
- STM32系统时钟树分析
- stm32时钟分析
- STM32时钟分析
- stm32时钟分析
- stm32时钟初始化分析
- stm32时钟分析
- stm32时钟分析
- stm32时钟分析
- stm32时钟分析
- stm32时钟分析
- stm32时钟分析
- stm32时钟分析
- stm32 RCC 时钟分析
- stm32 时钟分析
- STM32时钟分析
- 浅谈java单例模式
- 动态规划求解最长回文字符串
- 如何中断动画状态机的转换过程?
- 【Linux】Shell总结
- Gulp在前端的常用操作实例
- STM32时钟树分析
- C语言交换两个数字的三种做法
- java获取指定的主机的IP地址
- Java进阶java int与Integer的区别
- ffmpeg常用参数一览表
- Qt Creator5.7添加qwt绘图插件之成功案例解析
- PotPlayer恢复默认设置
- Android Dialog使用
- leetcode 17. Letter Combinations of a Phone Number