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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 一種嵌入式運動控制器的實現(xiàn)

          一種嵌入式運動控制器的實現(xiàn)

          作者: 時間:2011-09-07 來源:網(wǎng)絡 收藏

          本文選用DSP與FPGA作為的核心部件,設計了通用型。其中DSP用于軌跡規(guī)劃、速度控制及位置控制等功能;FPGA完成運動的精插補功能,用于精確計算步進電機或伺服驅(qū)動元件的控制脈沖,同時接收并處理脈沖型位置反饋信號。本文對該運動控制器的總體結(jié)構(gòu)、硬件設計和軟件設計進行了描述。

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

            1 系統(tǒng)總體設計

            運動控制器的總體性能指標為:作為一個單獨的運動控制器使用,控制信號采用數(shù)字量方式輸出,能控制四軸的伺服電機;最高脈沖輸出頻率為4MP/s,能處理的編碼器反饋信號最高頻率為4MP/s;能接收和處理4路編碼器反饋信號;可以處理原點信號、正負方向信號、到位信號以及急停信號等數(shù)字量輸入信號;提供16路數(shù)字量輸出信號和16路數(shù)字量輸入信號接口。運動控制器采用DSP與FPGA芯片作為主控芯片,主要包括DSP模塊、FPGA模塊、FPGA外圍電路模塊和數(shù)字量輸入輸出接口模塊。

            采用基于DSP與FPGA的運動控制器,能夠?qū)崟r完成復雜的軌跡運算,而且利用DSP的高速數(shù)字信號處理功能和FPGA功耗低、主頻高的優(yōu)點,能充分顯示該運動控制器的優(yōu)點。采用DSP與FPGA相結(jié)合的運動控制器可以方便地對系統(tǒng)的控制策略進行修改,對控制參數(shù)進行修正,并可使設備具有良好的可靠性、可維修性,而且還降低了成本。系統(tǒng)還可以采用更多的智能控制策略,結(jié)構(gòu)靈活,有較強的通用性,適合于模塊化設計,能夠提高算法效率,且易于維護和擴展??傮w設計方案原理框圖如圖1所示。

            

          嵌入式運動控制器硬件框圖

            2 系統(tǒng)硬件設計

            2.1 DSP模塊

            本控制器采用TI公司的TMS320F2812為主控芯片,它是32位的控制專用DSP,內(nèi)含F(xiàn)LASH,主頻高達150MHz,具有數(shù)字信號處理、事件管理和控制功能,適用于大批量數(shù)據(jù)處理的場合。

            選用TI公司生產(chǎn)的TPS767D318芯片來TMS320-F2812的電源設計,將5V電源分別轉(zhuǎn)換為3.3V和1.8V。

            SRAM是DSP常用的外圍存儲器,它具有接口簡單、讀寫速度快等優(yōu)點,所以選擇大小為64KB的隨機存儲器CY7C1021作為存儲器擴展芯片。DSPF2812與CY7C1021接口電路如圖2所示。

            

          DSPF2812與CY7C1021接口電路

            復位電路設計采用TI公司的TPS382x系列電壓監(jiān)控電路,此系列電路不需要外圍電路即可組成監(jiān)控電路。SCI模塊用于擴展RS-232和RS-485串行通信接口;CAN模塊和外部CAN工業(yè)現(xiàn)場總線相連;外部接口用于與FPGA連接和擴展數(shù)字量輸入輸出。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

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



          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術(shù)專區(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); })();