【STM32实践篇】:F407 时钟系统

发布于:2025-07-14 ⋅ 阅读:(19) ⋅ 点赞:(0)


在这里插入图片描述


1. 时钟与启动

  • 复位默认时钟:系统复位后,CPU 时钟默认由 16MHz 内部 RC 振荡器(HSI)提供,该 RC 振荡器经工厂校准,确保在全温度范围(-40℃~125℃等工业级场景)内,频率精度维持在 1% 以内。

    • 在这里插入图片描述
  • 系统时钟源切换:可以手动选择系统时钟源,支持两种路径:

    • 内部 HSI:16MHz RC。
    • ​外部 HSE:4~26MHz 外部时钟源(晶体/陶瓷谐振器 或 时钟信号)。
    • 在这里插入图片描述
      • SW:系统时钟选择器,选择 SYSCLK的来源。
      • ​PLLCLK:锁相环输出时钟,通过倍频技术,将 HSI/HSE 输入时钟放大至高频,F407 最高 168MHz。
  • 时钟故障监测:持续监测外部时钟 HSE 运行状态,若检测到失效,硬件自动切回内部 RC 振荡器,同时可触发软件中断。

  • PLL 倍频:来自HSI/HSE的原始时钟信号,经过​​/M分频器​(分频系数M=2–63)降低输入频率至VCO可接受范围,VCO×N倍频器输出高频信号到分频器,转化为多路可用时钟:​​/P–系统主时钟分频器输出SYSCLK,​​/Q–高速外设时钟分频器输出严格48MHz。

    • 在这里插入图片描述
  • AHB - APB 分层总线架构:通过预分频器(Prescalers)灵活配置总线时钟:

    • AHB 高速系统总线,连接 CPU、内存(SRAM/Flash)、高性能外设(如 DMA、ETH 以太网),最大频率 168MHz。
    • APB 外设总线,进一步分为:
      • APB2(高速域):连接对时钟速率敏感的外设(如 ADC、高级定时器 TIM1/TIM8),最大频率 84MHz。
      • APB1(低速域):连接低功耗 / 低速外设(如 UART、I2C、基础定时器 TIM2 - TIM7),最大频率 42MHz。
    • 在这里插入图片描述
  • PLLI2S:专为 I²S 音频接口设计,通过精准倍频 / 分频,生成稳定的 I²S 主时钟(I²S Master Clock),覆盖 8kHz~192kHz 标准音频采样频率。

    • 在这里插入图片描述

2. CubeMX 时钟树

2.1 时钟源

在这里插入图片描述

  1. ​LSE (Low-Speed External):​​ 外部低速晶振 ​32.768KHz,为 RTC 实时时钟提供精准计时。
  2. LSI (Low-Speed Internal):​​ 内部低速 RC 振荡器,给独立看门狗 IWDG 提供独立可靠的时钟,或作为低功耗下的备用 RTC 时钟。

在这里插入图片描述

  1. ​HSE (High-Speed External):​​ 外部高速晶振,支持 4-26MHz 范围,作为 系统时钟SYSCLK 和 PLL 的来源,或者供某些高速外设使用。
  2. ​HSI (High-Speed Internal):​​ 内部高速 RC 振荡器16MHz,当HSE失效作为备用源,可以输入到PLL,系统启动时默认先使用HSI。

2.2 PLL 锁相环

在这里插入图片描述

  1. HSE/HSI --> PLL Source Mux选择 --> M分频器 --> N倍频器 --> P分频器 --> 主PLL输出 PLLCLK。
  2. Q分频器 给USB,SDIO,RNG 等外设提供 48MHz 时钟。
  3. PLLI2S 为音频接口 I2S 提供专用时钟。

2.3 时钟分发与选择

在这里插入图片描述

  1. ​System Clock Mux 决定了 SYSCLK 系统主时钟的来源:HSI,HSE,PLLCLK。
  2. SYSCLK 直接输入到 ​AHB Prescaler 可以被分频(可选择的分频系数为1,2,4,8,16,32,64,128,256,512)得到 HCLK,HCLK最高168MHz。
  3. ​APB1 Prescaler(分频因子可以选择1,2,4,8,16) 供低速外设使用,最高42MHz;​APB2 Prescaler(分频因子可以选择1,2,4,8,16) 供高速外设使用,最高84MHz。

2.4 频率限制

各模块和总线的频率有上限​,在CubeMX配置时,如果超出,相关框会变成醒目的红色或橙色警告。

  • SYSCLK ≤ 168MHz。
  • HCLK ≤ 168MHz。
  • PCLK1 ≤ 42MHz。
  • PCLK2 ≤ 84MHz。
  • USB OTG FS ​必须​ 48MHz ±0.25% (PLL48CLK)。
  • 以太网 PTP ≤ 168MHz。
  • VCO频率必须在100 - 432MHz之间。

关于HSE和LSE晶振电路的设计可参考这篇文章!



网站公告

今日签到

点亮在社区的每一天
去签到