[其他ST产品] stm32f103——时钟树的分析与配置(转载记录)

[复制链接]
1419|51
 楼主| 过期的塔头 发表于 2023-1-31 11:38 | 显示全部楼层 |阅读模式
时钟树是用来对单片机系统和各个外设进行时钟配置的,因为不同的外设,其电路不同,对时钟频率的要求也就不同。所以需要我们对时钟源的频率进行改变,变成外设需要的时钟频率。
8613963d88d350e552.png

 楼主| 过期的塔头 发表于 2023-1-31 11:46 | 显示全部楼层
 楼主| 过期的塔头 发表于 2023-1-31 11:46 | 显示全部楼层
 楼主| 过期的塔头 发表于 2023-1-31 12:01 | 显示全部楼层
首先时钟树分为俩部分:


左边部分是时钟的来源,右边部分是时钟的去向:
8692763d892a20d441.png
 楼主| 过期的塔头 发表于 2023-1-31 12:04 | 显示全部楼层
各类时钟简括:

1.HSE时钟(高速外部时钟):来源为外部晶振,通常速度8Mhz。由RCC_CR时钟控制寄存器中的16:HSEON控制。
 楼主| 过期的塔头 发表于 2023-1-31 12:05 | 显示全部楼层
2.HSI时钟(高速内部时钟):来源为芯片内部,大小为8Mhz,当HSE故障时,系统时钟会自动切换到HSI,知道HSE启动成功,相当于HSE的替补。由RCC_CR时钟控制寄存器的位0:HSION控制。
 楼主| 过期的塔头 发表于 2023-1-31 12:08 | 显示全部楼层
3.PLLCLK(锁相环时钟):来源为HSI/2或HSE,经过倍频所得。由CFGR(时钟配置寄存器)中PLLXTPRE、PLLMUL控制。
 楼主| 过期的塔头 发表于 2023-1-31 12:08 | 显示全部楼层
4.SYSCLK(系统时钟):来源为HSI或HSE或PLLCLK,最高速度为72M。由CFGR中的SW控制。
 楼主| 过期的塔头 发表于 2023-1-31 12:08 | 显示全部楼层
5.HCLK(AHB高速总线时钟):来源由系统时钟分频得到,速度最高为72M。由CFGR中的HPRE控制。
 楼主| 过期的塔头 发表于 2023-1-31 12:09 | 显示全部楼层
6.PCLK1(APB1低总线时钟):来源为HCLK分频得到,速度最高为36M ,为APB1总线上的外设提供时钟。由RCC_CFGR时钟配置寄存器的PPRE1位控制。
 楼主| 过期的塔头 发表于 2023-1-31 12:09 | 显示全部楼层
7.PCLK2(APB2高总线时钟):来源为HCLK分频得到,速度最高为72M,为APB2总线上的外设提供时钟。由RCC_CFGR时钟配置寄存器的PPRE2位控制。
 楼主| 过期的塔头 发表于 2023-1-31 12:09 | 显示全部楼层
8.RTC时钟:来源为HSE_RTC(HSE分频得到)、LSE、LSI,为芯片内部的RTC外设提供时钟。由RCC备份域控制寄存器RCC_BDCR中RTCSEL控制。
 楼主| 过期的塔头 发表于 2023-1-31 12:09 | 显示全部楼层
9.MCO时钟输出 :来源为PLLCLK/2、HSE、HSI、SYSCLK,微控制器时钟输出引脚,由PA8复用所得。由CRGR中MCO控制。
 楼主| 过期的塔头 发表于 2023-1-31 12:09 | 显示全部楼层
我来看时钟树中几个重要部件:

4个时钟源: 9038763d894835ab71.png
 楼主| 过期的塔头 发表于 2023-1-31 12:10 | 显示全部楼层
.内部高速时钟HSI: 9722563d8949242f54.png 单片机内部自带有时钟源,其频率位8Mhz。但是,与外部时钟源不同的是,它是一个RC振荡器,它的精度和稳定性(受温度影响大)要低于外部晶振,所以它适用于在对时钟频率精度要求不高或者产品体积很小的场合使用。
 楼主| 过期的塔头 发表于 2023-1-31 12:10 | 显示全部楼层
当HSE故障时,系统时钟会自动切换到HSI。
 楼主| 过期的塔头 发表于 2023-1-31 12:10 | 显示全部楼层
2.外部高速时钟HSE: 8546463d894b5c6ece.png 2290263d894bc17f35.png
将外部晶振振荡电路(皮尔斯电路)作为时钟源,通常速度8Mhz ~ 12Mhz。由RCC_CR时钟控制寄存器中的16:HSEON控制。


由于其振荡频率高、精度高、稳定性较好,所以大部分场合使用的都是外部高速时钟。


 楼主| 过期的塔头 发表于 2023-1-31 12:11 | 显示全部楼层
3.外部低速时钟LSE: 6538563d894dd0266d.png 7016963d894e529bd3.png 外部低速时钟LSE,时钟源也是由外部晶振振荡电路提供。和外部高速时钟一样,只不过它的频率比外部高速时钟低很多。
 楼主| 过期的塔头 发表于 2023-1-31 12:13 | 显示全部楼层
内部低速时钟LSI:
7156263d8957f9d212.png
内部低速时钟,只有40Khz。它是看门狗的时钟源。
 楼主| 过期的塔头 发表于 2023-1-31 12:14 | 显示全部楼层
系统时钟和非系统时钟:
1506163d8958f70407.png
系统时钟就是红框处的SYSCLK,由图可知,其最大频率只能是72Mhz,而且它的时钟来源可以是上述4个时钟源中任何一个,至于选择哪一个作为时钟源,就看我们自己的应用,不过我们一般将系统时钟的频率都配置为72Mhz来使用。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

85

主题

999

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部