999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于MAST語言的虛擬數(shù)字信號處理器

2011-02-27 13:29:28謝銀銀裴雪軍
電源學(xué)報 2011年2期
關(guān)鍵詞:程序語言系統(tǒng)

謝銀銀,裴雪軍,康 勇

(華中科技大學(xué)電氣與電子工程學(xué)院,武漢 430074)

引言

Saber[1]軟件是一個功能強(qiáng)大的仿真軟件,其仿真器采用的算法可極大地提高仿真計算收斂性,縮短仿真時間。另外,Saber還提供了適合于建立混合仿真模型的硬件描述語言——MAST語言[2-5],它不僅可以建立模擬元件的模型,還可以建立數(shù)字元件的模型,包括電、機(jī)械、光和流體等,用戶可以直接建立滿足自己需要的元件模型。相比MATLAB[6],Saber軟件具有更豐富的器件庫,支持多種分析,可考慮器件非理想因素,使得仿真結(jié)果更加真實(shí)可信,因此在元件級的電路仿真領(lǐng)域得到了廣泛應(yīng)用。在電力電子產(chǎn)品設(shè)計之初,若利用Saber仿真軟件對電路及其控制進(jìn)行仿真驗(yàn)證,可以及早地發(fā)現(xiàn)電路設(shè)計中存在的問題,大大縮短開發(fā)周期。

目前數(shù)字信號處理器(DSP)[7]已成為電力電子電路數(shù)字控制中的核心部件。然而,在利用Saber仿真軟件對DSP控制的電力電子系統(tǒng)進(jìn)行仿真建模的時候,存在若干問題。如圖1(a)所示,首先需要在Saber仿真環(huán)境中搭建主電路與控制電路的仿真模型。由于Saber軟件中關(guān)于DSP芯片的仿真模塊并不多,因此一般要用各種已有的分立模塊搭建實(shí)現(xiàn)DSP的功能。另外,注意到實(shí)際的系統(tǒng)是DSP控制的離散數(shù)字系統(tǒng),在仿真環(huán)境中調(diào)試完畢后,還需要進(jìn)行參數(shù)的離散化與編程實(shí)現(xiàn),因此最終的實(shí)驗(yàn)結(jié)果將與仿真結(jié)果有較大的誤差。為此,需在Saber仿真環(huán)境中重新進(jìn)行參數(shù)調(diào)整。如此反復(fù),從而增加了開發(fā)周期。

為了克服上述設(shè)計方案的缺點(diǎn),人們提出了改進(jìn)的設(shè)計方案,利用MATLAB強(qiáng)大的控制工具箱實(shí)現(xiàn)控制功能,充分利用了兩者的優(yōu)點(diǎn)而避免了各自的缺點(diǎn),文獻(xiàn)[8]通過Saber與MATLAB進(jìn)行聯(lián)合仿真。如圖1(b)所示,利用Saber組建主電路,利用MATLAB組建控制電路;另外,利用Saber仿真軟件中提供的MAST編程語言,可以直接編程實(shí)現(xiàn)控制功能,或是以MAST語言為對外接口,進(jìn)一步調(diào)用外部程序(如C語言)來實(shí)現(xiàn)復(fù)雜的控制方案,如圖1(c)所示。這些改進(jìn)方案避免了在Saber中用分立元件搭建控制電路,因此大大縮短了建模和仿真時間。然而,上述改進(jìn)方案通用性不強(qiáng)(針對不同主電路要編寫不同的控制程序),仿真調(diào)試完畢后仍需離散化并需轉(zhuǎn)換成DSP可運(yùn)行的程序。

為改進(jìn)上述設(shè)計方案的缺點(diǎn),本文利用Saber仿真軟件自帶的MAST語言編寫了一個虛擬的數(shù)字信號處理器(DSP)模塊。本文以DSP中的事件管理器的實(shí)現(xiàn)與控制為例,說明該虛擬模塊的設(shè)計方法及工作原理。

圖1 傳統(tǒng)的DSP應(yīng)用系統(tǒng)設(shè)計流程

1 改進(jìn)的DSP應(yīng)用系統(tǒng)設(shè)計流程

本節(jié)以Buck電路為例說明本文提出的電路仿真方法。

如圖2(a)所示,對于一個 DSP控制的BUCK電路,其包括了BUCK主電路和DSP控制電路兩部分。控制電路從BUCK主電路的輸出電壓中得到反饋信號,通過DSP內(nèi)部的A/D轉(zhuǎn)換模塊轉(zhuǎn)化成數(shù)字量,該數(shù)字量將作為PI調(diào)節(jié)器的輸入,并通過一定的算法得到輸出的控制量。該控制量將送入DSP的事物管理器模塊,以產(chǎn)生占空比可變的脈寬信號,用于驅(qū)動主電路的MOSFET。DSP的上述功能均通過在CCS中編寫不同的程序并燒寫至DSP中實(shí)現(xiàn)。在傳統(tǒng)的仿真驗(yàn)證方法中,BUCK主電路的仿真可以方便地用Saber軟件中自帶的模塊來搭建,但DSP及其程序所實(shí)現(xiàn)的功能則要利用各種引言中提出的不同的方法來代替。因此,設(shè)計者無法直接驗(yàn)證所設(shè)計的程序是否正確與有效。

圖2 Buck電路應(yīng)用系統(tǒng)設(shè)計流程

為解決上述問題,本文提出的改進(jìn)型仿真方法如圖2(b)所示。BUCK主電路仍然利用Saber自帶的模塊來搭建;同時利用MAST語言進(jìn)行編程,在Saber仿真環(huán)境中同時實(shí)現(xiàn)DSP中的A/D轉(zhuǎn)換、事件管理器的功能。注意到真正的DSP中的事件管理器與A/D轉(zhuǎn)換模塊一旦設(shè)定后將以一定的模式進(jìn)行工作,因此這兩個部件的功能利用MAST語言編程直接實(shí)現(xiàn);而實(shí)現(xiàn)DSP中的PI控制算法是通過CCS中程序來進(jìn)行實(shí)現(xiàn)的,因此該虛擬DSP中還包括了一個可實(shí)現(xiàn)直接調(diào)用CCS中PI控制算法程序的模塊。通過該改進(jìn)仿真方法,可以直接在Saber環(huán)境里對BUCK主電路的運(yùn)行狀態(tài)與CCS中的程序的控制效果進(jìn)行仿真驗(yàn)證;得到較為滿意的結(jié)果之后CCS中的程序不經(jīng)過任何修改,直接進(jìn)行編譯后燒寫到真正的DSP中,對實(shí)際主電路進(jìn)行控制。

該改進(jìn)仿真方法有如下優(yōu)點(diǎn):

(1)參數(shù)設(shè)計、控制器設(shè)計及程序調(diào)試的過程均可以在Saber中仿真完成,編寫的程序在仿真中得出滿意的效果后,可直接應(yīng)用于實(shí)現(xiàn)的系統(tǒng)。

Performance of liquid whitening agent CBW-04 and its application in laundry detergent 1 24

(2)該虛擬DSP可作為一個標(biāo)準(zhǔn)的仿真部件,和真正的DSP一樣,可以通過編寫不同的程序,使該虛擬DSP實(shí)現(xiàn)不同的調(diào)制和控制方法。

2 MAST語言實(shí)現(xiàn)虛擬的DSP

2.1 用MAST語言實(shí)現(xiàn)事件管理器功能

DSP中事件管理器的一個重要功能是通過設(shè)置相關(guān)的寄存器,發(fā)出期望的驅(qū)動波形[9]。相關(guān)的寄存器有周期寄存器、比較寄存器、通用定時控制寄存器、比較控制寄存器等等。而MAST語言有自帶的事件驅(qū)動函數(shù)可以實(shí)現(xiàn)該功能:

schedule_envent(time,state_var,values)其中:time為指定時刻;state_var為指定變量;values為指定變量的值。

以圖2中BUCK電路所用到的連續(xù)遞增模式的產(chǎn)生為例。定時器計數(shù)器計數(shù)值T1CNT按圖3所示的階梯式連續(xù)遞增計數(shù)。

事件管理器的功能可以用下面的MAST語句實(shí)現(xiàn):

其中,cycle_end是一個周期結(jié)束下一個周期開始的標(biāo)志位;b對應(yīng)于計數(shù)器的值從0增加至T1CMP所需要的時間;c對應(yīng)于計數(shù)器的值從0增加至T1PR所需要的時間:

根據(jù)式 (1) 計算得到 b,MAST語句 schedule_event(time+b,dpwm1,l4_1),到b時刻時將PWM波置為高電平。在實(shí)際DSP里,計數(shù)器計數(shù)值T1CNT計數(shù)到T1CMP時,發(fā)生匹配,PWM輸出信號反轉(zhuǎn)。

MAST語句 schedule_event(time+c,cycle_end,~cycle_end),使得c時刻即一個周期結(jié)束時,將標(biāo)志位cycle_end的值取反,語句when(event_on(cycle_end)),表示當(dāng)cycle_end的值有變化時,開始執(zhí)行下一個時刻的事件,即執(zhí)行語句schedule_event(time+b,dpwm1,l4_1)。在實(shí)際DSP里,當(dāng)計數(shù)器的值(T1CNT)計數(shù)到周期寄存器的值(T1PR)之后,計數(shù)器的值清零,置位下溢中斷標(biāo)志而后繼續(xù)遞增計數(shù),如此循環(huán)。

用MAST語言實(shí)現(xiàn)事件管理器功能,生成虛擬DSP模板。該MAST語言也可以實(shí)現(xiàn)其他情況的PWM波,比如,連續(xù)遞增計數(shù)模式下的低電平有效或者連續(xù)增/減計數(shù)模式下的高有效或低有效。圖3(c)是用MAST語言實(shí)現(xiàn)遞增計數(shù)模式且高電平有效時的PWM波。

圖3 連續(xù)遞增計數(shù)模式下的驅(qū)動波形

綜上所述,MAST語言可以模擬實(shí)際DSP發(fā)PWM波的功能。

2.2 MAST語言調(diào)用VC++里的程序

由于上述的MAST語言只能實(shí)現(xiàn)虛擬DSP發(fā)PWM波的功能,不能體現(xiàn)控制器的作用,因此MAST語言需要調(diào)用控制器程序,該程序需在VC++[10,11]里編譯。在VC++里新建一個工程,如圖4所示,在工程里新建一個以cpp為后綴的文本,編寫C程序,在定義變量名時,需要采用結(jié)構(gòu)體和指針對事件管理器的相關(guān)寄存器進(jìn)行預(yù)處理,使其能等效于DSP的相關(guān)寄存器。將設(shè)計好的控制器數(shù)字化轉(zhuǎn)化為C代碼,在VC++里編譯,編譯成功后會生成一個dll文件。dll是一個可執(zhí)行的二進(jìn)制文件,將該文件與MAST編寫的模板放在同一文件目錄中,在MAST語言的模板體里編寫語句foreign Name,成功地調(diào)用外部VC++里的程序。

利用Saber搭建的主電路,其輸出電壓V0作為虛擬DSP模板的輸入,在VC++里,語句V0=in[0]表示將輸出電壓調(diào)入VC++里并作為控制器的輸入(其中in[0]是MAST語言傳遞給VC++的第一個數(shù)據(jù)),通過一定的算法得到輸出的控制量,在此文中指的是比較寄存器的值T1CMP,將VC++編譯,生成一個dll文件,在MAST語言的模板體里編寫語句foreign Name,成功調(diào)用該文件,將T1CMP的值賦給MAST語言,再在MAST語言模板里,根據(jù)式(1)計算得到b。同理,將T1PR的值賦給MAST語言,根據(jù)式(2)計算得到c。

通過dll文件實(shí)現(xiàn)MAST與VC++的接口技術(shù)及其混合編程。MAST語言里的語句:(out[0],out[1],out[2],out[3]…)=Name(in[0],in[1],in[2],in[3]...)(其中out[0]是VC++傳遞給MAST語言的第一個數(shù)據(jù)),實(shí)現(xiàn)MAST與VC++間的數(shù)據(jù)傳遞,從而構(gòu)成閉環(huán)系統(tǒng)。這種方法極大地提高了開發(fā)效率,縮短了開發(fā)周期,同時也有利于提高軟件質(zhì)量。因此,dll文件是MAST語言與外部程序連接的橋梁。

用MAST語言編寫代碼虛擬DSP事件管理器的主要功能,構(gòu)造了系統(tǒng)的核心模塊,實(shí)現(xiàn)閉環(huán)控制策略。這樣,數(shù)據(jù)直接在Saber與VC++之間進(jìn)行傳遞,使系統(tǒng)工作在統(tǒng)一的仿真環(huán)境里。若把很多通用的功能放在dll中,可以供多個應(yīng)用程序調(diào)用,不僅大大的減少外部存儲空間的占有量,而且能實(shí)現(xiàn)代碼的共享。

圖4 MAST語言調(diào)用VC++里的程序

3 仿真和實(shí)驗(yàn)結(jié)果

Saber里的元器件搭建的主電路接近實(shí)際主電路,所以直接用Saber里自帶的模塊搭建主電路,以Buck電路為例,如圖5所示,用Saber自帶的模塊搭建主電路,編寫MAST語言實(shí)現(xiàn)虛擬的DSP,在VC++里編寫控制器的C程序,然后MAST語言調(diào)用該程序,這樣,MAST與外部C語言聯(lián)合起來生成控制模塊,在Saber環(huán)境下仿真整個系統(tǒng),主要技術(shù)參數(shù):輸入直流電壓40~65 V,輸出為30 V,濾波電感0.2 mH,濾波電容47 μF,開關(guān)頻率為24 K。在t=0.2 s時,負(fù)載由 40 Ω 切到 10 Ω。

圖5 用Saber仿真Buck電路閉環(huán)系統(tǒng)

本文設(shè)計了兩種控制器來驗(yàn)證該方法。控制器1是簡單的PI調(diào)節(jié)器,其表達(dá)式為:

如圖6所示。其中,當(dāng)直流輸入電壓為65 V時,其對應(yīng)的仿真和實(shí)驗(yàn)波形為圖 6(a)、(c),由仿真和實(shí)驗(yàn)波形可知,系統(tǒng)達(dá)到穩(wěn)定后0.2 s,將負(fù)載由40 Ω切到10 Ω時,仿真得到的輸出電壓與實(shí)驗(yàn)得到的輸出電壓瞬間跌落都是10 V,經(jīng)過約20 ms的調(diào)節(jié)時間,系統(tǒng)再次達(dá)到穩(wěn)定,仿真波形和實(shí)驗(yàn)波形基本一致;當(dāng)直流輸入電壓為50 V時,其對應(yīng)的仿真和實(shí)驗(yàn)波形為圖 6(b)、(d)。由仿真和實(shí)驗(yàn)波形可知,系統(tǒng)達(dá)到穩(wěn)定后0.2 s,將負(fù)載由40 Ω切到10 Ω時,仿真得到的輸出電壓瞬間跌落8 V,而實(shí)驗(yàn)得到的輸出電壓瞬間跌落9 V,經(jīng)過約20 ms的調(diào)節(jié)時間經(jīng)過約20 ms的調(diào)節(jié)時間,系統(tǒng)再次達(dá)到穩(wěn)定,仿真波形和實(shí)驗(yàn)波形基本一致。控制器2是一個較復(fù)雜的二階控制器,其表達(dá)式:

圖6 控制器1下的仿真和實(shí)驗(yàn)波形

圖7 控制器2下的仿真和實(shí)驗(yàn)波形

由圖7可知,仿真波形和實(shí)驗(yàn)波形基本一致。

綜上所述,采用MAST語言生成模擬的DSP模塊去控制仿真電路的效果等同于采用真正的DSP控制實(shí)際電路,即能準(zhǔn)確模擬實(shí)際系統(tǒng)的特性,設(shè)計及試驗(yàn)的過程可以在仿真軟件中完成。這種方法既能有效地控制實(shí)際系統(tǒng)又能大大地縮短設(shè)計與調(diào)試周期。

4 結(jié)論

本文采用MAST語言生成了虛擬的DSP模塊,只需將設(shè)計在Saber軟件中驗(yàn)證。在Saber軟件平臺上,實(shí)現(xiàn)了Buck電路的系統(tǒng)仿真。仿真結(jié)果和實(shí)驗(yàn)結(jié)果表明,該方法簡單、可靠,能準(zhǔn)確模擬實(shí)際系統(tǒng)的特性。設(shè)計及試驗(yàn)的過程可以在仿真軟件中很快地完成,取代了傳統(tǒng)的硬件調(diào)試過程,可以較快地給出滿意的設(shè)計結(jié)果,大大地縮短設(shè)計與調(diào)試周期。該方法可以拓展到用于各種電源電路中,具有廣泛性和普遍性。因此,基于MAST語言的虛擬DSP實(shí)現(xiàn)方法對于控制模型仿真來說,具有重大的理論意義和一定的實(shí)際應(yīng)用價值。

[1] 李晶,劉進(jìn)軍,王兆安,等.基于saber的風(fēng)力發(fā)電系統(tǒng)建模及仿真分析 [J].太陽能學(xué)報,2008,29(12):1471-1476.

[2] 管福初,鐘炎平.基于Saber的空間矢量PWM實(shí)現(xiàn)方法[J].空軍雷達(dá)學(xué)院學(xué)報,2010,24(3):203-206.

[3] 吳俊強(qiáng),曾國宏.“交直交”電力機(jī)車saber仿真方法[J].鐵路計算機(jī)應(yīng)用,2005,14(1):7-8.

[4]Viach M.Modeling and Simulation with Saber[C].ASIC Seminar and Exhibit,1990.Proceedings,Third Annual IEEE,T/11.1-T/11.9.

[5]Kolessar R and Nee H-P.A New Physics-based Circuit Model for 4H-SIC Power Diodes Implemented in Saber[C].APEC,2001,(2):989-994.

[6]Gilbert Sybille,Hoang Le-Huy.Digital Simulation of Power Systems and Power Electronics using the MALAB/Simulink Power System Blockset[C].Power Engineering Society Writer Meeting,.IEEE.2000,(4):2973-2981.

[7] Rahman M F and Baburaj K V.A DSP Laboratory Platform for Teaching Power Electronics and Drivers[C].Power Electronic Drivesand Energy SystemsforIndustrial Growth of International Conference,IEEE,1998, (2):751-756.

[8]Zhenhua Jiang,Roger Dougal.A Novel Approach to Simulating Power Electronic System by Embedding MATLAB Objects into Saber [C].IEEE ICECA,Wuhan,China,2001.

[9] 蘇奎峰,呂強(qiáng),常天慶,等.TMS320X281X DSP原理及C程序開發(fā)[M].北京:北京航空航天大學(xué)出版社,2008.

[10]Zhang Sijin,Wei Ming,Liu Yan-an.The Weather Radar Product Synthetic Programming by VC++&MATLAB[C].CISE,2009.

[11] Fu Hudai,Wang Hua,Yang Wei.Applocation of Mixed Programming between MATLAB and Visual C++on Circles Detection[C].IHMSC,2009.

猜你喜歡
程序語言系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
試論我國未決羈押程序的立法完善
讓語言描寫搖曳多姿
“程序猿”的生活什么樣
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
累積動態(tài)分析下的同聲傳譯語言壓縮
主站蜘蛛池模板: 四虎永久在线视频| 国产91高跟丝袜| 不卡午夜视频| 亚洲成a人片| 无码精品国产dvd在线观看9久| 国产偷倩视频| 在线观看国产精品第一区免费| 国产小视频免费观看| 自拍偷拍欧美日韩| 色噜噜综合网| 日韩在线播放中文字幕| 国产精品无码一二三视频| 婷婷午夜影院| 欧美日韩国产在线观看一区二区三区| 人人爽人人爽人人片| 91精品在线视频观看| 中文字幕欧美日韩高清| 3p叠罗汉国产精品久久| 中文字幕人妻av一区二区| 欧美一级在线| 国产va在线观看免费| 国产第一页亚洲| 日本福利视频网站| 好紧好深好大乳无码中文字幕| 2021天堂在线亚洲精品专区 | 精品视频91| 一级福利视频| 黄色一级视频欧美| 亚洲91在线精品| 国产91精品久久| 日韩小视频在线观看| 国产嫩草在线观看| 国产成人高清精品免费软件 | 高清色本在线www| 国产H片无码不卡在线视频| 日韩av在线直播| 2020国产精品视频| 国产成人精品无码一区二| 97色婷婷成人综合在线观看| 欧美、日韩、国产综合一区| 亚洲欧美自拍视频| 三上悠亚在线精品二区| 国产在线第二页| 国产农村1级毛片| 91国内外精品自在线播放| AV不卡在线永久免费观看| 亚洲成人网在线观看| 乱人伦99久久| 久久特级毛片| 波多野结衣无码视频在线观看| 国产美女免费网站| 91精品在线视频观看| 国产无码制服丝袜| 午夜福利免费视频| 99re免费视频| 无遮挡一级毛片呦女视频| 日韩欧美在线观看| 亚洲高清日韩heyzo| 亚瑟天堂久久一区二区影院| 熟妇丰满人妻av无码区| 99草精品视频| 亚洲欧洲AV一区二区三区| 99精品伊人久久久大香线蕉| 日韩国产综合精选| 久久精品嫩草研究院| 中文字幕日韩久久综合影院| 精品人妻无码区在线视频| 黄色国产在线| 亚洲日韩久久综合中文字幕| 日本不卡免费高清视频| 亚洲精品国产成人7777| 久久精品无码一区二区国产区| 欧美久久网| 鲁鲁鲁爽爽爽在线视频观看 | 国产永久无码观看在线| 免费国产高清精品一区在线| 自拍偷拍欧美日韩| 日韩精品无码不卡无码| 噜噜噜久久| 67194亚洲无码| a级高清毛片| 亚洲中文字幕无码爆乳|