基于ARM與DSP的嵌入式運(yùn)動(dòng)控制器設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
運(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)。
運(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ī)器人、測量設(shè)備、辦公設(shè)備和家用電器等??梢赃M(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)控制[1]。
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)視。在實(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 是韓國三星公司的32位RISC嵌入式處理器。該處理器為手持設(shè)備和一般性應(yīng)用提供了一個(gè)高性價(jià)比、低功耗、高性能的解決方案。該芯片基于ARM920T內(nèi)核,采用五級(jí)流水線和哈佛結(jié)構(gòu),主頻高達(dá)200MHz[3]。ARM920T具有全性能的內(nèi)存管理單元MMU、獨(dú)立的16KB指令和數(shù)據(jù)Cache以及高速AMBA總線接口。為了減少應(yīng)用系統(tǒng)設(shè)計(jì)的成本,S3C2410集成了眾多的常用資源,例如:LCD控制器、NANDFlash控制器、SDRAM控制器、系統(tǒng)片選邏輯以及一些常用的通訊接口等資源,使它廣泛的應(yīng)用于工業(yè)控制領(lǐng)域。
運(yùn)動(dòng)控制器的基本構(gòu)成
由S3C2410和MCX314As構(gòu)成運(yùn)動(dò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)連接起來。在兩者信號(hào)連接連接之間加入SN74ALVC164245的芯片來實(shí)現(xiàn)電平轉(zhuǎn)換,同時(shí)驅(qū)動(dòng)信號(hào)。另外還需要注意的是,我們使用的是16位數(shù)據(jù)線的傳輸,所以MCX314As芯片的H16L8引腳必須接上高電平。
圖1 S3C2410與MCX314As的接口電路框圖
嵌入式運(yùn)動(dòng)控制系統(tǒng)系統(tǒng)進(jìn)行加工的過程實(shí)際上就是從ARM上位機(jī)傳輸數(shù)據(jù)到MCX314As下位機(jī)的過程。其控制流程如下:
(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é)束。
運(yùn)動(dòng)控制器在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]
圖2是該平臺(tái)的X軸驅(qū)動(dòng)原理圖[1],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)軌跡控制。
圖2 單軸信號(hào)驅(qū)動(dòng)系統(tǒng)的接口示意框圖
結(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性能,體積小、功耗低。用ARM與專業(yè)運(yùn)動(dòng)控制芯片設(shè)計(jì)運(yùn)動(dòng)控制器能大大減輕研發(fā)任務(wù),加快研發(fā)速度,可以在較短時(shí)間內(nèi)得到控制性能優(yōu)異的嵌入式運(yùn)動(dòng)控制系統(tǒng)。