李躍華,馮習(xí)賓
(1. 南通大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,南通 226019;2. 桂林電子科技大學(xué),桂林 541004)
數(shù)控技術(shù)是當(dāng)今制造業(yè)的核心技術(shù),是發(fā)展高尖端技術(shù)和高新產(chǎn)業(yè)的關(guān)鍵。數(shù)控機(jī)床被視為戰(zhàn)略物質(zhì)和戰(zhàn)備性工業(yè)備受高度重視。嵌入式技術(shù)的發(fā)展是近年來發(fā)展最快的技術(shù),已經(jīng)應(yīng)用到生活的各個(gè)方面。目前,嵌入式技術(shù)已經(jīng)開始廣泛的進(jìn)軍工業(yè)控制領(lǐng)域。將嵌入式技術(shù)應(yīng)用在數(shù)控機(jī)床上面,對(duì)新型的嵌入式數(shù)控系統(tǒng)進(jìn)行研究和應(yīng)用,可以與國外處于同一起跑線。對(duì)我國數(shù)控技術(shù)的發(fā)展具有十分重要的推動(dòng)意義。本文提出了基于工業(yè)級(jí)ARM微處理器S3C2440和DSP專用運(yùn)動(dòng)控制芯片MCX314As,設(shè)計(jì)一種四軸三聯(lián)動(dòng)的開放式經(jīng)濟(jì)性數(shù)控系統(tǒng)。該數(shù)控系統(tǒng)不僅具有成本低、加工精度高、響應(yīng)速度快等優(yōu)點(diǎn),而且具有很好的可移植性和裁剪性,是對(duì)新一代開放式經(jīng)濟(jì)數(shù)控系統(tǒng)標(biāo)準(zhǔn)的探索和研究。嵌入式數(shù)控技術(shù)在數(shù)控領(lǐng)域?qū)⒂泻芎玫膽?yīng)用前景,對(duì)我國制造業(yè)整體水平的提高有積極的推動(dòng)作用。
在本設(shè)計(jì)方案中采用S3C2440作為主CPU負(fù)責(zé)數(shù)控系統(tǒng)各個(gè)任務(wù)的管理調(diào)度,運(yùn)動(dòng)控制芯片MCX314As作為從CPU完成數(shù)控加工所需要的復(fù)雜運(yùn)動(dòng)控制。采用專業(yè)級(jí)的運(yùn)動(dòng)控制芯片可以大大縮短數(shù)控系統(tǒng)的研發(fā)周期、提高控制系統(tǒng)的性能、減少研發(fā)成本和工作量等優(yōu)點(diǎn)。嵌入式數(shù)控系統(tǒng)的模型如圖1所示,該嵌入式數(shù)控系統(tǒng)模型由上到下有三部分組成,
分別是硬件層、操作系統(tǒng)層和運(yùn)動(dòng)控制軟件層。底層硬件層采用Samsung公司的CPU處理器S3C2440,中間層為嵌入式數(shù)控系統(tǒng)的操作系統(tǒng)層,采用源代碼開放的Linux操作系統(tǒng),并根據(jù)數(shù)控系統(tǒng)的要求對(duì)內(nèi)核進(jìn)行了相應(yīng)的裁剪,提高了數(shù)控系統(tǒng)的實(shí)時(shí)性。頂層是運(yùn)動(dòng)控制系統(tǒng)的匹配軟件,主要包括編寫的各種控制函數(shù),如運(yùn)動(dòng)控制芯片的控制庫函數(shù)等。
圖1 嵌入式數(shù)控系統(tǒng)模型圖
CPU處理器選用Samsung公司的S3C2440處理芯片。 S3C2440是一款基于ARM920T內(nèi)核的32位RISC架構(gòu)的處理器,其體積小、低功耗、成本低、性能高,支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件。主頻最高可達(dá)533MHZ,運(yùn)算速度快,片內(nèi)集成度高,可以很好的對(duì)數(shù)控系統(tǒng)進(jìn)行多任務(wù)操作。
遠(yuǎn)動(dòng)控制芯片選用日本NOVA電子有限公司研制的DSP運(yùn)動(dòng)控制專用芯片MCX314As。MCX314As是一種功能比較強(qiáng)大的專業(yè)級(jí)運(yùn)動(dòng)控制芯片。芯片能夠?qū)崿F(xiàn)對(duì)四軸控制,可以對(duì)任意兩軸進(jìn)行直線和圓弧插補(bǔ)。在實(shí)際運(yùn)用時(shí)可以把所有極其復(fù)雜的實(shí)時(shí)運(yùn)動(dòng)控制工作交給MCX314As芯片來處理,而主機(jī)CPU只需要向MCX314As芯片發(fā)出一系列的控制指令便能實(shí)現(xiàn)各種復(fù)雜的運(yùn)動(dòng)。
該嵌入式數(shù)控系統(tǒng)的硬件結(jié)構(gòu)采用主從CPU結(jié)構(gòu)模式。其中主CPU為ARM處理器,用于數(shù)控系統(tǒng)各個(gè)任務(wù)的調(diào)度和管理工作,而從CPU為MCX314As運(yùn)動(dòng)控制芯片,專門負(fù)責(zé)數(shù)控系統(tǒng)運(yùn)動(dòng)控制的處理工作。控制系統(tǒng)硬件結(jié)構(gòu)如圖2所示。
圖 2 控制系統(tǒng)硬件結(jié)構(gòu)
ARM處理器S3C2440與運(yùn)動(dòng)控制芯片MCX314As的連接電路如圖3所示。
圖3 S3C2440與MCX314As的接口電路
MCX314As控制器的時(shí)鐘頻率由外部提供,采用默認(rèn)的16MHz。數(shù)據(jù)線和讀/寫信號(hào)直接受S3C2440芯片相應(yīng)的數(shù)據(jù)線和讀/寫信號(hào)控制,由于我們使用的是16位數(shù)據(jù)線的傳輸,所以MCX314As芯片的H16L8引腳必須接上高電平。由圖中可以看到,在那些互相連接的信號(hào)線之間都隔著一些寫著“SN74ALVC164245”的芯片,那是因?yàn)镾3C2440的I/O引腳的工作電壓是3.3V的(按道理可以承受5V電壓),而MCX314As的工作電壓是5V,為保險(xiǎn)起見,同時(shí)也為了增加信號(hào)之間傳輸?shù)目煽啃?,我們?cè)趦烧咝盘?hào)連接時(shí)加入了這“SN74ALVC164245”的芯片來實(shí)現(xiàn)電平的轉(zhuǎn)換,同時(shí)驅(qū)動(dòng)信號(hào)。
為了充分利用數(shù)控系統(tǒng)的硬件資源,確保數(shù)控系統(tǒng)的實(shí)時(shí)性,采用了Linux這個(gè)多任務(wù)實(shí)時(shí)性強(qiáng)的操作系統(tǒng)。根據(jù)數(shù)控系統(tǒng)的要求,對(duì)Linux內(nèi)核進(jìn)行了適當(dāng)?shù)摹安眉簟?,進(jìn)一步提高了數(shù)控系統(tǒng)的實(shí)時(shí)性。通過Linux操作系統(tǒng)可以實(shí)現(xiàn)數(shù)控系統(tǒng)的實(shí)時(shí)多任務(wù)控制??刂葡到y(tǒng)的軟件結(jié)構(gòu)圖如圖4所示。
圖4 數(shù)控系統(tǒng)軟件結(jié)構(gòu)圖
成功的設(shè)計(jì)好MCX314As運(yùn)動(dòng)控制板以及在Linux操作系統(tǒng)下編寫調(diào)試其驅(qū)動(dòng)程序后,就可以對(duì)嵌入式數(shù)控系統(tǒng)進(jìn)行仿真調(diào)試。MCX314As是寄存器控制型芯片,所有對(duì)MCX314As的控制都是通過讀寫其內(nèi)部寄存器來實(shí)現(xiàn)的。S3C2440通過總線往MCX314As寫入數(shù)據(jù),再讀出該寄存器的值,經(jīng)過比較就可以確定MCX314As工作是否正常。當(dāng)讀寫測(cè)試通過后,就可以往MCX314As寫入簡單的運(yùn)動(dòng)控制命令,通過示波器觀察波形來確定MCX314As的運(yùn)動(dòng)控制是否正常。
通過編寫簡單的X、Y2軸直線插補(bǔ)程序,來驗(yàn)證設(shè)計(jì)的數(shù)控系統(tǒng)正確性。以下是編寫的應(yīng)用程序,其功能是實(shí)現(xiàn)起點(diǎn)為(0,0)終點(diǎn)為(8,4)的直線插補(bǔ)。
WR5←0004h;將ax1設(shè)為X軸,將ax2設(shè)為Y軸
WR6←1200h;范圍:8 000 000(M=1)
WR7←007Ah;
WR0←0100h;
WR6←01F4h;初始速度:500 PPS
WR0←0104h;
WR6←03E8h;驅(qū)動(dòng)速度:1 000 PPS
WR0←0105h;
WR6←0008h;X軸終點(diǎn):8
WR7←0000h;
WR0←0106h;
WR6←0004h;Y軸終點(diǎn):4
WR7←0000h;
WR0←0206h;
WR0←0030h;置2軸直線插補(bǔ)命令
把該程序下載到ARM9主控板中,運(yùn)行嵌入式Linux,運(yùn)行驅(qū)動(dòng),控制MCX314As運(yùn)動(dòng)控制板。圖5為X、Y直線插補(bǔ)理論軌跡及脈沖波形圖,圖6為通過示波器測(cè)量的X、Y軸直線插補(bǔ)實(shí)際脈沖波形圖。
根據(jù)以上例子中程序以及所得到的結(jié)果,大致可以說明設(shè)計(jì)的嵌入式數(shù)控系統(tǒng)是可以正常運(yùn)行的。
圖5 X、Y軸直線插補(bǔ)理論軌跡及脈沖波形圖
圖6 X、Y軸直線插補(bǔ)實(shí)際脈沖波形圖
MCX314As是一款功能強(qiáng)大高度集成化的運(yùn)動(dòng)控制芯片,實(shí)現(xiàn)四軸三聯(lián)動(dòng)的位置、速度加速度控制和直線、圓弧、位元3種模式的連續(xù)插補(bǔ)和位置閉環(huán)控制。ARM處理器S3C2440是工業(yè)級(jí)高性能處理器,具有強(qiáng)大的32位RISC性能,體積小、功耗低等特點(diǎn)。采用專業(yè)運(yùn)動(dòng)控制芯片和ARM處理器能的嵌入式數(shù)控系統(tǒng)設(shè)計(jì)能大大減輕研發(fā)任務(wù),加快研發(fā)速度,能夠在較短時(shí)間內(nèi)開發(fā)出性能優(yōu)良的數(shù)控系統(tǒng)。而經(jīng)過適當(dāng)“裁剪”的Linux系統(tǒng)加入,使得數(shù)控系統(tǒng)能更好的進(jìn)行多任務(wù)處理,極大的提高了系統(tǒng)的實(shí)時(shí)性。
[1] 葉佩青,汪勁松,MCX314運(yùn)動(dòng)控制芯片與數(shù)控系統(tǒng)的設(shè)計(jì)[M].北京航空航天大學(xué)出版社,2002.
[2] 余張國.基于ARM和MCX314A的嵌入式運(yùn)動(dòng)控制器,微計(jì)算機(jī)信息,2005.
[3] Zhang Jin-huan,"Research and Development of an Embedded Numerical Control System", The 1st Symposium on Digital Manufacture,2006.
[4] 金晟,傅建中,陳子辰.基于ARM的嵌入式數(shù)控系統(tǒng)設(shè)計(jì)[J].機(jī)電工程,2005(2):56-58.
[5] 于明.ARM9嵌入式系統(tǒng)設(shè)計(jì)與開發(fā)教程[M].電子工業(yè)出版社,2006.