浅谈STM32F4的时钟系统

描述

本文将介绍STM32F4的时钟系统。

1.STM32F4时钟树

对于CPU来讲时钟系统就像是脉搏一样,时钟系统频率的快慢决定了、指令执行的速度;和51单片机相比STM32F4的时钟系统比较复杂,这是因为STM32芯片本身有很多的外设、但这些外设并不是都需要和系统时钟一样高的频率,这就造成了STM32F4芯片有多个时钟源;比如看门狗电路、RTC电路只需要几十K的时钟源,同时时钟频率越快、电路的功耗就越大且抗干扰的能力会下降,所以对于较为复杂的MCU一般会采用多时钟源的方案来解决这些问题。以下是STM32F4时钟树框图:

cpu

2.STM32F4时钟源

STM32F4中有5个重要的时钟源:HSI、HSE、LSI、LSE、PLL;

其中可以分为3个类别,分别是:外部时钟(LSE、HSE)、内部时钟(HSI、LSI)、由倍频产生的PLL时钟,下面我们分别对这5个重要的时钟进行解释。

HSI:H代表高H、S代表速度Speed、I代表inner内部,HSI即代表内部高速时钟,内部高速时钟是由芯片内部的RC振荡器产生的一个16MHz时钟源,它可以作为系统时钟的时钟源、或者用于倍频产生PLL时钟源。

HSE:H代表高H、S代表速度Speed、E代表外部External,HSE即代表外部高速时钟,外部高速时钟是通过在芯片特定引脚处接入石英/陶瓷谐振器产生的一个4-26MHz的一个时钟源,当然通过直接将一个时钟源接入特定引脚来为芯片提供一个4-26MHz的时钟源也是可以的。

LSE:L代表低Low、S代表速度Speed、E代表外部External,LSE即代表外部低速时钟源;可通过在芯片特定引脚处接入32.768KHz的石英晶体来作为外部低速时钟源,LSE可以作为RTC的时钟源、这个时钟源虽然频率低但是更加精确,适合计时。

LSI:L代表低Low、S代表速度Speed、I代表内部inner,LSI即代表内部低速时钟;LSI是由芯片内部RC振荡器产生的一个32KHz的时钟源,供独立看门狗和自动唤醒单元使用;在芯片刚刚上电的时候一般都是使用的LSI待工作正常后可以切换时钟源;最后我们再来看下PLL时钟源。

PLL时钟源:PLL时钟源本质上是HSE、HSI通过PLL锁相环倍频输出产生的,STM32F4有两个PLL、分为主PLL、专用PLL;

主PLL由HSE、或者HSI提供时钟信号在倍频后可以输出两个不同的时钟PLLP、PLLQ,PLLP主要用于系统时钟(频率最高可达168MHz),PLLQ作为USB OTG FS的时钟源(48MHz)、随机数发生器、SDIO的时钟;

专用PLL(PLLI2S)用于生成精确的时钟源,可以在I2sjiekou实现高品质音频性能;

具体的时钟频率计算:HSE或HSI时钟源除以值为M的分频系数后、经过倍频系数为N的倍频器、在经过分频系数为P或Q的分频器后,得到PLLP或PLLQ的时钟频率

PLLP = 时钟输入源/M*N/P;

PLLQ= 时钟输入源/M*N/Q;

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分