1. 程式人生 > >STM32 輸入捕獲模式的濾波器設定

STM32 輸入捕獲模式的濾波器設定

一.設定TIMx_CR1的CKD[1:0]位,設定時鐘分頻因子得到fDTS。如下圖:


二設定TIMx_CCMR1暫存器的IC1F[3: 0]位。濾波取樣頻率和取樣次數。如下圖



舉例:定時器輸入時鐘頻率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。這一點要注意。