这是stm 32的时钟系统,时钟与单片机的关系就好比心脏与人的关系一样,它为单片机的运行提供时间基准。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倍频后得到。

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

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

本团队长期从事电子技术研发,Taobao专营单片机系列产品,欢迎前来选购。店址:

https://shop112881010.taobao.com/ 。同时,欢迎前来咨询相关问题。

举报/反馈

小马爱上半导体

4110获赞 1178粉丝
致力于半导体、单片机研发设计
关注
0
0
收藏
分享