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

【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.xdnf.cn/news/15298.html

相关文章:

  • MacOS使用Multipass快速搭建轻量级k3s集群
  • Spring Boot 安全登录系统:前后端分离实现
  • ERA5的UV合并成矢量并按时间维度转为nc或tif
  • 【版本控制】Perforce Helix Core (P4V) 完全入门指南(含虚幻引擎实战)
  • Spring Boot 集成 Spring Security 完整示例
  • C++ 单例模式实现
  • 牛客周赛 Round 100
  • AB实验评估指标体系之【实验评估指标体系】
  • 【Linux | 网络】应用层(HTTP)
  • RabbitMQ 之仲裁队列
  • 决策树的相关理论学习
  • 慢慢理解this
  • Dify离线安装包-集成全部插件、模板和依赖组件,方便安可内网使用
  • Matlab批量转换1km降水数据为tiff格式
  • 业务访问控制-ACL与包过滤
  • Qt窗口:QToolBar、QStatusBar、QDockWidget、QDialog
  • vue3 ref vs reactive值的修改
  • es里为什么node和shard不是一对一的关系
  • Git 使用笔记
  • 使用Starrocks替换Clickhouse的理由
  • SPSSPRO:数据分析市场SaaS挑战者的战略分析
  • 香港服务器Python自动化巡检脚本开发与邮件告警集成
  • 【Linux】线程机制深度实践:创建、等待、互斥与同步
  • 网络协议学习思维导图
  • python爬取新浪财经网站上行业板块股票信息的代码
  • java进阶(二)+学习笔记
  • 【算法】递归、搜索与回溯
  • Datawhale AI 夏令营2025科大讯飞AI大赛<夏令营:用AI做带货视频评论分析>
  • [Nagios Core] CGI接口 | 状态数据管理.dat | 性能优化
  • jenkins部署前端vue项目使用Docker+Jenkinsfile方式