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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的數(shù)字積分法插補控制器設計與實現(xiàn)

          基于FPGA的數(shù)字積分法插補控制器設計與實現(xiàn)

          作者: 時間:2012-04-05 來源:網絡 收藏

          (2)位置計數(shù)器
          位置計數(shù)器有3個寄存器,分別對應于三個軸。其初始值為需要插補的脈沖數(shù)目。當器每輸出一個脈沖,計數(shù)器便做減“1”。當位置計數(shù)器為零時,則表示到達終點坐標位置,插補結束。
          (3)插補
          插補器是直線插補的核心模塊,由余數(shù)寄存器和被積函數(shù)寄存器構成。被積函數(shù)寄存器中存放由數(shù)據緩存器提供的終點坐標值,每當脈沖源發(fā)出1個插補迭代脈沖時,被積函數(shù)寄存器與余數(shù)寄存器的值累加1次,并將累加結果存放余數(shù)寄存器中,當累加結果超出余數(shù)寄存器容量(216)時,溢出1個脈沖。經過N=216次累加后,每個坐標軸的溢出脈沖總數(shù)就等于該坐標的被積函數(shù)值。在余數(shù)寄存器的容量一定的情況下,其輸出脈沖頻率與終點坐標值的大小成正比??刂破鞑捎萌S聯(lián)動,則同時有3個積分器同時進行插補運算。在該的設計中,采用有限狀態(tài)機的原理完成直線插補的實現(xiàn),如圖2所示,共有3個狀態(tài)存在:

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

          d.JPG


          (1)狀態(tài)IDLE:空閑狀態(tài),等待插補信號;
          (2)狀態(tài)S1:剩余插補脈沖數(shù)寄存;
          (3)狀態(tài)S2:積分累加狀態(tài)。
          其工作過程為:當沒有啟動信號時,系統(tǒng)繼續(xù)保持在空閑狀態(tài)IDLE;當有啟動信號start時,系統(tǒng)則從數(shù)據緩存器中讀入初始數(shù)據,將插補脈沖數(shù)寄存在狀態(tài)S1中,若插補脈沖數(shù)不為零則轉至積分累加狀態(tài)S2中,在此狀態(tài)中將被積函數(shù)寄存器的值與余數(shù)寄存器的值進行累加,結果送余數(shù)寄存器,若有脈沖溢出,則轉入狀態(tài)S1,此時輸出插補脈沖,且狀態(tài)S1中剩余脈沖數(shù)減“1”;若無脈沖溢出,則狀態(tài)S2繼續(xù)進行積分累加。最終,狀態(tài)S1中的剩余脈沖為零時,返回空閑狀態(tài),插補結束。
          積分法直線插補運用硬件描述語言VerilogHDL進行程序編寫的流程圖如圖3所示。

          e.JPG

          fpga相關文章:fpga是什么


          伺服電機相關文章:伺服電機工作原理




          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();