當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]摘要:S-Function有兩種形式,一種是M文件,另一種是C-MEX文件,前者支持功能強(qiáng)大的工具箱,后者支持C、C++等語言,并且在仿真上更快速有效?;赥MS320C2812的SVPWM算法在TI的CCS軟件中實(shí)現(xiàn),并且支持C、C++語言,這

摘要:S-Function有兩種形式,一種是M文件,另一種是C-MEX文件,前者支持功能強(qiáng)大的工具箱,后者支持C、C++等語言,并且在仿真上更快速有效。基于TMS320C2812的SVPWM算法在TI的CCS軟件中實(shí)現(xiàn),并且支持C、C++語言,這給程序通過S-Function移植到MATLAB中進(jìn)行仿真提供了一種有效途徑。利用在Simulink中搭建的三相全橋逆變器模型與S-Function編寫的算法模塊相結(jié)合,并進(jìn)行仿真,簡單有效地說明了S-Funetion的實(shí)際應(yīng)用并驗(yàn)證了SVPWM算法的正確性。
關(guān)鍵詞:S-Function;SVPWM;MATLAB仿真;CCS

引言
    利用MATLAB仿真CCS算法的方法在很多文章中都有介紹,歸納起來主要有兩類:一類是利用MATLAB/Simulink中的S-Function編寫所需算法模塊,仿真成功后將算法移植到CCS中建立新的算法工程;另一類是在MATLAB中建立仿真模型,然后通過CClink的直接代碼生成法建立CCS工程文件。這兩類方法都有各自的缺點(diǎn)。第一類方法只注重對算法思想的驗(yàn)證,要在CCS中實(shí)現(xiàn)卻要經(jīng)過很復(fù)雜的算法移植過程,增加了算法實(shí)現(xiàn)的難度。第二類方法避免了此類問題,而將MATLAB仿真模型直接生成CCS代碼,省略了再移植的過程,然而這種方法形成的代碼具有可讀性差、缺乏優(yōu)化、占用資源大等缺點(diǎn),使得TMS320F2812芯片的內(nèi)存利用率大大降低。結(jié)合這兩種方法的優(yōu)點(diǎn)和弊端,本文利用C-MEXS-Func-tion提出了一種全新的將CCS程序與MATLAB仿真聯(lián)系起來的方法,實(shí)現(xiàn)了CCS程序到MATLAB仿真的簡單移植。該方法高效、簡單并且易于理解和實(shí)現(xiàn),可以通過S-Function作為接口直接使用CCS編寫的SVPWM程序在MATLAB環(huán)境下進(jìn)行仿真,算法驗(yàn)證正確后不用再修改程序可直接在CCS中編譯并下載到目標(biāo)板使用。這就大大降低了仿真與實(shí)際應(yīng)用之間轉(zhuǎn)化的難度,也簡化了軟件人員在幾種編程環(huán)境中反復(fù)修改程序的過程。

1 S-Function程序建立方法
    S-Function有兩種建立方式,一種是用M文件來實(shí)現(xiàn),另一種是用C-MEX來實(shí)現(xiàn)。前者效率低下,但是開發(fā)速度快,可以方便調(diào)用MATLAB和工具箱函數(shù);后者支持不同的編程語言,如:C、c++、Fortran等,運(yùn)行速度快,滿足實(shí)時(shí)性要求,可以實(shí)現(xiàn)M文件不能實(shí)現(xiàn)的許多功能,如復(fù)數(shù)的處理等。
    考慮到基于TMS320F2812的SVPWM算法仿真對實(shí)時(shí)性要求比較高,且CCS工程是用C語言編寫的,因此本文選用C-MEX形式來建立S-Function程序。在MATLAB的安裝根目錄matlabroot/simulink/src下有一個(gè)用C語言編寫的C-MEX S-Function文件模板:sfuntmpl basic.c。該模板幾乎包含了所有C-MEXS-function文件可執(zhí)行的必需和可選的回調(diào)函數(shù)的基本結(jié)構(gòu),只需要進(jìn)行少許改動(dòng),就可以實(shí)現(xiàn)各種功能的函數(shù)。
    建立S-Function可以按以下步驟進(jìn)行:
    首先進(jìn)行環(huán)境設(shè)置。初次使用C-MEX S-Function之前,需要在MATLAB中激活,可以在命令窗口鍵入mex-setup,然后根據(jù)提示設(shè)置編譯器。
    然后打開C-MEX S-Function文件模板,將模板另存為svpwm.c文件,然后再進(jìn)行必要的設(shè)置,這樣不會(huì)破壞模板,當(dāng)需要其中的一些必要函數(shù)時(shí)還可以再查閱。模板中的第一行代碼#define S_FUNCTION_NAME XXX是用來設(shè)置函數(shù)名的,這是調(diào)用函數(shù)時(shí)的唯一標(biāo)識(shí),這里可以將其改為#define S_FuNCTION_NAME svpwm,那么svpwm就是該函數(shù)的函數(shù)名。
    最后編譯動(dòng)態(tài)鏈接庫。S-Function函數(shù)編寫完成后,需要在MTLAB中進(jìn)行編譯生成動(dòng)態(tài)鏈接庫與Simulink鏈接,這樣才能在模型中調(diào)用S-Function模塊。注意編寫的文件與生成的文件以及建立的模型都必須在同一目錄下。在MATLAB的命令窗口輸入mex svpwm.c,這樣就會(huì)在當(dāng)前目錄下創(chuàng)建一個(gè)svpwm.dll文件。在模型中加入S-Function模塊,并雙擊它,在sfunction name一欄填入函數(shù)名svpwm。注意這個(gè)函數(shù)名要與接口程序中設(shè)置的函數(shù)名保持一致。這樣就可以在模型中使用S-Function函數(shù)模塊了。

2 實(shí)現(xiàn)CCS中SVPWM算法移植
2.1 SVPWM算法原理簡單介紹
    空間矢量調(diào)制(SVPWM)技術(shù)即是將3個(gè)互為120°的電壓矢量投影到兩相靜止坐標(biāo)系中,通過三相逆變器開關(guān)組合,合成一個(gè)空間電壓矢量的方法。
    三相逆變器電路如圖1所示,用Sa、Sb和Sc分別表示三組開關(guān)的通斷狀態(tài)。采用180°導(dǎo)通方式,“1”表示上橋臂導(dǎo)通,“0”表示下橋臂導(dǎo)通。這樣就形成了8種開關(guān)組合狀態(tài),分別是100、110、010、011、001、101、111、000。


     每個(gè)開關(guān)序列對應(yīng)一個(gè)基準(zhǔn)電壓矢量,按空間位置排列正好形成了一個(gè)六邊形。其中,有6個(gè)有效電壓空間矢量(V1~V6)和2個(gè)零矢量(V7、V8),選用對稱的空間矢量調(diào)制序列以消除偶次諧波。具體開關(guān)狀態(tài)Sa、Sb、Sc與電壓矢量在兩相靜止坐標(biāo)系中的關(guān)系以及各扇區(qū)和開關(guān)序列圖如圖2所示。

[!--empirenews.page--]
    無論電壓矢量落在哪個(gè)扇區(qū),都可以用相鄰的兩個(gè)有效電壓矢量和零矢量對其合成。這里以扇區(qū)3為例,Vref=Vα+jVβ,Vx、Vy代表相鄰電壓矢量(即V1、V2)。Tpwm是開關(guān)周期,To、Tx、Ty分別是零矢量、Vx、Vy的作用時(shí)間。當(dāng)開關(guān)周期遠(yuǎn)小于信號(hào)周期時(shí),在一個(gè)開關(guān)周期中可以認(rèn)為電壓矢量是不變的,即:

    為了保證波形對稱,把每個(gè)狀態(tài)的作用時(shí)間一分為二,正如圖2中的開關(guān)序列圖所示,這樣既能控制電壓輸出的大小,又能消除偶次諧波。
    將每個(gè)扇區(qū)中各電壓矢量作用時(shí)間都計(jì)算出來,按照圖2所示的對稱序列分別分配給3個(gè)開關(guān)序列Sa、Sb、Sc,并轉(zhuǎn)換為TMS320F2812三個(gè)比較寄存器的比較值,便可輸出脈寬不同的脈沖波且基頻是互為120°的正弦波。
2.2 移植SVPWM工程為S-Function函數(shù)
    根據(jù)上述原理在CCS中建立了一個(gè)基于TMS320F2812的SVPWM算法工程,包含對DSP進(jìn)行系統(tǒng)初始化,并初始化所需外設(shè),如EVA、GPIO、PIE等?;舅惴ù嬗贒SP28_svpwm.c文件中。具體功能配置可以參考相關(guān)書籍,篇幅所限,這里不再累述。DSP在每個(gè)上溢中斷或下溢中斷時(shí)調(diào)用SVPWM算法進(jìn)行扇區(qū)判斷、作用時(shí)間計(jì)算及比較值的確定,然后將比較值賦給EVA的3個(gè)比較值寄存器。通過與EVA的雙向計(jì)數(shù)器進(jìn)行比較,產(chǎn)生3路占空比不同的脈沖波,通過GPIO_A口的PWM1、PWM3、PWM5輸出,并且DSP會(huì)自動(dòng)將這3路信號(hào)進(jìn)行反向,通過另外3個(gè)GFIO_A口(PWM2、PWM4、PWM6)輸出。
    在MATLAB中打開之前,由模板另外存為svpwm.c文件。該文件主要用于實(shí)現(xiàn)對CCS程序的接口移植。函數(shù)都是在其他C文件中編寫的,所以在本文件的開頭包含所用到的頭文件和C文件,并且將所用的頭文件和C文件都與建立的模型放在同一目錄下。這也是該種鏈接方法的關(guān)鍵和精髓,仿真完成后可以不需要改動(dòng)CCS程序便可直接在CCS中編譯使用。

3 仿真模型與仿真結(jié)果
    在MATLAB/Simulink中搭建一個(gè)理想的三相全橋逆變器系統(tǒng),用以驗(yàn)證SVPWM算法的正確性。模型如圖3所示,其中SVPWM模塊被封裝成了一個(gè)子系統(tǒng),以便系統(tǒng)進(jìn)行管理和擴(kuò)展。對三相電壓進(jìn)行采樣,將得到的值送入SVPWM子系統(tǒng)中進(jìn)行處理。


    這里需要將三相電壓Va、Vb、Vc進(jìn)行坐標(biāo)系變換,變?yōu)閮上囔o止坐標(biāo)系中的電壓Vα、Vβ,作為S-Function的輸入?yún)?shù)。坐標(biāo)變換也用一個(gè)子系統(tǒng)完成,如圖4所示。在該子系統(tǒng)中調(diào)用C-MEX編寫的S-Function進(jìn)行比較值的計(jì)算,并通過produce PWM輸出波形。

[!--empirenews.page--]


    在系統(tǒng)仿真模型中,開關(guān)頻率為9 kHz,直流母線電壓為350 V,三相電壓為給定的峰峰值159 V,頻率50Hz,互差120°的正弦電壓。經(jīng)過10 s仿真得到的仿真結(jié)果如圖5所示。


    從仿真結(jié)果中可以看出,三相全橋輸出的電壓波形與三相參考電壓波形完全同頻同相,這也驗(yàn)證了CCS中SVPWM算法的正確性和可行性。

結(jié)語
    隨著科學(xué)技術(shù)的日益發(fā)展,不同軟件間的聯(lián)系也越來越緊密,完成一項(xiàng)工程通常需要熟悉和掌握幾種軟件。作為算法仿真的必備軟件,MATLAB已經(jīng)提供了與其他軟件建立通信的方法,但是也不可能做到面面俱到。本文利用S-Function簡單有效地實(shí)現(xiàn)了CCS程序到MATLAB仿真的移植,并得出正確結(jié)果,為CCS程序與MATLAB仿真的連接提供了一種簡單有效的途徑,大大降低了算法移植的難度,簡化了程序員的軟件編寫流程,在實(shí)際工程中具有較為廣泛的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉