1 緒論
隨著嵌入式技術的發展,嵌入式處理器 ARM 廣泛應用于數控系統。ARM 是英國劍橋從事基于 RISC(Reduced Instruction SetComputer)技術芯片設計開發,作為知識產權供應商 ARM 公司設計的芯片。根據各自不同的應用需要,在芯片外適當添加外圍電路,從而形成更具特色的 ARM 處理器。ARM 芯片具有RISC 體系的一般特點,如:具有大量的寄存器。絕大多數操作都在寄存器中進行,通過 Load/Store 的體系結構在內存和寄存器之間傳遞數據。尋址方式簡單。采用固定長度的指令格式。目前的 ARM 內核有ARM7、ARM9、ARM9E、ARM10E、ARM11、SecurCore 等多種類型。以最典型的 ARM920T 為例,該型內核具有400 多 MHz 的主頻在國內低檔數控系統應用最廣。但是隨著數控技術的發展,加工對象的復雜度增加,CPU處理運動控制插補運算的負載更大。要解決這一問題,除了更換更高性能的 ARM 芯片,就只能往多核方向發展。本文主要論述多核心 ARM 的數控系統的設計。
2 數控軟件的任務分析
整個數控系統的功能可以劃分為人機交互、數據預處理、運動控制、伺服控制、邏輯控制和輔助控制五大部分。人機交互為機床的準備工作提供數據和信息,反饋機床的運行狀態,監控整個加工過程。數據預處理主要包括數據指令的譯碼,刀具的長度補償、半徑補償、螺距補償、間隙補償等插補前的預處理工作。運動控制主要控制位移,速度,加速度或三者的組合,主要是機床各運動軸的插補運動控制和主軸速度、主軸定位的控制等。邏輯控制分為簡單的邏輯輸入、邏輯輸出及組合邏輯控制,主要是主軸電機的正反轉、電機停止、冷卻泵電機的啟動、停止控制等。在嵌入式實時系統中,通常把五大部分的數控系統功能劃分為:插補任務、譯碼任務、PLC 任務、人機交互界面任務,底層輔助任務。在單個CPU 上運行,各個任務的負載和實時等級。插補任務的實時性和負載最高達 43%;人機交互任務其根據不同用戶的需求,不同交互功能占的負載不同,最高達 24%,但是實時性要求最低;底層輔助任務支撐各個任務的運行。根據這些分析數據,我們對各個數控任務進行多 CPU 的劃分。
3 多核 CPU 軟件架構
多核 CPU 的架構是日益嚴苛的運算要求的必然結果。多核 CPU 并不僅限于雙核,多個核結構更靈活。嵌入式多 CPU 系統將一個特定的任務分割成較小的任務由多個處理器并行地執行,因而具有速度優勢.采用嵌入式多 CPU 系統使得信息處理模塊化,各個 CPU 采集分配的數據量并獨立處理信息,從而可以減輕單個CPU 的負擔,提高系統的信息處理速度和處理能力。根據數控系統的任務,本文引入三個 ARM+DSP 的結構,對原來單個 CPU 的數控系統進行升級改造。如圖 2 所示:把插補任務劃分為精插補任務和粗插補任務,粗插補任務主要是對譯碼數據的坐標點進行一定的速度規劃和細分,精插補任務需要對粗插補數據進行曲線擬合,速度規劃,發點控制等,需要更大的浮點運算要求。因此把精插補任務劃分到獨立的 DSP 芯片,粗插補任務與譯碼任務一起劃分到單一個 ARM 上。人機交互任務和邏輯控制(PLC)任務分別個占一個 CPU。各個任務的數據從原來的單 CPU 內部通信,變更為現在 CPU 之間的通信,所以通信需要經過一個握手應答協議,以協調不同 CPU 之間的時序。
該軟件劃分的優點主要有:
(1)原來單 CPU 模式下,由于人機交互任務的復雜性,導致負載的不確定性,使得軟件規模和功能受到很大的限制,任務優先級的低下,使得該任務容易受其他多任務的影響而不穩定,但在單獨占用 CPU 的情況下,資源充足,可以實現更強大更穩定的性能。
(2)獨立 CPU 的 PLC 功能,是 PLC 模塊獨立運作的基礎。現在在國外裝備行業,獨立的 PLC 已經成為主流產品。
(3)譯碼速度的提高,可實現更多的程序譯碼的前瞻功能。
(4)DSP 提高強大的浮點運算能力,可實現更高效的插補運算。
4 多 CPU 的數控主板設計
基于以上的軟件功能分析,本文設計的多 CPU 硬件是基于 ARM9、DSP6713、OMAPL138、FPGA 為核心,采用多 CPU 體系結構來設計,系統采用兩片 ARM9、一片 DSP 和一片大容量 FPGA,以及各種不同功能的存貯器、相關外圍器件組成系統的主控 CPU 板。系統中各 CPU 與相應的存貯器構成獨立的 CPU 子系統。主 ARM系統進行文件系統管理、系統參數管理、人機界面管理、USB 接口管理、系統邏輯任務管理等。DSP 子系統負責插補算法、GSK-LINK 總線部分管理工作等。從 ARM 子系統負責 PLC 邏輯任務。FPGA 利用內部雙口RAM 為各 CPU 子系統提供數據交換通道,FPGA 管理系統的各種外部設備,如 TFT 液晶顯示器、主軸電機、機床 IO、鍵盤管理、串口管理等。根根據上面功能劃分,同時考慮到后續的升級、維護等工作,將硬件劃分為幾個塊,具體內容在硬件模塊里有詳細的描述。大致內容包括:ARM9 處理器、DSP、58M/SDRAM、256K/NVRAM、電源電路、FPGA、LCD 數據口、DC 電路、緩沖電路、光電隔離器件、USB 通訊電路,AVR 對按鍵掃描電路等。
主要元器件說明如下:
(1)ARM9_CPU:采用 ARM920T 模型,采用三星 2440 芯片。
(2)FPGA:采用 Altera 公司的產品,負責中斷控制和機床 I/O 信號,機床 I/O 信號初步定為 48-IN/48-OUT。
(3)DSP6713:為 TI 的 DSP6000 系列,主要負責插補算法等工作。
(4)其他:除脈沖串發生器以外,采用 181 低速光電隔離。采用一個 AVR 單片機負責鍵盤、LED 等信號處理
5 結論
采用多 CPU 結構的數控系統,在數據運算能力方面大大增強,使得更多更強 的數控軟件功能得到發展。本文所設計的主板已經成功應用于廣州數控 GSK-218TD,GSK-980TE2 等數控系統上,獲得良好的市場反應和非常好的經濟效益。
(審核編輯: 智匯張瑜)
分享