新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > VHDL設計的消抖與濾波

        VHDL設計的消抖與濾波

        作者: 時間:2006-09-11 來源:網絡 收藏

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

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

           比較法:這個方法很好理解,就是若干個時鐘周期讀取的數據相同時我們認為收到了一個穩定的數據,否則認為是過渡態。即采用若干位的移位,當是全'1'或全'0'時才開始讀數。這種方法的缺點是,當干擾脈沖較寬時我們必須等比地擴大移位的比特,消耗較大資源。

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



        關鍵詞: 計數器 寄存器 計數

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 兴山县| 闻喜县| 信阳市| 册亨县| 建湖县| 维西| 通山县| 吉林市| 杭锦后旗| 江津市| 乌苏市| 桐柏县| 九龙坡区| 睢宁县| 蒲江县| 新和县| 满洲里市| 邢台市| 旅游| 商洛市| 麻栗坡县| 乌鲁木齐县| 卢湾区| 文安县| 永仁县| 新宾| 罗平县| 来安县| 玉树县| 天等县| 铜陵市| 金沙县| 南城县| 乌什县| 庆元县| 安化县| 嘉峪关市| 额尔古纳市| 鄄城县| 中宁县| 通辽市|