STM32的定时器输入通道都有一个滤波单元,分别位于每个输入通路上(下图中的黄色框)和外部触发输入通路上(下图中的兰色框),它们的作用是滤除输入信号上的高频干扰。

具体操作原理如下:
在TIMx_CR1中的CKD[1:0]可以由用户设置对输入信号的采样频率基准,有三种选择:
1)采样频率基准fDTS=定时器输入频率fCK_INT
2)采样频率基准fDTS=定时器输入频率fCK_INT/2
3)采样频率基准fDTS=定时器输入频率fCK_INT/4
然后使用上述频率作为基准对输入信号进行采样,当连续采样到N次个有效电平时,认为一次有效的输入电平。
实际的采样频率和采样次数可以由用户程序根据需要选择;外部触发输入通道的滤波参数在从模式控制寄存器(TIMx_SMCR)的ETF[3:0]中设置;每个输入通道的滤波参数在捕获/比较模式寄存器1(TIMx_CCMR1)或捕获/比较模式寄存器2(TIMx_CCMR2)的IC1F[3:0]、IC2F[3:0]、IC3F[3:0]和IC4F[3:0]中设置。

STM32的定时器输入通道包含滤波单元,用于滤除高频干扰。用户可设置CKD[1:0]选择采样频率基准,如fDTS=fCK_INT、fDTS=fCK_INT/2或fDTS=fCK_INT/4。通过连续N次采样有效电平确定输入状态。滤波参数在TIMx_SMCR和TIMx_CCMR寄存器中设置。举例说明,当fCK_INT=72MHz,fDTS=fCK_INT/2,N=6时,能有效滤除3MHz以上的干扰,实现硬件去抖动功能,适用于按键输入和键盘矩阵扫描。

最低0.47元/天 解锁文章
1万+

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



