1. PWM输入模式的工程本质与应用场景
PWM(Pulse Width Modulation)输入模式并非一种独立的外设功能,而是STM32通用定时器(如TIM1、TIM2、TIM3等)在输入捕获(Input Capture)机制基础上演化出的一种高度特化的信号解析工作模式。其核心工程目标非常明确:在单个定时器实例内,同步、高精度地测量外部PWM波形的周期(Period)与脉宽(Pulse Width),并由此直接推导出占空比(Duty Cycle)。这一能力在电机控制闭环反馈(如霍尔传感器信号解码)、电源管理模块状态监测(如数字电源的PWM反馈环路)、工业编码器信号处理以及任何需要对模拟域PWM信号进行数字化解析的嵌入式系统中,具有不可替代的工程价值。
必须强调,PWM输入模式与普通输入捕获存在根本性差异。普通输入捕获通常配置为单一通道(如IC1或IC2),仅能检测一个边沿(上升沿或下降沿),其典型应用是测量两个连续同类型边沿之间的时间间隔,即周期;或测量一个上升沿与紧随其后的下降沿之间的时间,即脉宽。但若需同时获取周期与脉宽,传统方法需在软件中进行复杂的边沿状态机管理——例如,首次捕获上升沿启动计数器,第二次捕获下降沿读取脉宽值,第三次捕获下一个上升沿读取周期值,并在中断服务程序中维护状态变量。这种方案不仅代码逻辑复杂、易出错,且在高速PWM信号下,中断响应延迟会引入显著测量误差,更无法保证周期与脉宽这两个关键参数在时间轴上的严格同步性。
PWM输入模式正是为解决这一痛点而生。它通过硬件层面的精巧设计,将同一外部信号源(如GPIOA_Pin0)同时路由至定时器的两个独立输入捕获通道(IC1和IC2),并对这两个通道施加相反的触发极性(一个配置为上升沿触发,