新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > VHDL設(shè)計(jì)的消抖與濾波

VHDL設(shè)計(jì)的消抖與濾波

作者: 時間:2006-09-11 來源:網(wǎng)絡(luò) 收藏

  在同一塊電路板上,由于信號線的走線過長而產(chǎn)生的高頻毛刺我們可以通過在接近輸入端串聯(lián)一個100歐左右的電阻來濾除。但是對于板外信號,或者板內(nèi)其他干擾造成較大的抖動時只好采用積分電路來濾波,即串一個電阻還要并一個電容接地。

  同樣在VHDL中我們可以采用類似的辦法,對于小于觸發(fā)器建立時間的毛刺可以用時鐘打一下實(shí)現(xiàn)濾波。但對于開關(guān)或按鍵抖動等較大的干擾,我們可以采用延時比較法或積分法,或者二者并用。

   比較法:這個方法很好理解,就是若干個時鐘周期讀取的數(shù)據(jù)相同時我們認(rèn)為收到了一個穩(wěn)定的數(shù)據(jù),否則認(rèn)為是過渡態(tài)。即采用若干位的移位,當(dāng)是全'1'或全'0'時才開始讀數(shù)。這種方法的缺點(diǎn)是,當(dāng)干擾脈沖較寬時我們必須等比地?cái)U(kuò)大移位的比特,消耗較大資源。

   積分法:用一個增減,當(dāng)輸入信號為'1'時遞增直到全'1'停止計(jì)數(shù)、否則計(jì)數(shù)器遞減計(jì)數(shù)直到全'0'停止計(jì)數(shù)。那么計(jì)數(shù)器的 MSB即為輸入信號的去抖信號。你也可以用時鐘再加上一個速度較慢的使能來對輸入信號計(jì)數(shù)。顯然計(jì)數(shù)器的位數(shù)要求與要去抖的抖動脈沖寬度的對數(shù)關(guān)系。當(dāng)然也可以二者結(jié)合,前端用幾個比特的移位寄存器實(shí)現(xiàn)比較,比較結(jié)果作為計(jì)數(shù)使能來控制接下來的增減計(jì)數(shù)器的計(jì)數(shù)。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉