STM32的定時(shí)器輸入通道都有一個(gè)濾波單元,分別位于每個(gè)輸入通路上(下圖中的黃色框)和外部觸發(fā)輸入通路上(下圖中的蘭色框),它們的作用是濾除輸入信號上的高頻干擾。![]() 具體操作原理如下: 在TIMx_CR1中的CKD[1:0]可以由用戶設(shè)置對輸入信號的采樣頻率基準(zhǔn),有三種選擇: 1)采樣頻率基準(zhǔn)fDTS=定時(shí)器輸入頻率fCK_INT 2)采樣頻率基準(zhǔn)fDTS=定時(shí)器輸入頻率fCK_INT/2 3)采樣頻率基準(zhǔn)fDTS=定時(shí)器輸入頻率fCK_INT/4 然后使用上述頻率作為基準(zhǔn)對輸入信號進(jìn)行采樣,當(dāng)連續(xù)采樣到N次個(gè)有效電平時(shí),認(rèn)為一次有效的輸入電平。 實(shí)際的采樣頻率和采樣次數(shù)可以由用戶程序根據(jù)需要選擇;外部觸發(fā)輸入通道的濾波參數(shù)在從模式控制寄存器(TIMx_SMCR)的ETF[3:0]中設(shè)置;每個(gè)輸入通道的濾波參數(shù)在捕獲/比較模式寄存器1(TIMx_CCMR1)或捕獲/比較模式寄存器2(TIMx_CCMR2)的 IC1F[3:0]、IC2F[3:0]、IC3F[3:0]和IC4F[3:0]中設(shè)置。 ![]() ![]() 例如:當(dāng)fCK_INT=72MHz時(shí),選擇fDTS=fCK_INT/2=36MHz,采樣頻率fSAMPLING=fDTS/2=18MHz且N=6,則頻率高于3MHz的信號將被這個(gè)濾波器濾除,有效地屏蔽了高于3MHz的干擾。 比如,結(jié)合輸入捕獲的中斷,可以輕松地實(shí)現(xiàn)按鍵的去抖動功能,而不需要軟件的干預(yù);這可是由硬件實(shí)現(xiàn)的去抖動功能,大大節(jié)省了軟件的開銷和程序代碼的長度。 每個(gè)定時(shí)器最多可以實(shí)現(xiàn)4個(gè)按鍵的輸入,這個(gè)方法也可以用于鍵盤矩陣的掃描,而且因?yàn)槭峭ㄟ^中斷實(shí)現(xiàn),軟件不需頻繁的進(jìn)行掃描動作。 發(fā)表于2009/9/20 |