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

相关推荐
南棱笑笑生1 分钟前
20251107给荣品RD-RK3588-MID开发板跑Rockchip的原厂Android13系统时适配8寸屏的CTP【使用荣品的DTS】
单片机·嵌入式硬件·rockchip
雍凉明月夜2 分钟前
Ⅱ人工智能学习之深度学习(deep-learning)概述
人工智能·深度学习·学习
辛河7 分钟前
单片机 小结
单片机·嵌入式硬件
d111111111d18 分钟前
STM32外设学习--USART串口外设--学习笔记。
笔记·stm32·单片机·嵌入式硬件·学习
摇滚侠22 分钟前
GIT版本管理工具轻松入门 | TortoiseGit,解决冲突,笔记07
笔记·git
LCMICRO-1331084774630 分钟前
长芯微LPS5820完全P2P替代NCP51820,LPS5820 是一款高速半桥驱动器,可用来驱动半 桥功率拓扑的 GaN 功率管。
stm32·单片机·嵌入式硬件·fpga开发·硬件工程
河铃旅鹿32 分钟前
Android开发-java版:BroadcastReceiver广播
android·笔记·学习
koo36441 分钟前
李宏毅机器学习笔记
人工智能·笔记·机器学习
洋洋的笔记1 小时前
小白银行测试初步了解(四)信用卡
经验分享·笔记·学习
im_AMBER1 小时前
HTTP概述 01
javascript·网络·笔记·网络协议·学习·http