新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的增量型光電編碼器抗抖動二倍頻電路設計

        基于FPGA的增量型光電編碼器抗抖動二倍頻電路設計

        作者: 時間:2010-07-15 來源:網絡 收藏
        2.2 誤碼脈沖的濾除
        2.2.1 濾除編碼器的原理
        采用二倍頻技術濾除脈沖。所謂二倍頻技術即對A相或者B相每個脈沖的上升沿和下降沿分別計數。經過二倍頻后正常輸出波形如圖3所示,A相脈沖O→1跳變時,B為O,則編碼器正轉;B為1,則編碼器反轉。A相脈沖1→O跳變時,B為1,則編碼器正轉;B為0,則編碼器反轉。編碼器正常輸出波形時,A、B兩相交替跳變,如果A相發生跳變后,B相沒有發生跳變A相又發生跳變,此時認為是干擾脈沖,反之同樣視為干擾脈沖。

        本文引用地址:http://www.104case.com/article/191645.htm


        分析圖4,對A相的跳變沿進行二倍頻計數,B相的高低電平用來判斷編碼器的正反轉。B相邊沿的脈沖對二倍頻計數沒有影響,如圖4(b)所示。分析圖4(a),A相邊緣的抖動認為是干擾脈沖被濾除掉。圖4(c),圖4(d)中的a,b標記的位置是編碼器物理地址,如圖4(d)標記的a,b表示編碼器在此處反復振動。圖4(c)、圖4(d)(1)、(2)標記處跳變沿視為抖動脈沖,應濾除,A相的正轉脈沖數據數和反轉脈沖數據數相減后就是A相實際二倍頻后的脈沖數據。


        2.2.2 濾除編碼器抖動及仿真結果
        根據以上分析,本文采用濾除輸出抖動脈沖。編譯環境采用QuartusⅡ8.O。在中使用圖形和語言結合的方法設計邏輯模塊。內部的邏輯子模塊采用Verilog語言來實現。頂層模塊的結構圖如圖5所示。A和B輸入引腳連接型編碼器A相和B相信號。Acount為16位的數據寄存器,輸出當前編碼器的位置。頂層設計中包含兩個模塊,一個是根據編碼器的B相跳變沿記錄來濾除編碼器A相抖動脈沖的BlockA模塊,該模塊根據濾除后的A相脈沖數據個數并記錄脈沖數據。Verilog的主要程序如下:



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 得荣县| 大渡口区| 瓦房店市| 黔西县| 资中县| 留坝县| 宁武县| 湘乡市| 遂平县| 贵阳市| 资中县| 陆丰市| 霍山县| 抚顺市| 城步| 甘谷县| 通海县| 东明县| 邯郸市| 梧州市| 铁力市| 玉田县| 漯河市| 米泉市| 封开县| 融水| 什邡市| 牡丹江市| 柞水县| 闵行区| 济宁市| 西乡县| 石柱| 榆树市| 大连市| 呼玛县| 鸡东县| 壶关县| 东乌珠穆沁旗| 永德县| 怀远县|