5. STM32 时钟系统分配

文章目录

  • [下述将以stm32f407 为例](#下述将以stm32f407 为例)
  • [1. 时钟系统及频率分析](#1. 时钟系统及频率分析)
  • [2. 时钟配置](#2. 时钟配置)

下述将以stm32f407 为例

1. 时钟系统及频率分析

上述STM32F4时钟系统图解析入下:

  • STM32F407 系列微控制器(基于 Cortex-M4 内核,带 FPU)的工作频率配置如下,其核心及外设时钟均由时钟树(通过 PLL 倍频、分频器等从外部 / 内部振荡器衍生)生成:

    1. 核心时钟(FCLK Cortex clock,即 HCLK)
    • 最高频率:168 MHz(这是 STM32F407 的标称最高主频)。
    • 作用:作为 Cortex-M4 内核的工作时钟,直接决定 CPU 执行指令的速度(运算、数据处理等),是整个系统的 "核心频率"。
    1. 系统时钟(SYSCLK)
    • 最高频率:168 MHz(与核心时钟同源,通常通过 PLL 从外部晶振(HSE)或内部高速振荡器(HSI)倍频得到)。
    • 例如:外部 8 MHz 晶振(HSE)经 PLL 倍频(8 MHz × 21 = 168 MHz)后作为系统时钟。
    1. 总线时钟
    • AHB 总线时钟(HCLK):最高 168 MHz(直接来自系统时钟,或经 AHB 预分频器分频,通常配置为与系统时钟同频),为内核、内存(SRAM、Flash)及 AHB 外设(如 DMA、ETH 等)提供时钟。
    • APB1 总线时钟(PCLK1):最高 42 MHz(低速外设总线)。
    • 挂载外设:USART25、SPI23、I2C13、CAN、TIM27 等。
    • APB1 定时器时钟:当 APB1 预分频器 > 1 时,定时器时钟 = 2 × PCLK1(最高 84 MHz)。
    • APB2 总线时钟(PCLK2):最高 84 MHz(高速外设总线)。
    • 挂载外设:USART1、SPI1、ADC1~3、TIM1、TIM8、GPIO 等。
    • APB2 定时器时钟:当 APB2 预分频器 > 1 时,定时器时钟 = 2 × PCLK2(最高 168 MHz)。
    1. 其他关键时钟
    • USB OTG FS 时钟:固定 48 MHz(由 PLL 分频得到,用于 USB 通信)。
    • 以太网(ETH)时钟:通常为 50 MHz(通过外部 PHY 或内部 PLL 生成,用于以太网通信)。
    • 内部振荡器:
      • HSI(高速内部振荡器):16 MHz(默认启动时钟,可作为 PLL 输入)。
      • LSI(低速内部振荡器):40 kHz(用于 RTC、独立看门狗等)。
    • 外部振荡器(HSE):通常为 8 MHz 或 25 MHz(硬件设计决定,精度高于内部振荡器,常用作 PLL 输入以获得稳定高频时钟)。
      总结
      STM32F407 的最高核心频率为 168 MHz,外设时钟根据总线类型(APB1/APB2)和功能需求(如 USB、ETH)有不同的最高限制。实际应用中可通过 STM32CubeMX 配置时钟树,在功耗与性能之间平衡(例如降低主频以减少功耗)。

2. 时钟配置

以正点原子的开发板, 开发板的外部高速晶振和外部低速晶振分别是:8MHz和32.768KHz, 通过stm32cubemx 通过分频倍频后配置如下:

相关推荐
普中科技6 小时前
【普中DSP28335开发攻略】-- 第 7 章 F28335时钟及控制系统
单片机·嵌入式硬件·时钟·dsp28335·普中科技
IT_阿水10 小时前
RA-Eco-RA4M2之RTC电子钟
单片机·嵌入式硬件·实时音视频
清风66666614 小时前
基于单片机的水塔液位检测与智能调节报警系统设计
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
某zhuan15 小时前
STM32中PB4引脚作普通GPIO使用的一个小问题
stm32·单片机·嵌入式硬件
蓝天居士16 小时前
PY32F040单片机介绍(2)
单片机·国产mcu
点灯小铭18 小时前
基于单片机的人体红外传感的步进电机调速自动门智能控制系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
一月千帆18 小时前
STM32 串口 Bootloader 固件升级方案实现
stm32·单片机·嵌入式硬件
朱嘉鼎19 小时前
GPIO引脚操作方法概述
单片机·嵌入式硬件
小+不通文墨21 小时前
GPIO口输入
stm32·单片机·嵌入式硬件
zzywxc7871 天前
解锁 Rust 开发新可能:从系统内核到 Web 前端的全栈革命
开发语言·前端·python·单片机·嵌入式硬件·rust·scikit-learn