STM32F1系列单片机的时钟系统

发布时间:
来源: 电子工程世界

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

poYBAGQcH22AdLQtAAC8ZIuClnE265.jpg

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

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

pYYBAGQcH26AMBQQAAA5vjyRoxQ680.jpg

图2 时钟系统的三个部分

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

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

pYYBAGQcH2-ABG92AAAX7ShTyZo283.jpg

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

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

pYYBAGQcH3CAE3t8AAAsxOFt-kA783.jpg

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

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

poYBAGQcH3GAA13lAAAeijtIrjk287.jpg

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

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

pYYBAGQcH3SAB0gaAAANoFMOkmA111.jpg

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

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

poYBAGQcH3WAWaNzAAAmO3WJ5kE692.jpg

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

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

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

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


文章来源于: 电子工程世界 原文链接

本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。