时钟树特点

  • 多个时钟源:如 HSI (内部高速)、HSE (外部高速)、LSI (内部低速)、LSE (外部低速)。
  • 可灵活设置工作频率:通过分频器和锁相环 (PLL) 为系统核心、总线和外设提供不同频率。
notion image

主时钟的产生

notion image
  • 主要时钟源:HSE (外部晶体)、HSI (内部 RC,精度不高)。
  • PLL (Phase-Locked Loop):用于倍频 HSE 或 HSI,产生高速的系统时钟 (SYSCLK),例如最高可达 168 MHz。计算公式如 PLLCLK = (HSE/M) * N / P
notion image
  • SYSCLK (System Clock):系统时钟,可直接由 HSI, HSE 或 PLLCLK 选择。
  • 总线时钟:AHB (HCLK), APB1 (PCLK1), APB2 (PCLK2) 由 SYSCLK 经过不同分频器得到。

系统初始化和时钟初始化

  • 启动文件:如 startup_STM32F40_41xxx.S,在复位后执行。
  • 复位处理程序 (Reset_Handler):是系统上电或复位后执行的第一个程序段,它会调用 SystemInit 函数,然后跳转到 C 语言的 main 函数。
  • SystemInit 函数:通常在 system_stm32f4xx.c 中定义,负责初始化微控制器的基本系统,包括 FPU 设置、调用 SetSysClock() 配置时钟系统、配置向量表的位置和偏移地址。
  • SetSysClock 函数:用于配置系统时钟,例如使能 HSE、配置主 PLL 的参数 (PLLM, PLLN, PLLP, PLLQ 和 PLLSRC - PLL时钟源) 并使能主 PLL。
  • PLL 参数定义:PLL_M, PLL_N, PLL_P 等宏通常在 stm32f4xx.h 头文件中定义。

可视化软件 CubeMX 时钟配置

STM32CubeMX 软件提供了一个图形化界面,用于方便地配置时钟树,包括选择时钟源、设置分频/倍频因子等,并可以根据用户的配置自动生成初始化代码。
notion image
Loading...
Z_cosy
Z_cosy
浙江大学电气工程学院本科生
公告
🎉Welcome to Z-cosy🎉
-- 食用指南 ---
目前只有课程笔记以及电控学习笔记
陆续会整理更多内容!