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

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

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

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


举例:定时器输入时钟频率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。这一点要注意。

相关文章:

  • 2021-05-11
  • 2021-09-22
  • 2021-05-13
  • 2021-09-05
  • 2022-12-23
  • 2021-12-26
  • 2021-04-24
  • 2021-11-25
猜你喜欢
  • 2021-04-14
  • 2021-05-24
  • 2021-12-06
  • 2022-12-23
  • 2021-11-10
  • 2022-02-07
  • 2021-11-15
相关资源
相似解决方案