STM32学习 时钟树

在单片机中,时钟的概念非常重要,这次记录一下时钟树相关的知识。

STM32的时钟树是由多个时钟源和时钟分频组成的,为STM32芯片提供各种时钟信号。也就是说,在使用STM32的时候,所有的频率和时钟都是通过时钟树产生的。

那么既然提到时钟源,肯定要先说明来源,STM32的基础时钟源有4个HSI振荡器时钟 、HSE振荡器时钟 、LSI振荡器时钟 、LSE振荡器时钟。这是最底层的时钟来源。

HSI就是高速内部时钟,通过说明可以看到是由RC振荡器产生的8Mhz。

HSE就是高速外部时钟,通过说明可以看到是通过外部引入的,一般就是芯片上的石英晶振,通常也是8Mhz。

LSE就是低速外部时钟,通过说明可以看到是通过外部引入的,可以看到上面是32.768Khz,选用这个数值是它后面直接接入到RTC,因为RTC需要1hz,这个特殊的数值易于分频得到1hz。

LSI就是低速内部时钟,通过说明可以看到是由RC振荡器产生的40Khz。

在时钟源的后面,就是各个时钟源的去向,通过图来理解,不同时钟源的去向是不同的,框图里面的可以简单理解成多选一的数选器的功能,就是用来选定一个时钟来源的。

来看第一个框,可以看到SYSCLK的来源是在HSI,HSE,PLLCLK中选择一个,其中PLLCLK那个看起来很乱的东西就是分频和倍频;下面在HSE和其2分频中选一个通入到上面,再和HSI 的2分频进行选择,之后PLLMUL就是倍频,为什么要倍频,可以看到后面的SYSCLK最大是72Mhz,但是HSI和HSE最大也就是8Mhz,倍频就是把频率增加,可以看到PLLMU有多种选择,x2,x4最多是16倍倍频,具体使用哪一个需要我们在代码里面配置。

那么在来看第二个框就好理解了,RTC的时钟源可以由LSI、LSE、或者是HSE经过分频后来提供时钟,独立看门狗的时钟就是LSI了,具体使用哪一个需要我们在代码里面配置。

再来看后面的框图,可以看到AHB,AHB就是先进高性能总线,在AHB总线上有一条时钟线HCLK,这条时钟线就连接到DMA,内存,CPU等,其中系统时钟就是系统滴答时钟。

可以看到,各种外设并没有直接连接在AHB总线上,而是挂载在了APB1和APB2,APB就是先进外设总线,APB1和APB2桥连在了AHB总线总线上,所以APB1和APB2的时钟线也就是HCLK,APB1和APB2再通过各种分频处理之后连接到相应的外设,其中可以看到都有一个外设使能位,就是在函数里面配置的时钟初始化。

注意到HCLK和SYSCLK, 系统时钟SYSCLK最大频率为72MHz,它是供STM32中绝大部分部件工作的时钟源。系统时钟可由PLL、HSI或者HSE提供输出,并且它通过AHB分频器分频后送给各模块使用,AHB分频器可选择1、2、4、8、16、64、128、256、512分频。

最下面这一部分就是各时钟源的输出,可以在外部使用示波器来查看其频率与设定的是否正确。

参考资料

【STM32】超清晰STM32时钟树动画讲解_哔哩哔哩_bilibili

嵌入式学习笔记——STM32的时钟树_stm32时钟树-CSDN博客

STM32中的几个时钟SysTick、FCLK、SYSCLK、HCLK - Darrick_Jan - 博客园 (cnblogs.com)

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值