首页 理论教育 STM32时钟系统:快速入门+技巧分享

STM32时钟系统:快速入门+技巧分享

时间:2023-10-21 理论教育 版权反馈
【摘要】:与使用51系列单片机类似,需要使用定时器功能时都需知道系统的时钟,因为定时器都是以计数器为基础,通过对系统的时钟进行计数完成定时,因此我们必须先了解STM32的时钟系统。图6-1STM32时钟树因为时钟树比较复杂,下面仅对与目前定时器相关的内容进行展开。STM32的PLL有两个,一个是主PLL,另一个是专用的PLLI2S,它们均由HSE或者HSI提供时钟输入信号。这些时钟都是STM32各种外设所需要的时钟。

STM32时钟系统:快速入门+技巧分享

与使用51系列单片机类似,需要使用定时器功能时都需知道系统的时钟,因为定时器都是以计数器为基础,通过对系统的时钟进行计数完成定时,因此我们必须先了解STM32的时钟系统。STM32的时钟系统比51系列单片机的复杂很多,图6-1是STM32时钟树,所有的外设需要的时钟均在时钟树上产生,比如GPIO的时钟。

图6-1 STM32时钟树

因为时钟树比较复杂,下面仅对与目前定时器相关的内容进行展开。

1.锁相环PLL

PLL的主要作用是对时钟进行倍频或分频,然后把时钟输出到各个功能部件。倍频的倍数称为倍频因子,分频时则称为分频因子。STM32的PLL有两个,一个是主PLL,另一个是专用的PLLI2S,它们均由HSE或者HSI提供时钟输入信号

主PLL有两路时钟输出:第一个输出时钟PLLCLK用于系统时钟,F407的系统时钟为168MHz;第二个输出用于USB OTG FS的时钟(48MHz)、RNG和SDIO时钟(≤48MHz)。专用的PLLI2S用于生成精确时钟,给I2S提供时钟。

2.HSE

HSE是高速的外部时钟信号,可以由有源晶振或者无源晶振提供,频率范围为4~26MHz。当使用有源晶振时,时钟从OSC_IN引脚进入,OSC_OUT引脚悬空;当选用无源晶振时,晶振接到OSC_IN与OSC_OUT,并联谐振电容。开发板使用了25MHz的无源晶振。

3.HSI

HSI为高速内部时钟信号,由内部16MHz RC振荡器生成,可直接用作系统时钟,或者用作PLL输入。HSI RC振荡器的优点是成本较低(无需使用外部组件)。此外,其启动速度也比HSE晶振快,但其精度不及外部晶振或陶瓷谐振器

4.LSE

LSE为低速外部时钟,相对于HSE,属于低速时钟,主要提供给实时时钟模块,频率一般为32.768kHz。

5.LSI

LSI为低速内部时钟,相对于HSI,属于低速时钟,由内部RC振荡器产生,主要提供给实时时钟模块,频率大约为40kHz。

6.SYSCLK(www.xing528.com)

SYSCLK来源可以是HSI、PLLCLK、HSE,具体由时钟配置寄存器RCC_CFGR的SW位配置。如果系统时钟由HSE经过PLL倍频之后的PLLCLK得到,当HSE出现故障时,系统时钟会切换为HSI=16MHz,直到HSE恢复正常为止。在图6-1中可以看到SYSCLK频率最高为168MHz。

7.其他时钟

图6-1中还有其他时钟:以太网PTP时钟、AHB时钟、APB时钟、I2S时钟、外设使能时钟等。这些时钟都是STM32各种外设所需要的时钟。各个时钟基本是按图6-2流程进行处理的。

图6-2 STM32时钟的处理流程

比如,选择外部晶振,可以使用HSE(不倍频)或者HSE经过锁相环PLL倍频之后的时钟作为SYSCLK。另外,HSE经过倍频后可通过多个预分频器配置AHB频率、高速APB(APB2)和低速APB(APB1)。AHB域的最大频率为168MHz。高速APB2域的最大允许频率为84MHz,低速APB1域的最大允许频率为42MHz。

以SYSCLK为例,将外部晶振25MHz接到HSE引脚(HSE=25Mhz),HSE需要经过几个分频因子与倍频因子,如图6-3所示。HSE经过分频因子M(/M)后,然后经过倍频因子N,再经过一个分频因子P。最后输出到SYSCLK,因此SYSCLK=PLLCLK=[(HSE/M)×N]/P。这里设置分频因子M为25,倍频因子N为336,分频因子P为2,则计算出SYSCLK=[25/25)*336]/2MHz=168MHz,即SYSCLK被设置为最高频率168MHz。分频因子与倍频因子取值范围如表6-1所示。

图6-3 使用HSE时钟设置的分频与倍频因子

表6-1 SYSCLK设置的倍频、分频因子

当然,也可以使用HSI作为SYSCLK的输入源,设置方式如图6-4所示。HSI频率为16MHz,设置分频因子为16,得SYSCLK=[(16/16)*336]/2MHz=168MHz。HSI的时钟误差比较大。

HSE与HSI也可以不使用PLL,直接作为SYSCLK,但频率无法倍频与分频,如图6-3所示。

图6-4 使用HSI时钟设置的分频与倍频因子

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈