傳統的數控系統通常是在通用計算機或工控機的基礎上加裝運動控制卡,使用Windows操作系統,并安裝昂貴的數控軟件構成的。此類系統成本高,功耗大,不太適合中小規模的應用場合。而嵌入式產品具有系統結構精簡、功耗低等特點,能彌補傳統數控系統的不足。
如今,嵌入式系統開發人員和片上系統設計人員越來越多地選擇特定的處理器內核和配套的工具、庫及現成的組件來快速開發基于微處理器的新產品。ARM在這一方面表現尤為突出。在過去的10年中,ARM體系結構已成為世界上最受歡迎的32位體系結構,在本書完成時,基于ARM的處理器已發售了超過20億片。ARM處理器已被嵌入到各種產品——從移動電話到汽車剎車系統。全球的ARM合作伙伴和第三方供應商,在半導體和產品設計公司中迅速發展壯大,包括硬件工程師、系統設計人員和軟件開發人員。但至今還沒有一本書能夠較好地滿足基于ARM的嵌入式系統及軟件開發的需要。
數控技術是當今制造業的核心技術,是發展高尖端技術和高新產業的關鍵。數控機床被視為戰略物質和戰備性工業備受高度重視。嵌入式技術的發展是近年來發展最快的技術,已經應用到生活的各個方面。目前,嵌入式技術已經開始廣泛的進軍工業控制領域。將嵌入式技術應用在數控機床上面,對新型的嵌入式數控系統進行研究和應用,可以與國外處于同一起跑線。對我國數控技術的發展具有十分重要的推動意義。本文提出了基于工業級ARM微處理器S3C2440和DSP專用運動控制芯片MCX314As,設計一種四軸三聯動的開放式經濟性數控系統。該數控系統不僅具有成本低、加工精度高、響應速度快等優點,而且具有很好的可移植性和裁剪性,是對新一代開放式經濟數控系統標準的探索和研究。嵌入式數控技術在數控領域將有很好的應用前景,對我國制造業整體水平的提高有積極的推動作用。
目前,嵌入式數控系統主要有兩種形式:完全依靠嵌人式處理器控制的系統以及嵌入式處理器和運動控制芯片相結合的系統。與前者相比,后者南于采用了專業的運動控制芯片,在實時性和精度等方面的表現更好,因而成為未來的一個發展方向。本文介紹了一種基于ARM控制器和FPGA運動控制芯片的主從式數控系統,希望能為AR M在嵌入式數控系統中的應用提供一些參考。
1 總體設計
本系統為主從式結構。上位機以S3C2410 ARM9控制器為核心,移植Linux系統和QT/Embedded圖形庫,主要實現G代碼文件處理、加工位置的顯示、手動控制等人機交互功能。下位機以$3C44B0 ARM7控制器為核心,斯邁迪的SM5004 FPGA芯片為運動控制器,實現電機驅動、冷卻液開關、緊急停止等機床控制功能。上下位機通過CAN總線通信。
2 硬件設計
2.1CAN接口設計
由于S3C2410和S3C44B0不帶CAN接口,所以必須對其進行擴展。S3C2410的CAN 擴展接El如圖1所示,S3CA4B0的CAN接口與其相似。
系統的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的讀寫操作。系統采用中斷方式讀寫MCP2510,因此它的INT引腳與S3C2410的外部中斷引腳EINT4相連。在外部中斷引腳資源比較緊張的情況下,也可使用查詢方式讀寫MCP2510,此時INT可以懸空。
系統的CAN 收發器使用TJA105O芯片,該芯片的TXD和RXD與MCP2510的TXCAN和RXCAN相連,Rs引腳連接的斜率電阻為1K。
TJAlOS0輸出CANH、CANL差分信號,通過J1001插口接人物理線路。
2.2輸入輸出接口設計
S3C44B0 ARM 和SM5004 FPGA芯片提供了很多通用輸入輸出接口,為了有效的防止干擾進入系統,這里采用了光耦隔離,如圖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開發T具,控件豐富,并且支持虛擬幀緩沖。通過該界面可以實現編輯G代碼,語法檢查、預覽加1 軌跡、與下位機通信等功能。
G代碼解釋的原理如同4所示。程序中定義了兩個數據結構PreGCode和GCode分別用來保存語法檢查后的中間結果和數據分析后生成的G代碼類型、節點坐標、圓弧半徑等數據,供仿真和加工使用。
3.2CAN通信
本系統使用CAN控制器MCP2510完成CAN總線幀的發送和接收任務。通信數據分為命令幀和數據幀兩種。通信協議利用了CAN總線的29位擴展標識符保存了一些協議中必要的信息,如表1所示。由于CAN支持多主機和多從機模式,所以為源設備和目的設備地址分配了ID,以區分數據的來源和目的地。數據幀的數據量較大,必須分批傳送,所以標識符里還包含了數據包分組號,用來排序。
系統使用中斷模式傳輸數據,共開啟4項中斷,分別為錯誤消極中斷、錯誤報警中斷以及發送中斷和接收中斷。如果為前兩種中斷,程序將復位MCP2510芯片。如果為發送中斷,則表示發送完畢,程序將置位發送中斷標志位以通知主程序。如果為接收中斷,程序將檢查標識符的ID28一ID21,判斷該幀的類型,然后根據幀的類型分別進行處理。
3.3插補算法
SM5004芯片是斯邁迪公司的一款高性能運動控制FPGA芯片,能夠實現4軸聯動,驅動脈沖頻率高達5MPPS,插補精度高達0.5I SB,單次輸出脈沖數高達2G,支持4種插補模式:直線插補、圓弧插補、連續插補和位模式插補。
對于直線和圓弧,SM5004有自己的插補算法,只要提供終點坐標、速度等插補所需的參數,SM5004就能自動完成插補。
位模式插補是把高位CPU計算的插補數據以數據包的方式接收后,以指定的驅動速度連續輸出插補脈沖。位模式插補的原理是在每個寄存器上2軸或3軸的+/一方向驅動脈沖設定為1位1脈沖,輸出驅動脈沖時設定為1,不輸出脈沖時設定為0。位模式插補提供了一種靈活的插補機制,用戶可以自己編寫直線、圓弧、樣條曲線、函數曲線等各種曲線的插補算法。程序使用數字積分的方法實現了直線和二次曲線的插補。數字積分插補(又稱DDA插補)的原理如圖5所示。通過將積分區間[a,b]分割成足夠小的區間△f,將函數y=f(t)的積分運算變為變量的求和運算,即
數字運算時,At一般取最小單位“1”,即一個脈沖當量,則:
數字積分法插補器的關鍵部件是累加器和被積函數寄存器,每一個坐標方向就需要一個累加器和一個被積函數寄存器。一般情況下,插補開始前,累加器清零,被積函數寄存器分別寄存X和Y ;插補開始后,每來一個累加脈沖△£,被積函數寄存器里的內容在相應的累加器中相加一次,相加后的溢出作為驅動相應坐標軸的進給脈沖Ax(或Ay),而余數仍寄存在累加器中;當脈沖源發出的累加脈沖數m恰好等于被積函數寄存器的容量2 時,溢出的脈沖數等于以脈沖當量為最小單位的終點坐標,刀具運行到終點。數字積分法插補第1象限直線的程序流程圖如圖6所示,插補軌跡如圖7所示。
4 結束語
ARM是一家英國公司,它的文字含義是Advanced RISC Microprocessor(高級RISC微處理器)。ARM為客戶提供16/32位嵌入式RISC微控制器方案,將其RISC處理器授權給電子公司使用,在便攜式通訊,手持計算設備,消費類和數字化多媒體方案中,ARM正有一種成為標準的趨勢。
ARM 結合FPGA 運動控制芯片的方式,既能發揮ARM 運算速度快、硬件資源豐富的優勢,又能利用FPGA出色的運動控制功能。相比與傳統的純ARM 控制的數控系統,在實時性、控制精度等方面更具優勢,是未來嵌入式數控系統的一個發展方向。
采用專業運動控制芯片和ARM處理器能的嵌入式數控系統設計能大大減輕研發任務,加快研發速度,能夠在較短時間內開發出性能優良的數控系統。而經過適當“裁剪”的Linux系統加入,使得數控系統能更好的進行多任務處理,極大的提高了系統的實時性。
(審核編輯: 智匯小新)
分享