基于STM32F407板子的复位和时钟控制(RCC)相关知识点

       时钟就是具有周期性的脉冲信号,相当于单片机的心脏,给单片机提供一个统一的信号,要想使用单片机的外设必须开启相应的时钟。

STM32有四个时钟源

HSE(高速外部时钟) 8MHZ的外部晶振

LSE(低速外部时钟)

HSI(高速内部时钟) 内部的时钟不稳定,没有独立的晶振源

LSI(低速内部时钟)

时钟树

① LSI(Low Speed Internal Clock, 低速内部时钟):RC振荡器,频率为32KHz。独立看门狗的时钟源只能是LSI,同时LSI还可以做RTC的时钟源。

② LSE(Low Speed External Clock, 低速外部时钟):接频率为32.768KHz的石英晶体,LSE主要是RTC的时钟源。

③ HSI(High Speed Internal Clock, 高速内部时钟):RC振荡器,频率为16MHz,精度不高

④ HSE(High Speed External Clock, 高速外部时钟):可接石英/陶瓷谐振器,或外接时钟源,频率范围是2MHz~26MHz。(STM32F407ZGT6开发板用的是一个8Mhz的晶振),当HSE 故障时,高速的内部时钟信号HSI会作为备用的系统时钟,直到HSE恢复正常。

⑤ PLL(Phase Locked Loop, 锁相环倍频输出):理论上不能算是时钟源,只是接收时钟源后对其进行分/倍频,分/倍频倍数可修改参数调节。(我们的开发板最大可输出168Mhz)

③④⑤ 是来驱动系统时钟 (SYSCLK)的。

锁相环PLL

         PLL 的主要作用是对时钟进行倍频,然后把时钟输出到各个功能部件,由HSE 或者HSI 提供时钟输入信号

        主PLL 有两路的时钟输出,第一个输出时钟PLLCLK 用于系统时钟,F407 里面最高是168M。

        第二个输出用于USB OTG FS 的时钟(48M)、RNG 和SDIO 时钟(<=48M)。

        专用的PLLI2S 用于生成精确时钟,给I2S 提供时钟。

PLLCLK的计算公式为:

VCOCLK_IN = PLLCLK_IN / M 2

VCOCLK_OUT = VCOCLK_IN * N 42

PLLCLK_OUT=VCOCLK_OUT /P 1

系统时钟SYSCLK=PLLCLK=((HSE / M)*N)/ P (最高168 MHz)

如果系统时钟是由HSE 经过PLL 倍频之后的PLLCLK 得到,当HSE 出现故障的时候,系统时钟会切换为HSI=16M,直到HSE 恢复正常为止。

调节 CPU 的运行频率,来控制系统的性能与功耗。比较典型的例子就是说手机/笔记本电脑都有高性能模式、平衡模式、低性能模式。

GPIO时钟使能 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

USART时钟使能 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

main函数没有调用,修改时钟的操作是在main函数之前执行的SystemInit()函数设置的

  • 修改主频到168Mhz
  • 超频和降频

独立看门狗时钟由内部的低速时钟LSI 提供,大小为32KHZ。

I2S 时钟可由外部的时钟引脚I2S_CKIN 输入,也可由专用的PLLI2SCLK 提供,具体的由RCC 时钟配置寄存器(RCC_CFGR) 的I2SSCR 位配置

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值