1. 高级控制定时器PWM模式原理与工程实现
在嵌入式系统中,PWM(Pulse Width Modulation,脉宽调制)信号是电机驱动、LED调光、电源管理等场景的核心控制手段。STM32系列MCU的高级控制定时器(如TIM1、TIM8)不仅具备基本定时功能,更通过硬件级PWM生成能力,将波形配置从软件循环中彻底解放出来。这种硬件PWM具有极高的时间精度、确定性延迟和低CPU占用率——在实时性要求严苛的工业控制或电机驱动系统中,这是不可替代的关键特性。
PWM波形由两个核心参数定义:周期(Period)和占空比(Duty Cycle)。周期决定信号频率,占空比决定高电平持续时间占整个周期的比例。在STM32高级定时器中,这两个参数并非由软件循环计数实现,而是由一组专用寄存器协同完成:自动重装载寄存器(ARR)决定周期,捕获/比较寄存器(CCR)决定占空比。理解ARR与CCR如何与计数器(CNT)交互,是掌握PWM硬件生成逻辑的根基。
1.1 定时器计数器工作模型:ARR与CNT的自动重载机制
高级定时器的核心是一个可编程的16位或32位计数器(CNT)。其行为由时钟源、预分频器(PSC)和自动重装载寄存器(ARR)共同决定。ARR并非一个静态阈值,而是一个动态的“重载目标”。当CNT向上计数至与ARR值相等时,定时器硬件会立即执行一次事件更新(Update Event):CNT被清零(或根据中心对齐模式置为特定值),同时更新影子寄存器(Shadow Register)