STM32定时器输入捕获测量高频PWM时,预分频与捕获边沿如何配合才能兼顾分辨率与溢出风险

· 行业用户 · 8 浏览

回答(4)

若频率很高,可考虑用外部时钟模式或DMA+定时器级联扩展位宽,从根上降低溢出处理复杂度。
STM32玩家阿杰 · 2026-10-24
高频下别忽略输入滤波和捕获预分频ICF,适当配置可防毛刺误触发,但会引入延迟,需权衡。
嵌入式小刘 · 2026-10-24
优先用PWM输入模式(从模式复位+两通道),硬件自动测周期和占空比,比软件交替捕获更稳,中断负担小。
硬件老张 · 2026-10-24
测量高频PWM时,核心矛盾是计数器位宽有限(16位)与高分辨率需求。建议:1)预分频PSC尽量取1(不分频),让计数器以最高时钟计数,获得最小计时单位,分辨率最高;2)捕获边沿选择“上升沿+下降沿”交替捕获(或PWM输入模式),一次周期内得到两个CCR值,差值即高电平时间,同时用从模式复位或双通道分别捕获周期与占空比;3)溢出风险用“周期测量+溢出计数”解决:开启更新中断,在中断中累加溢出次数,捕获中断里结合溢出次数还原真实计数值,避免因ARR过小频繁溢出丢失;4)若PWM频率接近定时器时钟/2,可适当增大PSC到2~4,牺牲少量分辨率换取溢出余量,并用DMA搬运CCR减少中断延迟。关键是先估算最大周期对应的计数值,确保ARR略大于该值,再决定PSC。
mcuku 阿沐 · 2026-10-24