前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >STM32F4系统时钟树

STM32F4系统时钟树

作者头像
小锋学长生活大爆炸
发布2020-11-24 11:56:54
9190
发布2020-11-24 11:56:54
举报

文章目录


Keil中的配置

时钟配置在system_stm32f4xx.cstm32f4xx.h中,如PLL_MPLL_NPLL_PPLL_QHSE_VALUE。 时钟配置函数:SystemInit()

  • m: VCO 输入时钟 分频因子,取值2~63
  • n: VCO 输出时钟 倍频因子,取值192~432
  • p: SYSCLK 时钟 分频因子,取值2,4,6,8 。
  • q: OTG FS,SDIO,RNG 时钟 分频因子,取值4~15
  • PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N
  • SB OTG FS, SDIO and RNG Clock = PLL_VCO / PLLQ
  • SYSCLK = PLL_VCO / PLL_P
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  • 一般情况下,我们都是使用HSEHSE经过PLL倍频之后作为系统时钟
  • 如果开启了CSS功能的话,那么可以当HSE故障时,在CSS中断里面采取补救措施,使用HSI,重新设置系统频率为180M,让系统恢复正常使用。

时钟树详解

  • 对于SYSCLK、HCLK、PCLK2、PCLK1 这四个时钟的配置一般是:HCLK =SYSCLK=PLLCLK = 180M,PCLK2=HCLK/2 = 90M,PCLK1=HCLK/4 = 45M。
在这里插入图片描述
在这里插入图片描述

①HSE 高速外部时钟信号

  • 当使用有源晶振时,时钟从OSC_IN 引脚进入OSC_OUT 引脚悬空;当选用无源晶振时,时钟从OSC_INOSC_OUT 进入,并且要配谐振电容。
  • HSE 故障时,高速的内部时钟信号HSI会作为备用的系统时钟,直到HSE恢复正常,HSI=16M

②锁相环PLL

  • HSE 或者HSI 经过PLL 时钟输入分频因子M(2~63)分频后,成为VCO 的时钟输入,VCO 的时钟必须在1~2M 之间,我们选择HSE=25M作为PLL 的时钟输入,M 设置为25,那么VCO输入时钟就等于1M
  • PLLCLK_OUTMAX = VCOCLK_OUTMAX / P_MIN = 432/2=216M,即F429 最高可超频216M
  • PLL 的时钟配置经过,稍微整理下可由如下公式表达:
    • VCOCLK_IN = PLLCLK_IN / M = HSE / 25 = 1M
    • VCOCLK_OUT = VCOCLK_IN * N = 1M * 360 = 360M
    • PLLCLK_OUT=VCOCLK_OUT/P=360/2=180M
    • USBCLK = VCOCLK_OUT/Q=360/7=51.7。暂时这样配置,到真正使用USB 的时候会重新配置。

③系统时钟SYSCLK

系统时钟来源可以是:HSIPLLCLKHSEHSE,具体的由时钟配置寄存器RCC_CFGRSW位配置。

④AHB 总线时钟HCLK

  • 系统时钟SYSCLK经过AHB预分频器分频之后得到时钟叫APB总线时钟,即HCLK
  • 片上大部分外设的时钟都是经过HCLK分频得到。

⑤APB2 总线时钟HCLK2

  • APB2 总线时钟PCLK2HCLK经过高速APB2 预分频器得到。
  • HCLK2属于高速的总线时钟,片上高速的外设就挂载到这条总线上,比如全部GPIOUSART1SPI1等。

⑥APB1 总线时钟HCLK1

  • APB1总线时钟PCLK1HCLK经过低速APB1 预分频器得到。
  • HCLK1属于低速的总线时钟,最高为45M片上低速的外设就挂载到这条总线上,比如USART2/3/4/5SPI2/3I2C1/2等。

A、RTC 时钟

  • RTCCLK 时钟源可以是 HSE 1 MHzLSE 或者 LSI时钟。
  • 通常的做法是由LSERTC 提供时钟,大小为32.768KHZ
  • LSE由外接的晶体谐振器产生,所配的谐振电容精度要求高,不然很容易不起震。

B、独立看门狗时钟

由内部的低速时钟LSI提供,大小为32KHZ

C、I2S 时钟

I2S时钟可由外部的时钟引脚I2S_CKIN输入,也可由专用PLLI2SCLK提供。

D、PHY以太网时钟

  • F429要想实现以太网功能,除了有本身内置MAC之外,还需要外接一个PHY芯片。
  • 当使用RMII接口时,PHY芯片只需输出一路时钟MCU即可。
  • 如果是MII接口,PHY芯片则需要提供两路时钟MCU

E、USB PHY 时钟

  • F429 的USB没有集成PHY,必须外置 USB PHY 芯片。
  • 当外接USB PHY芯片时,PHY芯片需要给MCU提供一个时钟

F、MCO 时钟输出

MCOmicrocontroller clock output的缩写,是微控制器时钟输出引脚,主要作用是可以对外提供时钟,相当于一个有源晶振

在这里插入图片描述
在这里插入图片描述

CubeMX可视化时钟树

在这里插入图片描述|
在这里插入图片描述|

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-11-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • Keil中的配置
  • 时钟树详解
    • ①HSE 高速外部时钟信号
      • ②锁相环PLL
        • ③系统时钟SYSCLK
          • ④AHB 总线时钟HCLK
            • ⑤APB2 总线时钟HCLK2
              • ⑥APB1 总线时钟HCLK1
                • A、RTC 时钟
                  • B、独立看门狗时钟
                    • C、I2S 时钟
                      • D、PHY以太网时钟
                        • E、USB PHY 时钟
                          • F、MCO 时钟输出
                          • CubeMX可视化时钟树
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档