STM32F1系列单片机的时钟系统

控制/MCU

1814人已加入

描述

这是stm32的时钟系统,时钟与单片机的关系就好比心脏与人的关系一样,它为单片机的运行提供时间基准。STM32F1系列单片机的时钟树请看图1。

单片机

图1 STM32F1系列单片机的时钟树

我们将这个复杂的系统分成三个部分,第一个部分是时钟的输入,也就是时钟源。第二个部分是时钟的输出,也就是各种外设等应用模块。第三个部分就是连接输入与输出的枢纽,也就是锁相回路、分频器和倍频器等。请看图2.

单片机

图2 时钟系统的三个部分

STM32F1系列单片机有四个时钟源:

1.低速的内部时钟(LSI),它是一个RC振荡器,可以产生40KHz左右的时钟频率,供给独立看门狗或实时时钟使用。

单片机

(a) 低速的内部时钟(LSI)

2.低速的外部时钟(LSE),它只用于给实时时钟提供时间基准。

单片机

(b) 低速的外部时钟(LSE)

3.高速的外部时钟(HSE),也就是外接晶振,晶振的频率范围是4-16MHz,这个时钟有3种用途,可以直接或2分频后传输给锁相回路,也可以直接作为系统时钟,或128分频后,供给实时时钟使用。

单片机

(c) 高速的外部时钟(HSE)

4.高速的内部时钟(HSI),由一个RC振荡器产生一个8MHz的时间基准,这个时钟有两个去向,直接供给系统时钟或者二分频之后输入锁相回路。

单片机

(d) 高速的内部时钟(HSI)

系统时钟可直接供给I2S2、I2S3接口使用,或经过AHB预分频分频后再分发给各种外设和接口使用。如图3所示。

单片机

图3 系统时钟经分频器分频

有人说,如果采用16MHz的高速外部时钟再经过16倍频后系统时钟就可以达到256MHz了,那么单片机的运行速度就可以大大提高了,但我们一般不这么做,因为超频后时钟不稳定且功耗增加。我们一般只取72MHz,也就是外接8M晶振再经9倍频后得到。

那么为什么不使用同一个时钟来为所有外设提供时间基准呢,这是因为不同的外设对时钟频率有不同的要求,如果全使用高速时钟,势必会造成时钟资源浪费且增加功耗。

最后我们需要知道,任意一个时钟源都可以被独立的启动或关闭,同时任意一个外设的时钟也可以单独的被使能或关闭,这样,就可以从软件上将系统功耗优化到最佳。

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

全部0条评论

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

×
20
完善资料,
赚取积分