STM32学习笔记---时钟树

目录

一、时钟树:M3---STM32F103

1、主要时钟来源

​2、时钟系统线路分析

HSE时钟

HSI时钟

LSE时钟

LSI时钟

[PPLCLK ---锁相环时钟](#PPLCLK ---锁相环时钟)

[SYSCLK ---系统时钟](#SYSCLK ---系统时钟)

HCLK时钟

PCLK1时钟

PCLK2时钟

3、时钟树简图

4、构成部分作用分析

二、时钟树:M4---STM32F407

1、主要时钟来源

2、时钟简图

​3、时钟系统线路分析

HSE时钟

HSI时钟

LSE时钟

LSI时钟

[SYSCLK ---系统时钟](#SYSCLK ---系统时钟)

[PPLCLK ---锁相环时钟](#PPLCLK ---锁相环时钟)

HCLK时钟

PCLK1时钟

PCLK2时钟

4、构成部分作用分析


为什么要有时钟?

STM32时钟系统主要的目的就是给相对独立的外设模块提供时钟,主要也是为了降低整个芯片的功耗,所有外设时钟默认都是关闭状态(disable)当我们使用某个外设就要开启这个外设的时钟(enable),不同外设需要的时钟频率不同,没必要所有外设都用高速时钟造成浪费,而且有些外设也接受不了这么高的频率,这也是为什么STM32有四个时钟源的原因,就是兼容不同速度的外设,STM32的四个时钟源分别为:HSE、 LSE、HSI、LSI。其中,一般情况下我们使用HSE时钟来作为我们的系统时钟,它可以用来驱动APB,DMA,Cortex等系统 ;而低速时钟一般用于驱动RTC

一、时钟树:M3---STM32F103

1、主要时钟来源

2、时钟系统线路分析

HSE时钟

来源:无源晶振(4-16M),通常使用8M。

作用:可不分频或2分频(频率/2)作为PLL锁相环的输入,还可直接不分频作为系统时钟,128分频作为外设RTC时钟的输入

HSI时钟

来源:芯片内部,大小为8M,当HSE故障时,系统时钟会自动切换到HSI,直到HSE启动成功。

作用:可直接作为系统时钟或在2分频后作为PLL输入。HSI RC振荡器能够在不需要任何外部器件的条件下提供系统时钟。它的启动时间比HSE晶体振荡器短。然而,即使在校准之后它的时钟频率精度仍较差

LSE时钟

来源:芯片内部,LSE晶体是一个32.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟或者其他定时功能提供一个低功耗且精确的时钟源。

作用:直接作为RTC是时钟来源

LSI时钟

来源:内部芯片,LSI RC担当一个低功耗时钟源的角色,它可以在停机和待机模式下保持运行,LSI时钟频率大约40kHz(在30kHz和60kHz之间)。

作用:为独立看门狗和自动唤醒单元(RTC)提供时钟

PPLCLK ---锁相环时钟

来源:选择HSI振荡器除2或HSE振荡器为PLL的输入时钟,和选择倍频因子,必须在其被激活前完成。一旦PLL被激活,这些参数就不能被改动。

作用:内部PLL可以用来倍频HSI RC的输出时钟或HSE晶体输出时钟(倍频数2~16倍),而经过倍频变成PLLCLK可以作为系统时钟源

SYSCLK ---系统时钟

系统时钟:SYSCLK,最高为72M(ST官方推荐的)

来源:HSI、HSE、PLLCLK

HCLK时钟

HCLK:AHB高速总线时钟,速度最高为72M。

作用:为AHB总线的外设提供时钟、为Cortex系统定时器提供时钟(SysTick)、为内核提供时钟(FCLK)。

来源:系统时钟分频得到,一般设置HCLK=SYSCLK=72

PCLK1时钟

PCLK1:APB1低速总线时钟,最高为36M。

作用:为APB1总线的外设提供时钟。1或2倍频之后则为APB1总线的定时器2~7提供时钟来源:HCLK分频得到,一般配置PCLK1=HCLK/2=36M

PCLK2时钟

PCLK2:APB2高速总线时钟,最高为72M。

作用:为APB2总线的外设提供时钟。为APB2总线的定时器1和8提供时钟APB2分频器还有一路输出供ADC分频器使用,分频后送给ADC模块使用。

来源:HCLK分频得到,一般配置PCLK2=HCLK=72M

3、时钟树简图

简图①

简图②

大树:

小树:

4、构成部分作用分析

二、时钟树:M4---STM32F407

1、主要时钟来源

2、时钟简图

大树:

小树:

3、时钟系统线路分析

HSE时钟

来源:无源晶振(4-26M),通常使用25M。

作用:M分频(频率/M)作为PLL锁相环的输入,还可直接不分频作为系统时钟

HSI时钟

来源:芯片内部,大小为16M,当HSE故障时,系统时钟会自动切换到HSI,直到HSE启动成功。

作用:可直接作为系统时钟或在M分频后作为PLL输入。HSI RC振荡器能够在不需要任何外部器件的条件下提供系统时钟。它的启动时间比HSE晶体振荡器短。然而,即使在校准之后它的时钟频率精度仍较差

LSE时钟

来源:芯片内部,LSE晶体是一个32.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟或者其他定时功能提供一个低功耗且精确的时钟源。

作用:直接作为RTC是时钟来源

LSI时钟

来源:内部芯片,LSI RC担当一个低功耗时钟源的角色,它可以在停机和待机模式下保持运行,LSI时钟频率大约32kHz。

作用:为独立看门狗和自动唤醒单元(RTC)提供时钟

SYSCLK ---系统时钟

系统时钟:SYSCLK,最高为168M(ST官方推荐的)

来源:HSI、HSE、PLLCLK。

PPLCLK ---锁相环时钟

来源:选择HIS振荡器除2或HSE振荡器为PLL的输入时钟,和选择倍频因子,必须在其被激活前完成。一旦PLL被激活,这些参数就不能被改动。

作用:内部PLL可以用来倍频HSI RC的输出时钟或HSE晶体输出时钟,而经过倍频变成PLLCLK可以作为系统时钟源

HSE输入输出的计算:

PPL(HSE):25Mhz /M分频 * N倍频 / P分频

25Mhz / 25 * 336 / 2 = 168Mhz

HSI输入输出的计算:

PPL(HSI):25Mhz /M分频 * N倍频 / P分频

PLL_M = 16

PLL_N = 336

PLL_P = 2

16Mhz / 16 * 336 / 2 = 168Mhz

因为基于精度和稳定性要求、同步需求、灵活性和可扩展性以及可靠性考虑等方面的原因,所以HSI一般不用,只有在HSE发生故障的时候,系统时钟会自动切换到HSI,直到HSE启动成功。

HCLK时钟

HCLK:AHB高速总线时钟,速度最高为168M。

作用:为AHB总线的外设提供时钟、为Cortex系统定时器提供时钟(SysTick)、为内核提供时钟(FCLK)。

来源:系统时钟分频得到,一般设置HCLK=SYSCLK=168M

PCLK1时钟

PCLK1:APB1低速总线时钟,最高为42M。

作用:为APB1总线的外设提供时钟。1或2倍频之后则为APB1总线的定时器2~7、12~14提供时钟

来源:HCLK分频得到,一般配置PCLK1=HCLK/4=42M

PCLK2时钟

PCLK2:APB2高速总线时钟,最高为84M。

作用:为APB2总线的外设提供时钟。为APB2总线的定时器1或8、定时器9~11提供时钟来源:HCLK分频得到,一般配置PCLK2=HCLK/2=84M

4、构成部分作用分析

同上STM32F03

相关推荐
保持学习ing4 小时前
黑马Java面试笔记之框架篇(Spring、SpringMvc、Springboot)
java·笔记·spring·面试·mvc·mybatis·springboot
虾球xz4 小时前
CppCon 2014 学习:Decomposing a Problem for Parallel Execution
开发语言·c++·学习
超级韩逗逗4 小时前
正则表达式笔记
笔记·正则表达式
小智学长 | 嵌入式5 小时前
SOC-ESP32S3部分:25-HTTP请求
开发语言·单片机·esp32
love530love5 小时前
【笔记】2025 年 Windows 系统下 abu 量化交易库部署与适配指南
大数据·运维·人工智能·windows·笔记·python·conda
love530love5 小时前
【笔记】为 Python 项目安装图像处理与科学计算依赖(MINGW64 环境)
开发语言·图像处理·人工智能·windows·笔记·python·numpy
比特森林探险记5 小时前
ESP32与STM32
stm32·单片机·嵌入式硬件
子正6 小时前
振动分析师(ISO18436-2)四级能力矩阵 - 简介
笔记·预防性维护·phm·振动分析
limitless_peter6 小时前
相量法正弦稳态电路的分析(面向题目)
单片机·嵌入式硬件
爱出名的狗腿子6 小时前
vscode + cmake + ninja+ gcc 搭建MCU开发环境
ide·vscode·单片机·c·cmake·gcc·ninja