【STM32学习笔记】系列1 - 系统时钟原理(通俗易懂)

本文深入解析STM32单片机的时钟系统,包括时钟源、系统时钟生成、时钟资源分配及注意事项。介绍了HSI、HSE、PLL等关键时钟源及其在系统时钟中的作用,以及AHB、APB分频器的工作原理。

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

一、单片机中的系统时钟有多重要?

系统时钟就好比人的心脏,芯片没有时钟就是一块废料。

51单片机不需要配置时钟,因为一个时钟管理所有的功能资源。

STM32单片机低功耗的原因之一在于时钟。每个功能资源、每个引脚都有一个时钟,用到什么功能,开启什么功能的时钟即可。就好比学校宿舍的公共浴室好多水龙头,我去洗澡,使用一个就行。全部打开?疯了吧(土豪随意,不过也要节约水资源)。

芯片时钟走向:时钟-->系统时钟-->引脚与各个功能的时钟。

 

二、 STM32芯片的时钟简介,时钟从哪里来?

STM32的时钟源:(要死要活的也要记住)

(1)、HSI高速内部时钟(High Speed Internal):由芯片内部的RC振荡器产生,频率 为8MHz,精度不高。

(2)、HSE高速外部时钟(High Speed External):接个外部时钟源(如晶振),频率范 围在4MHz - 16MHz。一般常用         8MHz。

(3)、LSE低速外部时钟(Low  Speed External):接频率为32.768kHz的石英晶体。 仅用作RTC实时时钟。

(4)、LSI低速内部时钟(Low  Speed Internal):RC振荡器,频率约为40kHz,精度 不高。提供低功耗时钟;WDG独立看门  狗使用的时钟。

记不住?下面开始上图(这里要感谢原子哥!)

三、芯片的系统时钟从哪里来?

相信你已经知道芯片的芯片的心跳从哪里来的了。但是它要去哪呢?首先看上图。注意:上图灰色的梯形是选择器,选择器,择器,器。。。。。。。。

HSI高速内部时钟,看着它的连接线,一边可以当作系统时钟;另一边除以2(2分频)进入一个选择器,再进入PLL时钟,最后进入系统时钟。

HSE高速外部时钟......哔哔!其余三个时钟的输入路线看图,下面我来总结。

        1、系统时钟来源:HSI高速内部时钟;HSE高速外部时钟。(嗯!全是高速的)。

         2、PLL时钟:锁相环倍频输出。不懂?没关系,看下面。

                 (1)、STM32F1系列单片机官方给出最高系统时钟频率可达到72MHz,可是两个高速时钟的频率达不到怎么                                       办?通过PLL加倍啊(倍频),PLL时钟的作用就是如此了。STM32F1系列单片机最高倍频到72MHz当作                                 系统时钟。

                 (2)、PLL还有一条向下的线,输出的48MHz或者72MHz,通过USB分频输出USB时钟,最终的输出USB时钟                                   频率固定在48MHz。

         3、CSS(图中橙色的那块):时钟检测系统。一般情况下系统时钟使用HSE高速外部时钟源,如果外部高速时                                  钟坏了怎么办?嗯,不怕。CSS如果检测到高速外部时钟源损坏,自动切换为HSI高速内部时钟,即                                            SYSCLK=HSI。

         4、两个低速时钟?自己看吧!不想说了。系统时钟用不到。

 

四、系统时钟如何向下分配时钟资源?

看上图,系统时钟首先通过一个叫AHB分频器(即AHB Prescaler)分成三路。

(1)、一路叫HCLK,时钟频率最高达到72MHz。

(2)、二路通过APB1预分频器输出,叫PCLK1,时钟频率最高达到36MHz。主要负责为通用定时器提供时钟。注意:APB1预分频器除于1时,TIM2,3,4倍频器乘以1,否则乘以2。迷糊?这样说,PCLK1的时钟频率此时最高36MHz,即HCLK时钟频率(72MHz)通过APB1时除以了2,则TIM2,3,4倍频器此时乘以2,即通用定时器时钟达到72MHz。转了一圈又回到72MHz,为什么?嗯。。。。。。。。。。我也不知道!原谅我,此时水平有限。

(3)、三路通过APB2预分频器输出,叫PCLK2,时钟频率最高达到72MHz。然后看上图,再输送给下面各个引脚时钟与功能时钟。

五、整理一下思路与注意事项

1、一般我们使用的时钟走向如图。

呐呐,,,这是一般使用的时钟走向。由外部晶振到各个外设引脚与功能。

2、注意事项

      (1)、任何一个外设在使用之前,必须首先使能其相应的时钟。

      (2)、以上介绍整个时钟原理,具体怎么使用,需要配置各个寄存器,见下篇文章。

 

3、STM32可以选择一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL输出的2分频、HSI、HSE、或者系统时                         钟。如图(左边的中间)。可以验   证时钟是否正确,如下代码。使用示波器在PA8引脚检测即可。

软件下载 | 学习视频 | 嵌入式书籍 | 项目资料 |公众号中持续更新....

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

redeemer奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值