摘 要:本文提出了一種基于ARM微處理器S3C2410 和DSP 專業(yè)運(yùn)動(dòng)控制芯片MCX314As構(gòu)成的嵌入式運(yùn)動(dòng)控制器。它可廣泛的應(yīng)用于數(shù)控機(jī)床、機(jī)器人等工業(yè)控制領(lǐng)域。該嵌入式運(yùn)動(dòng)控制器具有低功耗、高性能、低價(jià)位等特點(diǎn),是未來經(jīng)濟(jì)型工業(yè)運(yùn)動(dòng)控制器的發(fā)展趨勢(shì)。
關(guān)鍵詞:微處理器;運(yùn)動(dòng)控制芯片;工業(yè)控制
0. 引言
運(yùn)動(dòng)控制系統(tǒng)廣泛地應(yīng)用于工業(yè)控制領(lǐng)域,而嵌入式技術(shù)在工業(yè)控制領(lǐng)域的應(yīng)用還不太成熟,近年來,工業(yè)控制對(duì)運(yùn)動(dòng)控制系統(tǒng)的要求越來越高,為了滿足新一代運(yùn)動(dòng)控制系統(tǒng)的各項(xiàng)性能要求,嵌入式運(yùn)動(dòng)控制器應(yīng)運(yùn)而生。基于ARM 與DSP 運(yùn)動(dòng)控制芯片相結(jié)合的新一代運(yùn)動(dòng)控制系統(tǒng),充分發(fā)揮ARM 微控器與專業(yè)運(yùn)動(dòng)控制芯片MCX314As 的各自特點(diǎn),可方便的構(gòu)成高性能的嵌入式運(yùn)動(dòng)控制系統(tǒng)。
1. 運(yùn)動(dòng)控制芯片MCX314As
MCX314As 是日本NOVA 電子有限公司研制的DSP 運(yùn)動(dòng)控制專用芯片, 它是以單一芯片而可控制4 軸的脈沖序列輸出驅(qū)動(dòng)伺服電機(jī)、步進(jìn)電機(jī)的運(yùn)動(dòng)控制芯片,可用于工業(yè)自動(dòng)化設(shè)備、工業(yè)機(jī)器人、測(cè)量設(shè)備、辦公設(shè)備和家用電器等。可以進(jìn)行各軸獨(dú)立的定位控制、速度控制,另一方面亦可在4 軸中任意的選擇2 軸或是3 軸來進(jìn)行圓弧、直線、位模式插補(bǔ)。輸出脈沖頻率高達(dá)4MHZ,誤差低于±0.5 最小插補(bǔ)單元,倍率1~500。每軸都有伺服反饋輸入端、四個(gè)輸入點(diǎn)和8 個(gè)輸出點(diǎn),能獨(dú)立地設(shè)置為恒速、線性、非對(duì)稱S 曲線加/減控制、非對(duì)稱梯形加/減控制,并有2 個(gè)32 位的邏輯、實(shí)際位置計(jì)數(shù)器和狀態(tài)比較寄存器,實(shí)現(xiàn)位置的閉環(huán)控制。
MCX314As 運(yùn)動(dòng)控制芯片能與8/16 位數(shù)據(jù)總線接口,通過命令、數(shù)據(jù)和狀態(tài)等寄存器實(shí)現(xiàn)4 軸3 聯(lián)動(dòng)的位置 、速度、加速度等運(yùn)動(dòng)控制和實(shí)時(shí)監(jiān)視。采用這種專業(yè)級(jí)的運(yùn)動(dòng)控制芯片,能大大減輕研發(fā)算法軟件的工作量,加快科研工作的進(jìn)度,在實(shí)際運(yùn)用時(shí)可以把所有極其復(fù)雜的實(shí)時(shí)運(yùn)動(dòng)控制工作交給MCX314As 芯片來處理,而主機(jī)CPU 只需要向MCX314As 芯片發(fā)出一系列的控制指令便能實(shí)現(xiàn)各種復(fù)雜的運(yùn)動(dòng)。
2. ARM 微處理器S3C2410
S3C2410 是韓國(guó)三星(Samsung)公司設(shè)計(jì)的32 位RISC 嵌入式處理器。該處理器為手持設(shè)備和一般性應(yīng)用提供了一個(gè)高性價(jià)比、低功耗、高性能的解決方案。該芯片基于ARM920T內(nèi)核,采用五級(jí)流水線和哈佛結(jié)構(gòu),主頻高達(dá)200MHz。ARM920T 具有全性能的內(nèi)存管理單元MMU(Memory Management Unit)、獨(dú)立的16KB 指令和數(shù)據(jù)Cache 以及高速AMBA總線接口。為了減少應(yīng)用系統(tǒng)設(shè)計(jì)的成本,S3C2410 集成了眾多的常用資源,例如:LCD控制器、NANDFlash 控制器、SDRAM 控制器、系統(tǒng)片選邏輯以及一些常用的通訊接口等資源, 這使它廣泛的應(yīng)用于工業(yè)控制領(lǐng)域。
3. 運(yùn)動(dòng)控制器的基本構(gòu)成
3.1 硬件系統(tǒng)
在開發(fā)板S3C2410 上設(shè)計(jì)有系統(tǒng)總線預(yù)留接口,預(yù)留了S3C2410 芯片上的基于通用IO口的信號(hào)線,包括16 位數(shù)據(jù)線、12 位地址線、片選信號(hào)和一些讀寫控制信號(hào)線,以方便用戶擴(kuò)展應(yīng)用電路。運(yùn)動(dòng)控制芯片MCX314As 與S3C2410 處理器的連接就是通過這個(gè)標(biāo)準(zhǔn)的系統(tǒng)總線接口電路,把兩者的數(shù)據(jù)線、地址線、讀寫控制線、片選信號(hào)和中斷等信號(hào)連接起來。S3C2410 與MCX314As 的信號(hào)連接圖如圖1 所示。由圖中可以看到,在那些互相連接的信號(hào)線之間都隔著一些寫著“SN74ALVC164245”的芯片,那是因?yàn)镾3C2410 的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)。另外還需要注意的是,我們使用的是16 位數(shù)據(jù)線的傳輸,所以MCX314As 芯片的H16L8 引腳必須接上高電平。
3.2 軟件系統(tǒng)
該嵌入式運(yùn)動(dòng)控制系統(tǒng)系統(tǒng)進(jìn)行加工的過程實(shí)際上就是從ARM上位機(jī)傳輸數(shù)據(jù)到
MCX314As下位機(jī)的過程。其控制流程圖如圖2所示
(1)加工程序運(yùn)行開始,首先對(duì)MCX314As芯片進(jìn)行初始化。對(duì)MCX314As芯片進(jìn)行設(shè)置初始速度、加速度、減加速度、加速度變化率、正轉(zhuǎn)反轉(zhuǎn)方式、邏輯位置計(jì)數(shù)器清零、實(shí)際位置計(jì)數(shù)器清零等。
(2)選擇需要進(jìn)行加工的軸,MCX314As芯片有X、Y、Z、U四個(gè)軸,都有著相同的功能能力,能實(shí)現(xiàn)四軸三聯(lián)動(dòng)。
(3)設(shè)置所選軸模式和運(yùn)行參數(shù),包括直線定速模式、單步插補(bǔ)輸出模式和中斷請(qǐng)求。
(4)初始化位置計(jì)數(shù)器,即將數(shù)據(jù)庫中的行號(hào)寫入此計(jì)數(shù)器進(jìn)行減法計(jì)算,每處理完一行數(shù)據(jù)進(jìn)行減一處理。
(5)進(jìn)行命令和數(shù)據(jù)傳輸,發(fā)出數(shù)據(jù)后對(duì)狀態(tài)寄存器進(jìn)行檢查,加工完一段后發(fā)出信號(hào)然后再發(fā)送下一組數(shù)據(jù),一直到加工完成為止。在加工過程中一旦出現(xiàn)中斷,首先讀取各寄存器數(shù)據(jù)進(jìn)行保存,等待恢復(fù)加工后再讀寫出來。整個(gè)數(shù)據(jù)庫文件輸出結(jié)束后,保存運(yùn)行系統(tǒng)完成后的數(shù)據(jù)信息和系統(tǒng)所處的狀態(tài)信息,以備下個(gè)零件加工,由此加工結(jié)束。
4. 在XY 兩軸數(shù)控伺服工作臺(tái)中的應(yīng)用
XY 兩軸工作臺(tái)是采用滾珠絲桿和滾動(dòng)導(dǎo)軌傳動(dòng)的十字工作臺(tái)(X、Y 兩軸垂直)。X、Y 兩軸兩端各有1 個(gè)限位開關(guān)。采用松下交流伺服電機(jī)(型號(hào)MSMA022A1C,功率200W,額定轉(zhuǎn)速3000r/min,額定轉(zhuǎn)矩0.64Nm)驅(qū)動(dòng)工作臺(tái)運(yùn)動(dòng),電機(jī)驅(qū)動(dòng)器采用松下伺服驅(qū)動(dòng)器MSDA023A1A。采用光電編碼器作為位置反饋器件(伺服電機(jī)同軸安裝11 線2500P/r 增量編碼器)
圖3 是該平臺(tái)的X 軸驅(qū)動(dòng)原理圖,Y 軸驅(qū)動(dòng)與X 軸驅(qū)動(dòng)電路相同。圖中M 為伺服電機(jī),EC 是編碼器。將伺服驅(qū)動(dòng)器的“控制模式”設(shè)置為“位置控制”,把指令脈沖設(shè)置為“CW/CCW”方式。S3C2410 按流程圖操作MCX314As,設(shè)置相應(yīng)的運(yùn)動(dòng)參數(shù),寫入功能命令,即可完成對(duì)平臺(tái)的運(yùn)動(dòng)軌跡控制。
5. 結(jié)論
運(yùn)動(dòng)控制系統(tǒng)在工業(yè)控制中的應(yīng)用比較廣泛,MCX314As是高集成度的運(yùn)動(dòng)控制專用芯片能實(shí)現(xiàn)四軸三聯(lián)動(dòng)的位置、速度、加速度控制和直線、圓弧、位元3種模式的連續(xù)插補(bǔ)和位置閉環(huán)控制。而ARM處理器具有強(qiáng)大的32位RISC性能,體積小、功耗低,是一款高性能的處理器?;贏RM與專業(yè)運(yùn)動(dòng)控制芯片能大大減輕研發(fā)任務(wù),加快研發(fā)速度,可以在較短時(shí)間內(nèi)得到控制性能優(yōu)異的嵌入式運(yùn)動(dòng)控制系統(tǒng)。
參考文獻(xiàn)
[1] 葉佩青,汪勁松,MCX314運(yùn)動(dòng)控制芯片與數(shù)控系統(tǒng)的設(shè)計(jì),北京航空航天大學(xué)出版社,2002
[2] 余張國(guó),基于ARM和MCX314A的嵌入式運(yùn)動(dòng)控制器,微計(jì)算機(jī)信息,2005,21卷9-2 ,76-78
[3] 廣州友善之臂科技有限公司.SBC2410X使用手冊(cè)Version0.9.