【物联网学习笔记】时钟树

前言

本文是本人备赛物联网赛项的学习笔记,主要供本人学习、复习,不是经验分享或教学,若有错误,大佬轻喷。

一、顶部低速时钟模块(LSI/LSE)

1. LSI RC 32 kHz(低速内部 RC 振荡器)

  • 含义 :芯片内部自带的低速 RC 时钟,频率固定 32kHz,无需外部晶振。
  • 作用 :仅给独立看门狗(IWDG)、RTC(实时时钟)提供时钟,是低精度内部低速源。
  • 你的项目配置 :CubeMX 中直接禁用 LSI(不勾选),全程不使用。

2. LSE OSC 32.768 kHz(低速外部晶振)

  • 含义 :需外接 32.768kHz 石英晶振的外部低速时钟,精度远高于 LSI。
  • 作用 :主要给RTC提供高精度时钟,也可作为部分低功耗外设的时钟源;LSE CSS 是 LSE 时钟安全系统(检测 LSE 故障时切 LSI,你不用内部可忽略)。
  • 你的项目配置 :若项目需要 RTC,CubeMX启用 LSE并选 32.768kHz 晶振;不需要则直接禁用。

二、高速时钟源模块(HSE/HSI16/MSI)

3. HSE OSC 32 MHz(高速外部晶振)

  • 含义 :需外接高速晶振 (图中 32MHz,实际可按硬件选 8/16/25/32MHz 等)的外部主时钟源,精度最高,是你项目的核心时钟源。
  • 作用 :作为系统时钟(SYSCLK)的主要外部输入,也可直接给 SPI/I2C 等外设供钟;HSE CSS 是 HSE 时钟安全系统(故障切内部,你不用内部可禁用)。
  • 你的项目配置 :CubeMX 中必须启用 HSE,选择实际外接的晶振频率(如 32MHz),后续用它作为 PLL 的输入源。

4. HSI16 RC 16 MHz(高速内部 RC 振荡器)

  • 含义 :芯片内部自带的高速 RC 时钟,固定 16MHz,无需外部元件。
  • 作用:系统时钟的备用内部源,也可给 ADC/SPI2S2 等外设供钟,还能作为 PLL 输入源。
  • 你的项目配置 :CubeMX 中禁用 HSI16(不勾选),全程不使用。

5. MSI RC 100 kHz - 48 MHz(多速内部 RC 振荡器)

  • 含义 :芯片内部自带的多速 RC 时钟,频率可在 100kHz~48MHz 间调节,低功耗场景常用。
  • 作用:低功耗模式下的核心内部时钟,也可作为系统时钟、PLL 的输入源。
  • 你的项目配置 :CubeMX 中禁用 MSI(不勾选),全程不使用。

三、核心倍频模块(PLL)

6. PLL(锁相环)

  • 含义 :时钟倍频核心模块 ,通过「输入分频(M)→ 倍频(N)→ 输出分频(P/Q/R)」,把低频率输入时钟(HSE/HSI16/MSI)放大为高频率 PLLCLK
  • 作用 :实现「调最大主频」的关键 ------ 将 HSE(如 32MHz)倍频到芯片支持的最大系统时钟频率(如 180MHz/216MHz,依芯片型号),PLLCLK 是系统时钟的最优高速源。
  • 你的项目配置 :CubeMX 中启用 PLL ,选择PLL 输入源为 HSE (不用内部),配置 M/N/P 分频系数,让 PLLCLK 输出芯片支持的最大频率(比如芯片最大 SYSCLK=180MHz,就把 PLLCLK 设为 180MHz)。

四、系统时钟选择与总线分频模块

7. SYSCLK(系统时钟)

  • 含义 :芯片核心主时钟,由「时钟源选择模块」从 HSE/HSI16/MSI/PLLCLK 中选一个作为 SYSCLK。
  • 作用:给 CPU、所有 AHB/APB 总线、核心外设提供基础时钟,是整个芯片的时钟源头。
  • 你的项目配置 :CubeMX 中选择 SYSCLK 源为 PLLCLK(PLLCLK 是 HSE 倍频后的最大频率),让 SYSCLK 达到芯片最大主频。

8. AHB Prescaler(AHB 预分频器,输出 HCLK)

  • 含义 :对 SYSCLK 进行分频(/1,/2,...,/512),输出HCLK(AHB 总线时钟)
  • 作用:HCLK 是 AHB1/AHB2/AHB3 总线的时钟,给 CPU、Flash、SRAM、DMA 等 AHB 外设供钟;HCLK 分频后还生成 CPU FCLK(调试用自由时钟)。
  • 你的项目配置 :CubeMX 中AHB 预分频设为 / 1(不分频),让 HCLK = SYSCLK(最大)。

9. APB1 Prescaler(APB1 预分频器,输出 PCLK1)

  • 含义 :对 HCLK 分频(/1,/2,/4,/8,/16),输出PCLK1(APB1 总线时钟);APB1 上的定时器时钟:预分频 = 1 时,TIMx=PCLK1;否则 TIMx=2×PCLK1。
  • 作用:给 APB1 外设(UART、I2C、SPI、低功耗定时器等)供钟,APB1 是中低速外设总线,最大时钟频率低于 APB2。
  • 你的项目配置 :CubeMX 中APB1 预分频设为 / 1(若芯片 APB1 支持 HCLK 频率);若 APB1 最大频率低于 HCLK,设为最小分频(如 / 2),让 PCLK1 尽可能大。

10. APB2 Prescaler(APB2 预分频器,输出 PCLK2)

  • 含义 :对 HCLK 分频(/1,/2,/4,/8,/16),输出PCLK2(APB2 总线时钟);定时器时钟规则同 APB1。
  • 作用:给 APB2 外设(高速 UART、SPI、ADC、高级定时器等)供钟,APB2 是高速外设总线,最大时钟频率更高。
  • 你的项目配置 :CubeMX 中APB2 预分频设为 / 1(不分频),让 PCLK2 = HCLK(最大)。

11. AHB3 Prescaler(AHB3 预分频器,输出 PCLK3)

  • 含义 :对 HCLK 分频(/1,/2,...,/512),输出PCLK3(AHB3 总线时钟)
  • 作用:给 AHB3 外设(Flash、SRAM1/SRAM2、RF 模块等)供钟,是片上存储和射频外设的时钟源。
  • 你的项目配置 :CubeMX 中AHB3 预分频设为 / 1(不分频),让 PCLK3 = HCLK(最大)。

五、外设专用时钟与辅助模块

12. 外设专用时钟源(ADC、SPI2S2、RNG、LPTIM、DAC、USART/I2C 等)

  • 含义:外设除了用总线时钟(PCLK1/2/3、SYSCLK),还可选择专用源(LSI/LSE/HSI16/MSI/PLLCLK 等)。
  • 作用:给特定外设提供独立时钟(如 ADC 用 HSI16/SYSCLK,LPTIM 用 LSI/LSE/HSI16,DAC 用 LSI)。
  • 你的项目配置 :CubeMX 中,所有外设优先选总线时钟(PCLK/SYSCLK/PLLCLK)禁用 LSI/HSI16/MSI作为外设时钟源。

13. MCO(微控制器时钟输出)

  • 含义:时钟输出引脚,可选择输出 LSI/LSE/HSE/HSI16/MSI/SYSCLK/PLLCLK 等,分频后(/1~16)从 MCO 引脚输出。
  • 作用:用于外部测量芯片时钟频率,或给外部器件供钟。
  • 你的项目配置 :CubeMX 中禁用 MCO(不配置 MCO 引脚),无需使用。

14. CSS(时钟安全系统)

  • 含义:HSE CSS/LSE CSS,检测外部时钟(HSE/LSE)故障,故障时自动切换到内部时钟(LSI/HSI16)。
  • 作用:提高时钟系统可靠性,防止外部时钟失效导致系统崩溃。
  • 你的项目配置 :CubeMX 中禁用 CSS(不勾选),避免故障时切到内部时钟(若需启用,需确保外部晶振电路稳定)。

15. 其他辅助模块(LSCO、IWDG、RTC)

  • LSCO:低速时钟输出,输出 LSI/LSE,给外部低功耗器件供钟→ 你的项目禁用。
  • IWDG(独立看门狗):时钟源仅为 LSI→ 你的项目禁用(因不用 LSI)。
  • RTC(实时时钟):时钟源可选 LSI/LSE→ 你的项目若用 RTC,选 LSE;不用则禁用。

你项目的 CubeMX 时钟配置核心步骤(极简版)

  1. 时钟源:禁用 LSI/HSI16/MSI → 启用 HSE(选实际晶振频率)。
  2. PLL:启用 PLL → 输入源选 HSE → 配置分频 / 倍频,让 PLLCLK = 芯片最大 SYSCLK。
  3. 系统时钟:SYSCLK 源选 PLLCLK。
  4. 总线分频:AHB/APB1/APB2/AHB3 预分频均设为 / 1(不分频,最大时钟)。
  5. 外设时钟:所有外设选总线时钟(PCLK/SYSCLK/PLLCLK),禁用内部源。
  6. 辅助模块:禁用 MCO/CSS/IWDG,RTC(若用)选 LSE。
相关推荐
沐欣工作室_lvyiyi22 分钟前
基于单片机的电力系统中多路报警显示装置(论文+源码)
单片机·毕业设计·报警装置
winfreedoms25 分钟前
ROS2语音&ai与控制——黑马程序员ROS2课程上课笔记(6)
人工智能·笔记
执于代码33 分钟前
IEDA工具总结笔记
笔记
我命由我123451 小时前
Photoshop - Photoshop 工具栏(67)修补工具
学习·ui·职场和发展·求职招聘·职场发展·学习方法·photoshop
山岚的运维笔记2 小时前
SQL Server笔记 -- 第72章:隔离级别与锁定
数据库·笔记·后端·sql·microsoft·sqlserver
dgaf2 小时前
求助,《信号与系统》是做什么的?
物联网·硬件工程·信息与通信·信号处理·dsp开发
阿ฅ( ̳• ε • ̳)ฅ2 小时前
esp32C3核心版下载AT固件,等待上电问题
单片机·嵌入式硬件
DeepModel2 小时前
第15章 多模态学习
深度学习·学习·机器学习
不吃橘子的橘猫2 小时前
《集成电路设计》复习资料2(设计基础与方法)
学习·算法·fpga开发·集成电路·仿真·半导体
じ☆冷颜〃3 小时前
从确定性算子到随机生成元:谱范式的演进
经验分享·笔记·线性代数·矩阵·抽象代数