STM32的时钟树,你了解多少?

本文介绍了STM32F1系列单片机的时钟系统,将其分为时钟输入、输出和连接部分。内容包括四个时钟源:LSI、LSE、HSE和HSI,以及它们在系统中的应用。系统时钟经过分频器分配给不同外设,以满足不同频率需求,同时强调了功耗优化的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这是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倍频后得到。

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值