RCC复位与时钟控制配置详解.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第1章RCC—复位时钟控制

本章参考资料:《STM32中文参考手册》RCC章节。

学习本章时,配合《STM32中文参考手册》RCC章节一起阅读,效果会更佳,特别是

涉及到寄存器说明的部分。

RCC:resetclockcontrol复位和时钟控制器。本章我们主要讲解时钟部分,特别是要

着重理解时钟树,理解了时钟树,STM32的一切时钟的来龙去脉都会了如指掌。

1.1RCC主要作用—时钟部分

设置系统时钟SYSCLK、设置AHB分频因子(决定HCLK等于多少)、设置APB2分

频因子(决定PCLK2等于多少)、设置APB1分频因子(决定PCLK1等于多少)、设置各

个外设的分频因子;控制AHB、APB2和APB1这三条总线时钟的开启、控制每个外设的时

钟的开启。对于SYSCLK、HCLK、PCLK2、PCLK1这四个时钟的配置一般是:PCLK2=

HCLK=SYSCLK=PLLCLK=72M,PCLK1=HCLK/2=36M。这个时钟配置也是库函数的标

准配置,我们用的最多的就是这个。

1.2RCC框图剖析—时钟部分

时钟树单纯讲理论的话会比较枯燥,如果选取一条主线,并辅以代码,先主后次讲解

的话会很容易,而且记忆还更深刻。我们这里选取库函数时钟系统时钟函数:

SetSysClockTo72();以这个函数的编写流程来讲解时钟树,这个函数也是我们用库的时候

默认的系统时钟设置函数。该函数的功能是利用HSE把时钟设置为:PCLK2=HCLK=

SYSCLK=72M,PCLK1=HCLK/2=36M。下面我们就以这个代码的流程为主线,来分析

时钟树,对应的是图中的部分,代码流程在时钟树中以数字的大小顺序标识。

图1STM32时钟树

1.2.1系统时钟

1.①HSE高速外部时钟信号

HSE是高速的外部时钟信号,可以由有源晶振或者无源晶振,频率从4-16MHZ

不等。当使用有源晶振时,时钟从OSC_IN引脚进入,OSC_OUT引脚悬空,当选用无源

晶振时,时钟从OSC_IN和OSC_OUT进入,并且要配谐振电容。

HSE最常使用的就是8M的无源晶振。当确定PLL时钟的时候,HSE可以不分频

或者2分频,这个由时钟配置寄存器CFGR的位17:PLLXTPRE设置,我们设置为HSE

不分频。

2.②PLL时钟源

PLL时钟可以有两个,一个来自HSE,另外一个是HSI/2,具体用哪个由时钟配

置寄存器CFGR的位16:PLLSRC设置。HSI是低速的时钟信号,频率为8M,根据

温度和环境的情况频率会有漂移,一般PLL的时钟。这里我们选HSE作为

PLL的时钟。

3.③PLL时钟PLLCLK

通过设置PLL的倍频因子,可以对PLL的时钟进行倍频,倍频因子可以

是:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],具体设置成多少,由时钟配置寄存器CFGR的位

21-18:PLLMUL[3:0]设置。我们这里设置为9倍频,因为上一步我们设置PLL的时钟

为HSE=8M,所以经过PLL倍频的PLL时钟:PLLCLK=8M*9=72M。72M是ST

推荐的稳定运行时钟,如果你想超频的话,增大倍频因子即可,最高为128M。我们

这里设置PLL时钟:PLLCLK=8M*9=72M。

4.④系统时钟SYSCLK

系统时钟可以是:HSI、PLLCLK、HSE,具体的时钟配置寄存器CFGR的位1-

0:SW[1:0]设置。我们这里设置系统时钟:SYSCLK=PLLCLK=72M。

5.⑤AHB总线时钟HCLK

系统时钟SYSC

文档评论(0)

136****1820 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档