《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于ARM設計的嵌入式數控系統(tǒng)方案
基于ARM設計的嵌入式數控系統(tǒng)方案
北京飛旭科技有限公司
摘要: 基于ARM設計的嵌入式數控系統(tǒng)方案,摘要:本文介紹了基于ARM的嵌入式數控系統(tǒng)。該系統(tǒng)為主從式結構,,上位機以ARM9為核心,,實現人機交互,下位機以ARM7為核心,結合FpGA實現機床的運動控制,,上下住機通過CAN總線進行通信,。傳統(tǒng)的數控系統(tǒng)通常是在通
關鍵詞: ARM 數控系統(tǒng)
Abstract:
Key words :

摘要:本文介紹了基于ARM嵌入式數控系統(tǒng)。該系統(tǒng)為主從式結構,,上位機以ARM9為核心,,實現人機交互,下位機以ARM7為核心,,結合FpGA實現機床的運動控制,,上下住機通過CAN總線進行通信。

    傳統(tǒng)的數控系統(tǒng)通常是在通用計算機或工控機的基礎上加裝運動控制卡,,使用Windows操作系統(tǒng),,并安裝昂貴的數控軟件構成的。此類系統(tǒng)成本高,,功耗大,,不太適合中小規(guī)模的應用場合。而嵌入式產品具有系統(tǒng)結構精簡,、功耗低等特點,,能彌補傳統(tǒng)數控系統(tǒng)的不足。

    目前,,嵌入式數控系統(tǒng)主要有兩種形式:完全依靠嵌人式處理器控制的系統(tǒng)以及嵌入式處理器和運動控制芯片相結合的系統(tǒng),。與前者相比,后者南于采用了專業(yè)的運動控制芯片,,在實時性和精度等方面的表現更好,,因而成為未來的一個發(fā)展方向。本文介紹了一種基于ARM控制器和FPGA運動控制芯片的主從式數控系統(tǒng),,希望能為AR M在嵌入式數控系統(tǒng)中的應用提供一些參考,。

1 總體設計

    本系統(tǒng)為主從式結構。上位機以S3C2410 ARM9控制器為核心,,移植Linux系統(tǒng)和QT/Embedded圖形庫,,主要實現G代碼文件處理、加工位置的顯示,、手動控制等人機交互功能,。下位機以$3C44B0 ARM7控制器為核心,斯邁迪的SM5004 FPGA芯片為運動控制器,,實現電機驅動,、冷卻液開關、緊急停止等機床控制功能,。上下位機通過CAN總線通信,。

2 硬件設計

2.1CAN接口設計

    由于S3C2410和S3C44B0不帶CAN接口,,所以必須對其進行擴展。S3C2410的CAN 擴展接El如圖1所示,,S3CA4B0的CAN接口與其相似,。

    系統(tǒng)的CAN控制器使用MCP2510芯片。MCP2510的復位引腳RESET與$3C2410的復位引腳nRESET相連,,片選引腳CS與S3C2410的GPH0相連,。OSC1和OSC2引腳連接一個16M 的晶振作為時鐘源。SI,、SO和SCK分別與S3C2410的SPI El MOSIO,、MISO0和SPICLKO相連。如果SPI口被其它設備占用,,也可用其它的I/O El代替,,但要編寫軟件算法來模擬SPI的讀寫操作。系統(tǒng)采用中斷方式讀寫MCP2510,,因此它的INT引腳與S3C2410的外部中斷引腳EINT4相連。在外部中斷引腳資源比較緊張的情況下,,也可使用查詢方式讀寫MCP2510,,此時INT可以懸空。

    系統(tǒng)的CAN 收發(fā)器使用TJA105O芯片,,該芯片的TXD和RXD與MCP2510的TXCAN和RXCAN相連,,Rs引腳連接的斜率電阻為1K。

    TJAlOS0輸出CANH,、CANL差分信號,,通過J1001插口接人物理線路。

2.2輸入輸出接口設計

    S3C44B0 ARM 和SM5004 FPGA芯片提供了很多通用輸入輸出接口,,為了有效的防止干擾進入系統(tǒng),,這里采用了光耦隔離,如圖2所示,。

    在低速開關量中,,由圖2(a)可以看出,這里采用貼片低速光耦MOCD217一M,。它是Motorola公司的產品,,是具有低輸入電流的雙路光耦。之所以這里在接人輸入口之前加入電阻R3,,是因為ARM 中的部分I/0 口是開漏式的,,防止在輸入輸出過程中電流過大,將相應口燒壞,。如圖2(b)在高速開關量中,,采用HC—PL0661雙路光耦進行擴展,,它是Agilent Technologies公司的產品,其開關速率可達到1O M左右,,可應用于各種高速脈沖輸入輸出的場合,。

3 軟件設計

31人機交互與G代碼解釋

    人機交互界面如圖3所示。陔界面是用QT/Embedded嵌人式罔形庫設計的,。QTEmbedded 是由-rroll—tech公司的嵌入式GUI開發(fā)T具,,控件豐富,并且支持虛擬幀緩沖,。通過該界面可以實現編輯G代碼,,語法檢查、預覽加1 軌跡,、與下位機通信等功能,。

 

    G代碼解釋的原理如同4所示。程序中定義了兩個數據結構PreGCode和GCode分別用來保存語法檢查后的中間結果和數據分析后生成的G代碼類型,、節(jié)點坐標,、圓弧半徑等數據,供仿真和加工使用,。

3.2CAN通信

    本系統(tǒng)使用CAN控制器MCP2510完成CAN總線幀的發(fā)送和接收任務,。通信數據分為命令幀和數據幀兩種。通信協議利用了CAN總線的29位擴展標識符保存了一些協議中必要的信息,,如表1所示,。由于CAN支持多主機和多從機模式,所以為源設備和目的設備地址分配了ID,,以區(qū)分數據的來源和目的地,。數據幀的數據量較大,必須分批傳送,,所以標識符里還包含了數據包分組號,,用來排序。

    系統(tǒng)使用中斷模式傳輸數據,,共開啟4項中斷,,分別為錯誤消極中斷、錯誤報警中斷以及發(fā)送中斷和接收中斷,。如果為前兩種中斷,,程序將復位MCP2510芯片。如果為發(fā)送中斷,,則表示發(fā)送完畢,,程序將置位發(fā)送中斷標志位以通知主程序。如果為接收中斷,,程序將檢查標識符的ID28一ID21,,判斷該幀的類型,,然后根據幀的類型分別進行處理。

3.3插補算法

    SM5004芯片是斯邁迪公司的一款高性能運動控制FPGA芯片,,能夠實現4軸聯動,,驅動脈沖頻率高達5MPPS,插補精度高達0.5I SB,,單次輸出脈沖數高達2G,,支持4種插補模式:直線插補、圓弧插補,、連續(xù)插補和位模式插補,。

    對于直線和圓弧,SM5004有自己的插補算法,,只要提供終點坐標,、速度等插補所需的參數,SM5004就能自動完成插補,。

    位模式插補是把高位CPU計算的插補數據以數據包的方式接收后,,以指定的驅動速度連續(xù)輸出插補脈沖。位模式插補的原理是在每個寄存器上2軸或3軸的+/一方向驅動脈沖設定為1位1脈沖,,輸出驅動脈沖時設定為1,,不輸出脈沖時設定為0。位模式插補提供了一種靈活的插補機制,,用戶可以自己編寫直線、圓弧,、樣條曲線,、函數曲線等各種曲線的插補算法。程序使用數字積分的方法實現了直線和二次曲線的插補,。數字積分插補(又稱DDA插補)的原理如圖5所示,。通過將積分區(qū)間[a,b]分割成足夠小的區(qū)間△f,,將函數y=f(t)的積分運算變?yōu)樽兞康那蠛瓦\算,,即 

數字運算時,At一般取最小單位“1”,,即一個脈沖當量,,則:    數字積分法插補器的關鍵部件是累加器和被積函數寄存器,每一個坐標方向就需要一個累加器和一個被積函數寄存器,。一般情況下,,插補開始前,累加器清零,,被積函數寄存器分別寄存X和Y ,;插補開始后,,每來一個累加脈沖△£,被積函數寄存器里的內容在相應的累加器中相加一次,,相加后的溢出作為驅動相應坐標軸的進給脈沖Ax(或Ay),,而余數仍寄存在累加器中;當脈沖源發(fā)出的累加脈沖數m恰好等于被積函數寄存器的容量2 時,,溢出的脈沖數等于以脈沖當量為最小單位的終點坐標,,刀具運行到終點。數字積分法插補第1象限直線的程序流程圖如圖6所示,,插補軌跡如圖7所示,。

 

4 結束語

    ARM 結合FPGA 運動控制芯片的方式,既能發(fā)揮ARM 運算速度快,、硬件資源豐富的優(yōu)勢,,又能利用FPGA出色的運動控制功能。相比與傳統(tǒng)的純ARM 控制的數控系統(tǒng),,在實時性,、控制精度等方面更具優(yōu)勢,是未來嵌入式數控系統(tǒng)的一個發(fā)展方向,。

此內容為AET網站原創(chuàng),,未經授權禁止轉載。