新聞中心

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

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

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

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

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

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

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



評(píng)論


相關(guān)推薦

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

關(guān)閉