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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于VHDL的旋轉(zhuǎn)編碼器接口電路的實現(xiàn)

          基于VHDL的旋轉(zhuǎn)編碼器接口電路的實現(xiàn)

          作者: 時間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

          是一種高精度的角位置測量傳感器,具有分辨率高、響應(yīng)速度快等特點,被廣泛應(yīng)用在以位置或角度為對象的控制系統(tǒng)中。將編碼器安裝在電機軸的非負載端跟隨轉(zhuǎn)動,其反饋信號傳遞給控制器,構(gòu)成對電機的閉環(huán)控制[1]。

          增量式發(fā)出兩路正交脈沖,即兩路(A、B)相位差90°的方波,其相位關(guān)系標(biāo)志電機的轉(zhuǎn)向,當(dāng)A相超前B相90°時,標(biāo)志電機正轉(zhuǎn),如圖1所示;當(dāng)B相超前A相90°時,標(biāo)志電機反轉(zhuǎn),如圖2所示。編碼器旋轉(zhuǎn)一圈,輸出脈沖數(shù)固定,通過累加A、B兩相信號的脈沖數(shù)可以計算電機轉(zhuǎn)過的角度。

          本文用語言設(shè)計了一種增量式的接口電路,可以配置在CPLD或者FPGA上,實現(xiàn)對編碼器輸出信號的四倍頻、雙向可逆計數(shù)和與單片機接口的功能。下面介紹各個電路的設(shè)計原理和實現(xiàn)源碼。

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

          1 四倍頻電路設(shè)計原理

          對于每個確定的編碼器,其脈沖周期T對應(yīng)的角位移固定為q,其量化誤差為q/2。若將A和B信號四倍頻,則計數(shù)脈沖的周期將減小到T/4,量化誤差減小為q/8,從而使角位移測量精度提高4倍[2]。

          如圖1和圖2所示,在任意一個周期T內(nèi),A、B兩路信號各變化了兩次,分別產(chǎn)生一次上升沿和一次下降沿,若用Y對A、B兩路信號的跳變沿計數(shù),則在一個脈沖周期內(nèi),信號Y就會出現(xiàn)4次變化,實現(xiàn)編碼器信號的四倍頻。

          2 轉(zhuǎn)向鑒別電路設(shè)計原理

          在信號跳變沿時檢測另一相信號的電平值可以判斷轉(zhuǎn)向[3]。例如,在A相信號上升沿時檢測B相信號電平,若B為低電平(如圖1),表示電機正轉(zhuǎn);若B為高電平(如圖2),表示電機反轉(zhuǎn)。結(jié)合上面所述四倍頻原理,計數(shù)規(guī)則總結(jié)如下。

          (1)檢測到以下狀態(tài)表示電機正轉(zhuǎn),加計數(shù):
          ①A相上升沿,B=0;②A相下降沿,B=1;③B相上升沿,A=1;④B相下降沿,A=0。
          (2)檢測到以下狀態(tài)表示電機反轉(zhuǎn),減計數(shù):
          ①B相上升沿,A=0;②B相下降沿,A=1;③A相上升沿,B=1;④A相下降沿,B=0。

          3 與單片機接口設(shè)計原理

          編碼器的脈沖計數(shù)值一般要傳送給單片機或其他控制器進行處理,而CPLD的全局時鐘的頻率高于單片機的時鐘頻率,為保證CPLD和單片機之間計數(shù)值傳輸?shù)恼_性,單片機首先發(fā)送信號給CPLD,將計數(shù)值鎖存后再進行傳輸。CPLD與單片機接口示意圖如圖3所示。本設(shè)計中CPLD檢測到單片機鎖存信號的上升沿后將當(dāng)前計數(shù)值鎖存[4],然后在單片機位選信號的上升沿和下降沿分時將16 bit計數(shù)值的高8位和低8位傳送給單片機8 bit I/O端口。


          4 實現(xiàn)電路的源代碼

          本設(shè)計利用D觸發(fā)器的延時作用檢測信號跳變沿,D輸入端接脈沖信號,則Q輸出端是上一個CLK周期的脈沖信號狀態(tài)。在CLK的上升沿檢測Q端輸出和D端信號電平值是否一致,不一致表示出現(xiàn)跳變沿。

          設(shè)A和B是A、B相的源信號,經(jīng)過D觸發(fā)器后A、B相信號記為A1、B1,則計數(shù)規(guī)則表示為:



          5 仿真結(jié)果

          利用ALTERA的開發(fā)工具MAX+PlusⅡ,輸入文本文件,目標(biāo)設(shè)備為EPM7128SLC84[5],CLK周期為200 ns,A、B的周期為2 000 ns,編譯后仿真波形如圖4~圖7所示。

          圖4是編碼器正轉(zhuǎn)時的仿真波形,在A相信號的1個周期,兩條標(biāo)記線內(nèi),計數(shù)值OUTPUT由初始值4增加到8,實現(xiàn)四倍頻加計數(shù)。

          圖5是編碼器反轉(zhuǎn)時的仿真波形,在A相信號的1個周期內(nèi),計數(shù)值OUTPUT由初始值15減少到11,實現(xiàn)四倍頻減計數(shù)。

          圖6是編碼器由正轉(zhuǎn)切換為反轉(zhuǎn)時的仿真波形。如圖中標(biāo)記線所示,B相超前A相后的第一個CLK的上升沿,計數(shù)方向立即改變,由加計數(shù)變?yōu)闇p計數(shù)。

          如圖7中標(biāo)記線所示,在鎖存信號lock上升沿時16 bit計數(shù)值鎖存于OUT_lock;位選信號choose上升沿后的第一個CLK上升沿,8 bit計數(shù)值OUTPUT8輸出OUT_lock的高8位;choose下降沿時OUTPUT8輸出OUT_lock的低8位。

          由上述仿真波形可以看出,本電路的設(shè)計實現(xiàn)了編碼器的轉(zhuǎn)向鑒別、四倍頻、雙向計數(shù)以及與單片機通信的功能。

          本文設(shè)計的編碼器接口電路,結(jié)構(gòu)簡單、可靠性高,即使在正反轉(zhuǎn)頻繁切換的場合也能高精度地工作。本接口電路已應(yīng)用在單級旋轉(zhuǎn)倒立擺控制系統(tǒng)中,且運行良好。



          評論


          相關(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); })();