1. 高级控制定时器PWM模式原理与工程实现
PWM(Pulse Width Modulation,脉冲宽度调制)是嵌入式系统中电机驱动、LED调光、电源管理等场景的核心技术。在STM32系列微控制器中,高级控制定时器(Advanced-control Timer,如TIM1、TIM8)不仅具备基本定时功能,更通过硬件逻辑直接生成高精度、低抖动的PWM波形,彻底解放CPU资源。本节将从寄存器级原理出发,系统性解析TIMx在PWM模式下的工作机理、配置逻辑与工程实践要点,不依赖HAL库抽象,直抵硬件本质。
1.1 PWM波形的数学定义与硬件映射
一个标准PWM信号由两个核心参数唯一确定:周期(Period)与占空比(Duty Cycle)。周期T决定信号频率f = 1/T,占空比D定义为高电平持续时间t_on与周期T的比值(D = t_on / T)。二者共同构成PWM波形的时空坐标系。
在STM32高级定时器中,这两个参数并非由软件循环计数模拟,而是由两个关键寄存器硬件协同完成:
-自动重装载寄存器(ARR, Auto-Reload Register):决定PWM周期。当计数器(CNT)向上计数至ARR值时,触发更新事件(UEV),CNT清零并重新开始计数。因此,PWM周期T = (ARR + 1) × T_clk,其中T_clk为定时器时钟周期(受APB总线预分频影响)。
-捕获/比较寄存器(CCR, Capture/Compare Register):决定占空比。CCRx(x=1~4)存储与