STM32——时钟系统RCC详细介绍

STM32的时钟系统学习,主要集中在时钟树的分析应用,时钟树里面有很多的时钟,它具体怎么配置,或者说我们的固件库函数是怎么配置的,这就是我们需要掌握的地方,最后我们达到的目的就是编写自己的库函数,实现对系统时钟的配置,比如让系统在超频情况下进行运作等等。
在这里我们先梳理一下学习的概要,首先我们将了解到RCC的主要功能是什么,之后我们将对系统时钟框图进行分析介绍,在这一步我么将了解到什么是系统时钟和外部时钟(包括USB时钟,Cortex系统时钟,ADC时钟,RCT时钟,独立看门狗时钟,MCO时钟输出)

一、RCC的主要作用

RCC在我们的单片机开发中主要实现以下的一些功能:
1、设置系统时钟SYSCLK
2、设置AHB分频因子(决定HCLK等于多少)
3、设置APB2分频因子(决定PCLK2等于多少)
4、设置APB1分频因子(决定PCLK1等于多少)
5、设置各个外设的分频因子
6、控制AHB,APB1,APB2这三条总线的时钟开启
7、控制每个外设的时钟开启

一般而言,对于SYSCLK,HCLK,PCLK1,PCLK2这四个时钟的配置一般是:
PCLK2 = HCLK = SYSCLK = PLLCLK = 72MHz
PCLK1 = HCLC/2 = 36MHz

二、RCC框图分析

2.1 HSE 高速外部时钟信号

HSE(High Speed External Clock signal)高速外部时钟信号, 可以通过外部的有源晶振或是无源晶振提供,外部晶振的频率为4~16MHz。
当使用有源晶振的时候,时钟从OSC_IN引脚进入,OSC_OUT引脚悬空。
当使用无源晶振的时候,需要搭配谐振电容,时钟从OSC_IN和OSC_OUT引脚进入。谐振电容一般配置为20PF。
通常来说HSE使用的是8MHz的无源晶振。当确定PLL时钟来源的时候,HSE可以不分频或者二分频,这个可以由时钟配置寄存器CFGR的位17——PLLXTPRE来设置。

2.2 PLL时钟源

PLL时钟的来源从框图中可以看到有两个,一个是HSE,另一个是 1/2HSE。具体用到哪个,由时钟配置寄存器CFGR的位16——PLLSRC来配置。

2.3 HSI内部高速时钟信号

HSI频率为8MHz,由于其在温度等环境变化下会产生频率漂移,一般不作为PLL的时钟来源。

2.4 PLL时钟PLLCLK

通过设置PLL的倍频因子,可以对PLL的时钟来源进行倍频操作,倍频因子可以是2-16,具体的设置参数,有时钟配置寄存器的

未完待续.2021.4.27

おすすめ

転載: blog.csdn.net/qq_36535414/article/details/116204936
おすすめ