第五天

2020.11.06第五天学习总结

主要内容为编写系统时钟函数

RCC是Reset Clock Control,即复位和时钟控制器。

1.设置系统时钟SYSCLK

AHB分频因子(决定HCLK等于多少)

APB2分频因子(决定PCLK2等于多少)

APB1分频因子(决定PCLK1等于多少)

各个外设的分频因子

控制AHB、APB2、APB1三条总线时钟的开启。

每个外设的时钟的开启

对于SYSCLK、HCLK、PCLK2、PCLK1这四个时钟的配置(库函数的标准配置)一般是:HCLK=SYSCLK=PLLCLK=180MHz

PCLK2=HCLK/2=90MHz

PCLK1=HCLK/4=45MHz

2.HSE高速外部时钟信号(常用25MHz的无源晶振)

可由有源晶振和无源晶振提供

频率4MHz~26MHz

使用有源晶振时,时钟从OSC_IN引脚进入,OSC_OUT引脚悬空

选用无源晶振时,时钟从OSC_IN何OSC_OUT进入,并配有谐振电容。

3.PLL锁相环

对时钟进行倍频,然后把时钟输出到各个功能部件。

有两个,主PLL和专用PLLI2S(均由HSE和HSI提供输入信号)。

主PLL有两路时钟输出:

第一个输出时钟PLLCLK用于系统时钟(PLLCLK=HSE*N/(M*P)),

第二个用于USB OTG FS的时钟,RNG和SDIO时钟。

专用PLLI2S用于生成精确始终。

4.SYSCLK系统时钟

可源于HSI、PLLCLK、HSE,具体由时钟配置寄存器RCC_CFGR的SW位配置。(常用系统时钟SYSCLK=PLLCLK=180MHz)

5.HCLK   AHB 总线时钟

SYSCLK经AHB预分配器分配之后得到的时钟叫APB总线时钟,即HCLK。

分频因子具体由时钟配置寄存器RCC_CFGR的HPRE位设置。

大部分外设时钟是经过HCLK分频得到的。

6.PCLK2   APB2总线时钟

高速的总线时钟,高速的外设要挂载到这条总线上。

7.PCLK1   APB1总线时钟

低速的总线时钟(最高为45MHz),低速的外设挂载到这条总线上。

8.使用HSE时,设置系统时钟的步骤

(1)开启HSE,并等待HSE稳定

(2)设置AHB、APB2、APB1的预分频因子

(3)设置PLL的时钟来源

设置VCO输入时钟,分频因子       m

设置VCO输出时钟,倍频因子       n

设置PLLCLK时钟分频因子            p

设置OTG   FS,SDIO,RNG时钟分频因子       q

(4)开启PLL,并等待PLL稳定

(5)把PLLCLK切换为系统时钟SYSCLK

(6)读取时钟切换态位,确保PLLCLK被选为系统时钟。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容