STM32 输入捕获模式的滤波器设置

一.设置TIMx_CR1的CKD[1:0]位,设置时钟分频因子得到fDTS。如下图:

STM32 输入捕获模式的滤波器设置_第1张图片

二设置TIMx_CCMR1寄存器的IC1F[3: 0]位。滤波采样频率和采样次数。如下图

STM32 输入捕获模式的滤波器设置_第2张图片


举例:定时器输入时钟频率fCK_INT=72M。CKD[1:0]=10(B)。IC1F[3:0]=1111(B)。定时器设置为1通道捕获

fDTS=fCK_IN/4=72M/4=18M

采样频率fSAMPLING = fDTS/32=18M/32=0.5625M

所以滤波的长度=1/fSAMPLING *N=1/0.5625M*8=14.2US。这样捕获通道的滤波器就会滤掉低于14.2us的脉冲干扰

也就是说滤波器会以fSAMPLING的频率采样8次,如果8次都为高电平则确定为上升沿触发。


ps;刚开始我在考虑这个定时器输入时钟频率fCK_INT是72M还是经过PSC分频后的频率。手册里描述PSC分频的频率为fCK_CNT是用于定时器计数器的,所以fCK_IN=72M。这一点要注意。

你可能感兴趣的:(STM32)