基于ARM和CPLD的開放式數控系統設計
2.3 CPLD程序
CPLD程序的邏輯如圖4所示。本文引用地址:http://www.j9360.com/article/152052.htm
通過40 MHz時鐘分頻,CPLD內部產生125 Hz(周期8 ms)的脈沖序列。當接收到啟動指令時,CPLD將該脈沖序列發送到ARM作為中斷信號。ARM的中斷觸發模式為沿觸發,上升沿為有效中斷請求。ARM接收到中斷請求后,向CPLD傳送數據。CPLD內部建立2個數據緩沖區,設置標志FLAG。當FLAG為0時,CPLD將ARM傳送的數據寫入緩沖區1,讀取緩沖區2的數據進行計算輸出;當FLAG為1時則反之。設定2個數據緩沖區可以保證數據讀寫的準確性和運動控制的連續性。CPLD接收到結束指令后,不再向ARM發送中斷信號,整個系統的中斷控制停止。
3 實驗
本系統已經運用于激光沉積焊接機,并成功進行了實物加工。圖5是該系統的激光焊接圖。該焊接軌跡由
正方形和圓形組成。在操作系統ISR中寫入檢測程序,記錄中斷情況。在實驗中,所有中斷信號均被正確處理,hMotor事件狀態切換正常,沒有丟失中斷和事件的情況,即應用程序與操作系統、ARM與CPLD的通信狀態良好。該系統的中斷控制能保證系統實時性,直線加工和圓弧加工均能很好地滿足加工精度。
本系統充分利用了Windows CE的良好實時性、ARM的管理能力和CPLD的邏輯計算能力,硬件組成簡單,軟件開發方便,具有開放性強、實時性好、穩定性高、人機交互友好和性價比高等優點,可滿足高速度和高精度的加工要求。本系統設計方案已實際運用于激光沉積焊接數控系統中,運行狀態良好,加工精度較高。本系統可運用于各種機床數控系統,具有廣泛使用價值。
評論