<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的增量型光電編碼器抗抖動(dòng)二倍頻電路設(shè)計(jì)

          基于FPGA的增量型光電編碼器抗抖動(dòng)二倍頻電路設(shè)計(jì)

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

          本文引用地址:http://www.ex-cimer.com/article/191645.htm


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


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



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();