目录

STM32f4的时钟树:

STM32f4的5个时钟源:

HSE:高速外部时钟

HSI:高速内部时钟

LSE:低速外部时钟

LSI:低速内部时钟

PLL:锁相环倍频输出

STM32f4时钟信号输出:

STM32f4系统初始化后的状态:

时钟树总结:

STM32f4的时钟树:


STM32f4的5个时钟源:

HSE

HSI

LSE

LSI

PLL

高速外部时钟

高速内部时钟

低速外部时钟

低速内部时钟

锁相环倍频输出


HSE:高速外部时钟

(High Speed External Clock signal),可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~26MHz。

HSE通常用于要求较高时钟精度的应用,比如需要准确定时或数据传输的场合。HSE可以提供一个可靠的高速时钟源,满足对时钟精度有要求的应用需求。

如下图所示HSE可作:MCO、RTC、SYSCLK的时钟来源。


HSI:高速内部时钟

(High Speed Internal Clock signal),一个高频率的内部RC振荡器,频率为16MHz,精度不高。可以直接作为系统时钟(SYSCLK)或者用作PLL时钟输入。

在默认情况下,系统会使用HSI作为系统时钟源。HSI具有较高的精度和稳定性,并且不需要外部元件,因此在许多应用中,HSI可以满足系统对时钟精度和成本的要求。

如下图所示HSI可作:MCO、SYSCLK、PLL的时钟来源、


LSE:低速外部时钟

( low Speed External Clock signal),接频率为32.768kHz的石英晶体。这种低速时钟源通常用于实时时钟(RTC)功能,以及一些低功耗模式下的时钟需求。因为这种低速时钟源提供了较高的稳定性和精度,适合用于时间计数和时间跟踪。此外,在一些低功耗模式下,也可以使用LSE来提供低功耗时钟源,以确保系统在低功耗状态下仍能正常运行。RTC有:LSI、LSE、HSE这三个时钟输入,但通常选择LSE作为时钟源。

如下图所示LSE可作:RTC  的时钟来源。


LSI:低速内部时钟

(low Speed Internal Clock signal),一个低频率的内部RC振荡器,频率为32kHz,提供低功耗时钟。主要供独立看门狗和自动唤醒单元使用。由于其低频率和较低的精度,LSI并不适合用作处理器核或高速外设的时钟源。

如下图所示LSI可作:RTC、看门狗 的时钟来源。


PLL:锁相环倍频输出

(Phase-Locked Loop Clock signal),STM32F4有两个PLL:

主PLL(PLL):由HSE或者HSI提供时钟信号,并具有两个不同的输出时钟。

第一个输出PLLP用于生成高速的系统时钟(最高168MHz)

第二个输出PLLQ用于生成USB OTGFS的时钟(48MHz),随机数发生器的时钟和SDIO时钟。

专用PLL(PLLI2S):用于生成精确时钟,从而在I2S接口实现高品质音频性能。

通过调整PLL的倍频和分频系数,可以根据具体需求生成各种频率的时钟信号。这样可以满足不同外设对时钟频率的要求,提供灵活性和性能优化的选择,被广泛应用于驱动处理器核和外设的时钟源,以满足不同外设的时钟需求并提供系统性能优化的能力。

系统时钟SYSCLK可来源于三个时钟源:HSI、 HSE、PLL,通常使用PLL作为系统时钟来源。

如下图所示主PLL可作:SYSCLK、MOCUSB 的时钟来源。

                  专业PLL可作:I2s、MOC2的时钟来源


STM32f4时钟信号输出:

通常可以选择将不同的时钟信号输出到MCO引脚,比如系统时钟源(SYSCLK)、PLL的输出时钟、HSE时钟、HSI时钟等。这样可以方便外部设备或模块使用微控制器的时钟信号,实现各种功能需求。

MCO

预分频器

输出IO口 输出时钟源 最大输出

MCO1

1 ~ 5

PA8

HIS,LSE,HSE,PLL

不超过100MHz

MCO2

1 ~ 5

PC9

HSE,PLL,SYSCLK,PLLI2S

不超过100MHz


STM32f4系统初始化后的状态:

SYSCLK系统时钟 PLL主时钟 AHB AHB1 AHB2
计算 SYSCLK=PLL 168MHz SYSCLK SYSCLK/4 SYSCLK/2
频率 168MHz 168MHz 168MHz 42MHz

84MHz

**假设:外部晶振选择8MHz,同时设置相应的分频器M=8,倍频器倍频系数 N=336,分频器分频系数P=2,那么主PLL生成的第一个输出高速时钟PLLP为:                                                      PLL=8MHz* N/ (M*P)=8MHz* 336 /(8*2)=168MHz**


时钟树总结:

时钟来源
SYSCLK HSI、 HSE、PLL
RTC LSI、LSE、HSE
PLL

HSE、HSI

MCO1 HIS,LSE,HSE,PLL
MCO2 HSE,PLL,SYSCLK,PLLI2S

***   注意:任何一个外设在使用之前,必须首先使能其相应的时钟    ***

作者:peinCK

物联沃分享整理
物联沃-IOTWORD物联网 » 深入解析STM32时钟系统

发表评论