当前位置: 首页 > news >正文

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

文章目录

  • 1. 时钟与启动
  • 2. CubeMX 时钟树
    • 2.1 时钟源
    • 2.2 PLL 锁相环
    • 2.3 时钟分发与选择
    • 2.4 频率限制


在这里插入图片描述


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晶振电路的设计可参考这篇文章!


http://www.dtcms.com/a/277237.html

相关文章:

  • fiddler/charles https配置完毕依然无法抓取APP https请求的解决办法
  • h() 函数
  • 【RA-Eco-RA6E2-64PIN-V1.0 开发板】ADC 电压的 LabVIEW 数据采集
  • Excel的学习
  • 如何选择合适的AI论文写作工具?七个AI英文论文写作网站
  • leetGPU解题笔记(2)
  • Agent浏览器自动化工具技术原理探析- Palywright VS OS-Atlas
  • 009_API参考与接口规范
  • Android 代码热度统计(概述)
  • Ampace厦门新能安科技Verify 测评演绎数字推理及四色测评考点分析、SHL真题题库
  • 代码随想录算法训练营第三十二天|动态规划理论基础、LeetCode 509. 斐波那契数、70. 爬楼梯、746. 使用最小花费爬楼梯
  • 嵌入式单片机开发 - HAL 库引入(HAL 库概述、HAL 库下载)
  • 使用macvlan实现容器的跨主机通信
  • JSON/AJAX/XHR/FetchAPI知识点学习整理
  • Feign实战
  • 六、深度学习——NLP
  • 01_类的概念和定义
  • websocket连接时发生未知错误
  • sqli-labs靶场通关笔记:第9关 时间盲注
  • 快速生成 Android 的 Splash 的 9 Patch 图片
  • 【零基础入门unity游戏开发——unity3D篇】3D光源之——unity反射和反射探针技术
  • AI进化论12:大语言模型的爆发——GPT系列“出圈”,AI飞入寻常百姓家
  • Kafka——Kafka 线上集群部署方案怎么做?
  • c语言初阶 结构体
  • 【Python】venv:配置独立镜像源
  • 常用的docker命令备份
  • 007_用例与应用场景
  • python 列表(List) vs. 元组(Tuple):什么时候该用不可变的元组?它们在性能和用途上有什么区别?
  • 暑期自学嵌入式——Day01(C语言阶段)
  • 协程的基本使用