STM32F407_RCC配置分析和总结.pdfVIP

  • 19
  • 0
  • 约1.82万字
  • 约 14页
  • 2022-02-12 发布于上海
  • 举报
RCC (Reset and Clock Control )配置 这里介绍 RCC 的 时钟控制功能 在 STM32F103 上,由于小组所有的板子都使用用 同样的芯片,同样的晶振,以及同 样的库函数,即使我们不去理解 RCC ,仍然可以将大多数功能调试出来。但如果使用不同 型号的芯片,例如用 STM32F407 与 STM32103 进行通信,如果不去弄清楚 RCC,在调试 中可能会遇到麻烦。 下面就我调试 STM32F407 的这段时间,介绍一下 RCC 的部分功能。文档的前半部分 是关于 RCC 的部分功能描述,后半部分是关于库函数的使用。 时钟结构 (原图请参考 STM32F407 参考手册 RCC 部分) STM32F407 最高层是 SYSCLK 系统时钟,由其生成了 AHB 时钟,再由 AHB 时钟生 成 APB 时钟。 SYSCLK 系统时钟可以由 3 个基本的时钟源获得: HSE (外部高速晶振)或 HSI (部高 速晶振)或 PLL 锁相环倍频。 例如: 板子上焊了 8MHz 的晶振,则 HSE = 8MHz 。如果焊了 25MHz 的,则 HSE = 25MHz 。 HSI 是芯片部自带的晶振,其大小由芯片型号决定,如 STM32F407 的 HSI 是 16MHz 。 PLL 倍频的功能是:将 HSE 或 HSI 的频率放大,最大可以放大到 168MHz. SYSCLK系统时钟可以由 HSE/HSI/PLL 提供。 例如使用库函数: RCC_SYSCLKConfig( RCC_SYSCLKSource_HSE ) ; 代表用 HSE 外部高速晶振作 为系统时钟源。 如果 HSE =8MHz ,则 SYSCLK = 8M ,即 STM32F407 就会运行在 8M 的速度; 如果 HSE=25M ,则 SYSCLK = 25M ,即 STM32F407 就会运行在 25M 。 RCC_SYSCLKConfig( RCC_SYSCLKSource_HSI ) ; 代表用 HSI 部高速晶振作为 系统时钟源, 如果 HSI=16M ,则 SYSCLK=16M ,即 STM32F407 就会运行在 16M 的速度。 RCC_SYSCLKConfig( RCC_SYSCLKSource_PLLCLK );代表用 PLL 时钟作为系统 时钟源。 如果配置 PLL 倍频至 168M ,则 SYSCLK=168M ,即 STM32F407 会运行在 168M ; 如果倍频至 144M ,则 SYSCLK=144M ,STM32F407 就会运行在 144M ; 如果倍频至 72M ,STM32F407 也会像 STM32F103 运行在 72M ; 从 SYSCLK ,紧接着分得 AHB 时钟( 也叫 HCLK )。 假设此时我们已经选择 PLL 作为系统时钟源, 且 PLL 倍频至 168M , 即 SYSCLK=168M 。 那么 AHB 的最高频率就为 168MHz 。 方框底部的数字 /1,2...512 代表 AHB 时钟预分频数,围 1~512, 如果是 1,即 HCLK 为 SYSCLK 的 1 分频, HCLK = SYSCLK/1 = 168/1 = 168 MHz 如果是 2 ,即 HCLK 为 SYSCLK 的 2 分频, HCLK = SYSCLK/2 = 168/2 = 84MHz

文档评论(0)

1亿VIP精品文档

相关文档