賈雯杰,汪 毅,魏雨辰
(中國礦業(yè)大學(xué) 信息與電氣工程學(xué)院,徐州 221116)
TMS320F2812是美國德州儀器 (Texas Instrument,TI)公司推出的面向交流電機(jī)調(diào)速、電力電子設(shè)備控制的新一代DSP控制器。通常對TI DSP開發(fā)是采用軟件 CCS(Code Compose Studio)使用 C或者匯編語言,但是在使用復(fù)雜的控制策略時(shí)和控制算法時(shí),編程的復(fù)雜程度較大,代碼效率不高,使控制效果不理想。這就需要一種新的程序設(shè)計(jì)和調(diào)試方法。文中通過建立正弦波發(fā)生器的硬件仿真模型,在DSP F2812的仿真器中進(jìn)行了實(shí)時(shí)的在線仿真,從而說明了RTDX在DSP圖形化開發(fā)中的用法及功能,并在此基礎(chǔ)建立了圖形化的直流電機(jī)的閉環(huán)速度控制系統(tǒng),有效的解決了上述問題。
如圖1所示,數(shù)字控制器采用DSP F2812芯片作為主控制器,硬件上由CPU、存儲(chǔ)器、數(shù)字I/O、PWM模塊和A/D模塊組成。A/D模塊對電樞繞組電流進(jìn)行采樣;PWM模塊產(chǎn)生6路PWM信號;數(shù)字I/O口有6路信號輸出,其中2路用作限幅多路切換器的不導(dǎo)通相選擇,2路用作程控放大比較器的放大倍數(shù)選擇,2路用作換相信號輸出使能。數(shù)字I/O口還有2路信號輸入,是程控放大比較器給數(shù)字控制器的換相信號。轉(zhuǎn)速計(jì)算模塊根據(jù)換相信號計(jì)算出電機(jī)的轉(zhuǎn)速值;速度控制模塊根據(jù)調(diào)速要求計(jì)算輸出PWM的占空比;換相控制模塊根據(jù)換相信號的電平跳變,進(jìn)行相應(yīng)的換相。
圖1 電機(jī)控制系統(tǒng)結(jié)構(gòu)及硬件圖
MathWorks公司和TI公司聯(lián)合開發(fā)了Matlab Link for CCS Development Tools(CCSLink)和Embedded Target for the TI DSP Platform,CCSLink提供了Matlab 和 CCS 的聯(lián)接口,能把 Matlab 和CCS 及目標(biāo)DSP硬件連接起來。利用CCSLink可以像操作Matlab變量一樣來操作DSP 的存儲(chǔ)器或寄存器。而CCSLink與ET TIC2000的配合使用,可直接通過Matlab中的Simulink模型生成DSP的可執(zhí)行代碼,可以在集成統(tǒng)一的Matlab環(huán)境下完成DSP的整個(gè)開發(fā)過程[3,4],如圖2所示。
圖2 Matlab、CCS硬件的聯(lián)接
圖3 RTDX的原理圖
RTDX 在主機(jī)與目標(biāo)系統(tǒng)數(shù)據(jù)交換時(shí),利用的是DSP內(nèi)部仿真邏輯和JTAG 接口,它不占用DSP 的I/O 資源,對DSP 系統(tǒng)資源影響很小,使數(shù)據(jù)傳送可以在不停止應(yīng)用程序的背景下運(yùn)行。在目標(biāo)系統(tǒng)上,應(yīng)用程序的數(shù)據(jù)通過RTDX 的用戶庫接口和通訊接口,再經(jīng)過JTAG接口發(fā)送到主機(jī)調(diào)試器,存入文件。由于主機(jī)調(diào)試器支持客戶端,因此任何OLE Automation Client(VB、VC++等)都可以訪問和顯示文件內(nèi)的數(shù)據(jù)。主機(jī)向目標(biāo)系統(tǒng)發(fā)送數(shù)據(jù)時(shí),數(shù)據(jù)首先從OLE Automation Client 發(fā)送到調(diào)試器,接收到數(shù)據(jù)后,調(diào)試器再對數(shù)據(jù)進(jìn)行緩存,只有當(dāng)接收到目標(biāo)系統(tǒng)上應(yīng)用程序發(fā)送的讀數(shù)據(jù)請求時(shí),數(shù)據(jù)才能通過JTAG 接口被發(fā)送到目標(biāo)系統(tǒng)的通信接口,然后再發(fā)送到用戶庫接口,最后傳給應(yīng)用程序[5]。
RTDX的模型不同于一般模型,要用到兩個(gè)特殊的模塊From RTDX 和 To RTDX ,分別放置在需要調(diào)節(jié)的參數(shù)的輸入端和模型的輸出端,用來建立RTDX通道實(shí)現(xiàn)數(shù)據(jù)傳輸,建立如圖4所示的Simulink模型。
圖4 RTDX正弦波發(fā)生器模型
設(shè)置CCS Setup中仿真器型號,保持與模型窗口中F2812 ezdsp中的DSPBoardLabel型號相同。然后在Simulink窗口中選擇Simulation下拉菜單中的Configuration Parameters選項(xiàng),彈出對話框。保持默認(rèn)設(shè)置不變,點(diǎn)擊Generate Code,使Simulink模型自動(dòng)生成CCS IDE的工程文件,并且自動(dòng)調(diào)入CCS IDE中,則該工程文件就能在CCS IDE中編譯下載運(yùn)行[5,6]。
地址分配,在CCS中進(jìn)行編譯好,下載到硬件仿真器中。接著在MATLAB的模型中點(diǎn)擊Build/Reload & Run 模型框,此時(shí)代碼自動(dòng)在硬件仿真器中運(yùn)行,同時(shí)彈出GUI的波形顯示窗口,顯示出代碼所描述的正弦波。可以在波形顯示窗口中實(shí)時(shí)的在線更改頻率(Frequency)及幅值(Amplitude),而不用終止運(yùn)行中的程序。只需在波形窗口中更改頻率或幅值,然后點(diǎn)擊應(yīng)用(Apply)即可完成實(shí)時(shí)在線更改數(shù)據(jù)。如圖5所示。
通過正弦波發(fā)生器的實(shí)時(shí)在線更改頻率或幅值,可以很清晰的看到RTDX在DSP程序設(shè)計(jì)中的作用,讓DSP的開發(fā)變得更方便,更快捷,同時(shí)也證實(shí)了RTDX技術(shù)的實(shí)時(shí)性。
圖5 實(shí)時(shí)正弦曲線
利用上述建立RTDX正弦波發(fā)生器的方法,采用F2812硬件實(shí)驗(yàn)平臺(tái)和MATLAB中的DMC庫模塊構(gòu)建一個(gè)圖形化直流電機(jī)的閉環(huán)速度控制系統(tǒng),如圖6所示。
1)調(diào)整模型中的電機(jī)軸角編碼器分辨率參數(shù),以符合硬件的要求;
圖6 直流電機(jī)的圖形化閉環(huán)速度控制系統(tǒng)
2)點(diǎn)擊“Build/Reload & Run”,在CCS中生成加載和運(yùn)行控制DSP的代碼。該設(shè)置參數(shù)通過RTDX被送到運(yùn)行在DSP上的控制器,該控制器不斷的調(diào)整驅(qū)動(dòng)電機(jī)的PWM波的占空比,以便達(dá)到預(yù)期的速度要求。電機(jī)負(fù)載的變化將會(huì)導(dǎo)致PWM波形占空比的變化,電機(jī)的速度和PWM波形的占空比值通過RTDX被送到主機(jī)上,通過MATLAB運(yùn)行仿真。
本文通過Matlab與CCS的圖形化模式開發(fā)數(shù)字信號處理器,實(shí)現(xiàn)了RTDX在DSP中實(shí)時(shí)產(chǎn)生正弦波,并能夠?qū)崟r(shí)更改數(shù)據(jù)而不影響程序的運(yùn)行;在此基礎(chǔ)上建立了圖形化直流電機(jī)的閉環(huán)速度控制系統(tǒng)。從而證實(shí)了RTDX是一種非常理想的實(shí)時(shí)數(shù)據(jù)傳輸技術(shù),為軟件的調(diào)試提供了一種新的方法,也為DSP 開發(fā)人員發(fā)現(xiàn)程序錯(cuò)誤和監(jiān)測系統(tǒng)運(yùn)行狀況提供了實(shí)時(shí)的、直觀的表示形式。另外,RTDX技術(shù)不僅可以用在軟件調(diào)試過程中,而且可用于醫(yī)療監(jiān)測、工業(yè)控制等領(lǐng)域,基于圖形化模式的RTDX技術(shù)在DSP開發(fā)電機(jī)控制系統(tǒng)中必將有著廣泛的應(yīng)用。
[1] How to Write an RTDX Host Application Using MATLAB[Z].Texas Instruments,2000.
[2] 段國強(qiáng),陳月云.Matlab輔助DSP設(shè)計(jì)的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007(20):130-132.
[3] 冷斌,李學(xué)勇,劉建華.一種基于Matlab的DSP調(diào)試及直接代碼生成方法[J].現(xiàn)代電子技術(shù),2008(20):68-75.
[4] Matlab Help Link for Code Composer Studio[Z].
[5] 李彬.基于DSP/BIOS的RTDX實(shí)時(shí)信號處理系統(tǒng)的實(shí)現(xiàn)[J].科技信息(學(xué)術(shù)研究),2008(36):227.
[6] 李真芳,蘇濤,黃小宇.DSP 程序開發(fā)—Matlab調(diào)試及直接目標(biāo)代碼生成[M].西安:西安電子科技大學(xué)出版社,2003.