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