对于刚接触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时钟树涉及的的分频器、倍频器该怎么配置,即如何配置系统时钟、外设时钟?
本文尚未涉及该问题分析。

STM32时钟树分析相关推荐

  1. 参照STM32时钟树配置STM32CubeMX Clock Configuration(STM32L011G4U6为例)

    微控制器(处理器)的运行必须要依赖周期性的时钟脉冲来驱动--往往由一个外部晶体振荡器提供时钟输入为始,最终转换为多个外部设备的周期性运作为末,这种时钟"能量"扩散流动的路径,犹如大 ...

  2. IMX6ULL裸机程序--4.时钟树分析

    IMX6ULL裸机程序--4.时钟树分析 时钟树分析 树根--时钟源 主干-- 7路PLL时钟源+8路PFD 主分支-- CLOCK ROOT GENERATOR 果实 -- 外设 IMX6ULL时钟 ...

  3. STM32—时钟树(结合系统时钟函数理解)

    时钟树的概念: 我们可以把MCU的运行比作人体的运行一样,人最重要的是什么?是心跳! 心脏的周期性收缩将血液泵向身体各处.心脏对于人体好比时钟对于MCU,微控制器(MCU)的运行要靠周期性的时钟脉冲来 ...

  4. stm32时钟树_先学STM8,还是学STM32?

    有朋友问:我学习过51,接下来我是先学习STM8,还是STM32呢? 物联网STM32入门 - 直播课程 - 创客学院​www.makeru.com.cn 嵌入式开发直播课 - STM32 USART ...

  5. STM32时钟树学习笔记

    直接上时钟树 在学习STM32的时候时钟的配置是一直必不可少的过程,也许你用别人的代码很爽,但是真正的做项目还是使用自己建立的工程最靠谱. 上图为用的原子哥的一张时钟树的图片. 下面是经常用到的全局宏 ...

  6. esp32 rtc 时钟设置不对_STM32入门系列-STM32时钟系统,STM32时钟树

    时钟对于单片机来说是非常重要的,它为单片机工作提供一个稳定的机器周期从而使系统能够正常运行.时钟系统犹如人的心脏,一旦有问题整个系统就崩溃.我们知道STM32属于高级单片机,其内部有很多的外设,但不是 ...

  7. stm32时钟树_STM32中的时钟

    时序在数字电路中的作用,就像通信中用到的载波,载波并不起眼,但是很重要.时钟也一样,现象上只是某种频率波峰波谷跳动,一成不变.但是有了它,就像人类的历史有了时间轴一样,什么时候该干什么事才有了可能.程 ...

  8. 一文读懂STM32时钟树(时钟系统)(以STM32F767为例)

    STM32时钟系统 导读 时钟系统的构成 总结 导读 我在刚开始接触STM32/单片机的时候看到它的时钟系统/时钟树,都会感觉懵懵的,这是个啥?它想要告诉我哪方面的数据?特此一文记录一下学习心得. 时 ...

  9. STM32系统时钟树分析

    文章新地址 下面是一个STM32芯片的时钟树图 1.LSI是低速内部时钟,RC振荡器,频率为32kHz左右.供独立看门狗和自动唤醒单元使用. 2.LSE是低速外部时钟,接频率为32.768kHz的石英 ...

最新文章

  1. VMM2012应用指南之2- 准备VMM2012虚拟机
  2. chap10 构建Web内容的技术
  3. java继承circle类_java的继承
  4. ubuntu安装环境软件全文档
  5. dicom格式怎么转换_flv怎么转换成mp4格式?三种最常用的转换方法都在这了!
  6. Matlab中MatPower模块的安装流程
  7. 用python处理文本数据(5)
  8. (002)循环语句,数组,方法,走进面向对象(封装)
  9. [JZOJ5666]【GDOI2018Day2模拟4.18】法力风暴(分治NTT 模板)
  10. 无法打开内核设备“\\.\VMCIDev\VMX”: 操作成功完成。是否在安装 VMware Workstation 后重新引导? 模块“DevicePowerOn”启动失败。 未能启动虚拟机。
  11. RN组件 - Image图片
  12. Android缓存,删除网络依赖包缓存
  13. 从0开始写前端UI框架:概述
  14. 用Python实现一个轮盘抽奖小游戏~
  15. 书架bookshelf
  16. 运营精益创业组织的柔术
  17. 区块链开源实现hyperledger fabric架构详解
  18. matlab路面功率谱密度的代码,[转载]转:matlab求功率谱密度代码实例
  19. 全国各个省份市区县明细数据
  20. Windows下安装Mysql8.0版本

热门文章

  1. 华为电脑管家不显示“我的设备”选项,只有“我的手机”选项
  2. simulink中Bus creator与Demux模块有什么区别啊?
  3. oracle12数据库重启命令,linux重启oracle数据库命令
  4. Matlab将元胞数组输出到txt或者dat文件中
  5. unity 调用打印机打印照片
  6. Swift--Result of call to ‘xxx‘ is unused返回值未实现
  7. 游戏显示链接服务器失败,英雄联盟连接服务器失败解决方法
  8. Android的无边界程序设计理念
  9. 游戏建模要学什么软件啊
  10. 计算机考研408每日一题 day46