1. STM32输入捕获技术简介
STM32的输入捕获功能是定时器模块中非常实用的一种工作模式,特别适合测量数字信号的时序参数。简单来说,输入捕获就像给定时器安装了一个"快门按钮",当指定的电平跳变发生时,它能立即"拍下"当前计数器的值,保存到捕获寄存器中。
我在实际项目中经常使用这个功能来测量PWM信号的频率和占空比,特别是在电机控制和电源管理应用中。与软件测量方式相比,硬件输入捕获的最大优势是几乎不占用CPU资源,测量精度高,响应速度快。STM32的每个高级定时器和通用定时器都有4个独立的输入捕获通道,可以同时测量多路信号。
PWMI模式(PWM输入模式)是输入捕获的一个特殊配置,它能同时测量频率和占空比,而且只需要一个定时器通道就能完成这两项测量任务。结合主从触发模式,STM32还能实现全硬件自动测量,完全不需要CPU干预,这在实时性要求高的应用中特别有用。
2. 输入捕获硬件原理深度解析
2.1 基本工作原理
STM32的输入捕获硬件结构相当精巧。当我们在某个定时器通道上启用输入捕获功能后,对应的GPIO引脚就变成了信号输入端口。一旦检测到预设的电平跳变(上升沿或下降沿),当前计数器的值就会立即被锁存到捕获/比较寄存器(CCR)中。
这个过程中有几个关键组件协同工作:滤波器可以消除输入信号中的毛刺,确保捕获的准确性;预分频器可以对输入信号进行分频,降低捕获频率;极性选择决定了在上升沿还是下降沿进行捕获。
我在调试过程中发现,滤波器的设置对测量稳定性影响很大。如果输入信号有噪声,适当增加滤波器参数可以显著提高测量精度,但设置过大可能会滤掉正常的信号跳变,需要根据实际情况权衡。
2.2 PWMI模式的双通道协同
PWMI模式的神奇之处在于它能用一个定时器通道同时测量频率和占空比。实际上,硬件内部使用了两个虚拟通道:一个捕获上升沿,一个捕获下降沿。
当配置为PWMI模式时,第一个通道通常用于捕获上升沿(


406

被折叠的 条评论
为什么被折叠?



