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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM和CPLD的開放式數(shù)控系統(tǒng)設(shè)計(jì)

          基于ARM和CPLD的開放式數(shù)控系統(tǒng)設(shè)計(jì)

          作者: 時(shí)間:2010-03-08 來源:網(wǎng)絡(luò) 收藏

          2.3 程序
          程序的邏輯如圖4所示。

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


          通過40 MHz時(shí)鐘分頻,內(nèi)部產(chǎn)生125 Hz(周期8 ms)的脈沖序列。當(dāng)接收到啟動(dòng)指令時(shí),CPLD將該脈沖序列發(fā)送到作為中斷信號。的中斷觸發(fā)模式為沿觸發(fā),上升沿為有效中斷請求。接收到中斷請求后,向CPLD傳送數(shù)據(jù)。CPLD內(nèi)部建立2個(gè)數(shù)據(jù)緩沖區(qū),設(shè)置標(biāo)志FLAG。當(dāng)FLAG為0時(shí),CPLD將ARM傳送的數(shù)據(jù)寫入緩沖區(qū)1,讀取緩沖區(qū)2的數(shù)據(jù)進(jìn)行計(jì)算輸出;當(dāng)FLAG為1時(shí)則反之。設(shè)定2個(gè)數(shù)據(jù)緩沖區(qū)可以保證數(shù)據(jù)讀寫的準(zhǔn)確性和運(yùn)動(dòng)控制的連續(xù)性。CPLD接收到結(jié)束指令后,不再向ARM發(fā)送中斷信號,整個(gè)系統(tǒng)的中斷控制停止。
          3 實(shí)驗(yàn)
          本系統(tǒng)已經(jīng)運(yùn)用于激光沉積焊接機(jī),并成功進(jìn)行了實(shí)物加工。圖5是該系統(tǒng)的激光焊接圖。該焊接軌跡由
          正方形和圓形組成。在操作系統(tǒng)ISR中寫入檢測程序,記錄中斷情況。在實(shí)驗(yàn)中,所有中斷信號均被正確處理,hMotor事件狀態(tài)切換正常,沒有丟失中斷和事件的情況,即應(yīng)用程序與操作系統(tǒng)、ARM與CPLD的通信狀態(tài)良好。該系統(tǒng)的中斷控制能保證系統(tǒng)實(shí)時(shí)性,直線加工和圓弧加工均能很好地滿足加工精度。


          本系統(tǒng)充分利用了Windows CE的良好實(shí)時(shí)性、ARM的管理能力和CPLD的邏輯計(jì)算能力,硬件組成簡單,軟件開發(fā)方便,具有開放性強(qiáng)、實(shí)時(shí)性好、穩(wěn)定性高、人機(jī)交互友好和性價(jià)比高等優(yōu)點(diǎn),可滿足高速度和高精度的加工要求。本系統(tǒng)方案已實(shí)際運(yùn)用于激光沉積焊接中,運(yùn)行狀態(tài)良好,加工精度較高。本系統(tǒng)可運(yùn)用于各種機(jī)床,具有廣泛使用價(jià)值。


          上一頁 1 2 3 下一頁

          評論


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