跳转至

定时器计数器PWM与输入捕获应用

难度:🟡 中级 | 领域:MCU 外设 | 关键词:Timer, PWM, Input Capture | 阅读时间:约 16 分钟

日常类比

节拍器既定节奏(PWM 输出),也能听拍子量间隔(输入捕获)。通用定时器是微控制器(MCU)里的多功能节拍器:计时、脉宽调制、测频测宽、编码器接口[1][2]。

摘要

梳理时基预分频、输出比较生成 PWM、输入捕获测脉冲,以及编码器模式注意点。分辨率与频率受定时器位宽与时钟限制[2]。

1. 时基

参数 作用
定时器时钟 来自总线/PLL
PSC 预分频 降计数频率
ARR 自动重载 周期
CNT 当前计数

2. PWM 与捕获

输出比较:CNT 与 CCR 匹配翻转/置位产生占空比。中心对齐用于电机降低谐波(视定时器)[1]。

模式 用途
PWM 电机、灯光、蜂鸣
输入捕获 测脉宽/周期
编码器 正交计数位置
单脉冲 精确一次性脉冲

捕获注意滤波、边沿极性与溢出处理;高速信号要足够定时器时钟[3]。

3. 实践表

问题 处理
PWM 毛刺 缓冲、正确更新时机(影子寄存器)
测频不准 多周期平均、防溢出
中断过频 DMA 或硬件周期累计
低功耗 用低速时钟唤醒定时

4. 局限、挑战与可改进方向

1. 位宽溢出

局限:16 位定时器长周期需级联。 改进:预分频、32 位定时器、软件扩展[2]。

2. 时钟源抖动

局限:RC 时钟使 PWM/测时漂移。 改进:晶振/锁相;校准[4]。

3. ISR 负载

局限:每边沿中断拖垮 CPU。 改进:DMA、硬件编码器模式[3]。

4. 引脚复用冲突

局限:定时器通道被占用。 改进:早期引脚规划;复用表检查[1]。

总结

吃透时基与比较/捕获通道,就能覆盖大多数 IoT 执行与测量时序需求。先算分辨率,再写驱动。

参考文献

[1] STM32 / 通用 MCU 定时器应用笔记. [2] ARM Cortex-M 外设与时钟树概述. [3] 输入捕获与编码器接口设计指南. [4] 时钟精度对控制与测量影响. [5] PWM 电机控制基础. [6] DMA 与定时器联动示例. [7] 中心对齐 PWM 与电流采样窗口. [8] 低功耗定时唤醒设计. [9] 测频测宽不确定度分析入门. [10] 输出比较影子寄存器说明. [11] 正交编码器电气接口注意. [12] NVIC 优先级与定时器 ISR 最佳实践.