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

S-Function在TMS320F2812的SVPWM算法仿真

2011-06-22 08:18:18鐘美蘭程玉華關健雷凱羅建明
單片機與嵌入式系統應用 2011年8期
關鍵詞:程序方法模型

鐘美蘭,程玉華,關健,雷凱,羅建明

(1.電子科技大學自動化工程學院,成都611731;2.東汽投資發展有限公司)

鐘美蘭(碩士研究生),研究方向為光伏并網逆變技術;黃建國(教授),研究領域為電子測量儀器與電力系統自動化;程玉華(副教授),研究領域為測試儀器儀表、精密無損檢測技術、電力電子技術。

引 言

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

1 S-Function程序建立方法

S-Function有兩種建立方式,一種是用 M文件來實現,另一種是用C-MEX來實現。前者效率低下,但是開發速度快,可以方便調用MATLAB和工具箱函數;后者支持不同的編程語言,如:C、C++、Fortran等,運行速度快,滿足實時性要求,可以實現M文件不能實現的許多功能,如復數的處理等。

考慮到基于TMS320F2812的SVPWM算法仿真對實時性要求比較高,且CCS工程是用C語言編寫的,因此本文選用C-M EX形式來建立S-Function程序。在MATLAB的安裝根目錄matlabroot/simulink/src下有一個用C語言編寫的C-MEX S-Function文件模板:sfuntmpl_basic.c。該模板幾乎包含了所有C-MEX S-function文件可執行的必需和可選的回調函數的基本結構,只需要進行少許改動,就可以實現各種功能的函數。

建立S-Function可以按以下步驟進行:

首先進行環境設置。初次使用C-MEX S-Function之前,需要在MATLAB中激活,可以在命令窗口鍵入mex–setup,然后根據提示設置編譯器。

然后打開C-MEX S-Function文件模板,將模板另存為svpwm.c文件,然后再進行必要的設置,這樣不會破壞模板,當需要其中的一些必要函數時還可以再查閱。模板中的第一行代碼#define S_FUNCTION_NAME XXX是用來設置函數名的,這是調用函數時的唯一標識,這里可以將其改為#define S_FUNCTION_NAME svpwm,那么svpwm就是該函數的函數名。

最后編譯動態鏈接庫。S-Function函數編寫完成后,需要在MTLAB中進行編譯生成動態鏈接庫與Simulink鏈接,這樣才能在模型中調用S-Function模塊。注意編寫的文件與生成的文件以及建立的模型都必須在同一目錄下。在MATLAB的命令窗口輸入mex svpwm.c,這樣就會在當前目錄下創建一個svpwm.dll文件。在模型中加入S-Function模塊,并雙擊它,在sfunction name一欄填入函數名svpwm。注意這個函數名要與接口程序中設置的函數名保持一致。這樣就可以在模型中使用S-Function函數模塊了。

2 實現CCS中SVPWM算法移植

2.1 SVPWM算法原理簡單介紹

空間矢量調制(SVPWM)技術即是將3個互為 120°的電壓矢量投影到兩相靜止坐標系中,通過三相逆變器開關組合,合成一個空間電壓矢量的方法。

三相逆變器電路如圖1所示,用Sa、Sb和Sc分別表示三組開關的通斷狀態。采用180°導通方式,“1”表示上橋臂導通,“0”表示下橋臂導通。這樣就形成了8種開關組合狀態 ,分別是 100 、110 、010 、011 、001 、101 、111 、000 。

圖1 三相逆變器電路

每個開關序列對應一個基準電壓矢量,按空間位置排列正好形成了一個六邊形。其中,有6個有效電壓空間矢量(V1~V6)和2個零矢量(V7、V8),選用對稱的空間矢量調制序列以消除偶次諧波[4]。具體開關狀態Sa、Sb、Sc與電壓矢量在兩相靜止坐標系中的關系以及各扇區和開關序列圖如圖2所示。

圖2 SVPWM電壓矢量、扇區、開關序列圖

無論電壓矢量落在哪個扇區,都可以用相鄰的兩個有效電壓矢量和零矢量對其合成。這里以扇區3為例,Vref=Vα+jVβ,Vx、Vy代表相鄰電壓矢量(即 V1、V2)。Tpwm是開關周期,T0、Tx、Ty分別是零矢量、Vx、Vy的作用時間。當開關周期遠小于信號周期時,在一個開關周期中可以認為電壓矢量是不變的,即[5]:

為了保證波形對稱,把每個狀態的作用時間一分為二,正如圖2中的開關序列圖所示,這樣既能控制電壓輸出的大小,又能消除偶次諧波。

將每個扇區中各電壓矢量作用時間都計算出來,按照圖2所示的對稱序列分別分配給3個開關序列Sa、Sb、Sc,并轉換為TMS320F2812三個比較寄存器的比較值,便可輸出脈寬不同的脈沖波且基頻是互為120°的正弦波。

2.2 移植SVPWM工程為S-Function函數

根據上述原理在CCS中建立了一個基于TMS320F2812的SVPWM算法工程,包含對DSP進行系統初始化,并初始化所需外設,如EVA、GPIO、PIE等。基本算法存于DSP28_svpwm.c文件中。具體功能配置可以參考相關書籍[6],篇幅所限,這里不再累述。DSP在每個上溢中斷或下溢中斷時調用SVPWM算法進行扇區判斷、作用時間計算及比較值的確定,然后將比較值賦給EVA的3個比較值寄存器。通過與EVA的雙向計數器進行比較,產生3路占空比不同的脈沖波,通過GPIO_A口的PWM1、PWM3、PWM5輸出,并且 DSP會自動將這3路信號進行反向,通過另外3個GPIO_A口(PWM2、PWM4、PWM6)輸出。

在MATLAB中打開之前,由模板另外存為svpwm.c文件。該文件主要用于實現對CCS程序的接口移植,部分重要函數見本刊網站www.mesnet.com.cn——編者注。

函數都是在其他C文件中編寫的,所以在本文件的開頭包含所用到的頭文件和C文件,并且將所用的頭文件和C文件都與建立的模型放在同一目錄下。這也是該種鏈接方法的關鍵和精髓,仿真完成后可以不需要改動CCS程序便可直接在CCS中編譯使用。

3 仿真模型與仿真結果

在MATLAB/Simulink中搭建一個理想的三相全橋逆變器系統,用以驗證SVPWM算法的正確性。模型如圖3所示,其中SVPWM模塊被封裝成了一個子系統,以便系統進行管理和擴展。對三相電壓進行采樣,將得到的值送入SVPWM子系統中進行處理。

圖3 系統仿真模型圖

這里需要將三相電壓Va、Vb、Vc進行坐標系變換,變為兩相靜止坐標系中的電壓Vα、Vβ,作為S-Function的輸入參數。坐標變換也用一個子系統完成,如圖4所示。在該子系統中調用C-MEX編寫的S-Function進行比較值的計算,并通過produce PWM輸出波形。

圖4 SVPWM子系統模型圖

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

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

結 語

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

[1]趙強,趙仁德,王平.基于C MEX S-函數的 SVPWM仿真研究[J].變流技術與電力牽引,2008(5):1-4.

[2]梅志紅,趙莉.基于CCS環境和MAT LAB仿真的FIR數字濾波器實現[J].電氣電子教學學報,2005,27(3).

[3]薛定語,陳陽泉.基于MAT LAB/Simulink的系統仿真技術與應用[M].北京:清華大學出版社,2002.

[4]王兆安,黃俊.電子電力技術[M].北京:機械工業出版社,2008.

[5]徐德鴻.電子電力系統建模及控制[M].北京:機械工業出版社,2005.

[6]蘇奎峰,呂強,耿慶峰,等.TMS320F2812原理與開發[M].北京:電子工業出版社,2005.

猜你喜歡
程序方法模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
3D打印中的模型分割與打包
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
主站蜘蛛池模板: 成人午夜免费视频| 久久婷婷六月| 58av国产精品| 免费人成视频在线观看网站| 久夜色精品国产噜噜| 最新日本中文字幕| 成人噜噜噜视频在线观看| 亚洲欧美一区二区三区图片| 91精品综合| 色婷婷电影网| 欧美a级在线| 手机精品福利在线观看| 少妇高潮惨叫久久久久久| 久久这里只有精品国产99| 亚洲午夜片| 久久这里只有精品国产99| 国产成人欧美| 国产欧美在线观看视频| 国产人人射| 国内精品久久人妻无码大片高| 91综合色区亚洲熟妇p| 欧美日韩国产一级| 日韩成人在线一区二区| 亚洲第一成年人网站| 区国产精品搜索视频| 亚洲国产高清精品线久久| AV无码一区二区三区四区| 91久久夜色精品国产网站| 免费无码网站| 国产精品太粉嫩高中在线观看| 黄色网址手机国内免费在线观看| 亚洲精品色AV无码看| 在线观看热码亚洲av每日更新| 一级毛片免费的| 免费毛片网站在线观看| 思思热精品在线8| 亚洲综合九九| 国产91小视频在线观看| 国产视频一区二区在线观看| 日本免费新一区视频| 国产精品午夜福利麻豆| 午夜视频在线观看区二区| 国产日本欧美亚洲精品视| 免费无码AV片在线观看国产| 福利国产在线| 在线看片中文字幕| 亚洲国产天堂久久综合| 久久久国产精品无码专区| 日韩精品无码一级毛片免费| a毛片免费观看| 婷婷伊人久久| 日本精品视频一区二区| 2020国产精品视频| 日韩色图在线观看| 日韩成人高清无码| a亚洲天堂| 国产精品冒白浆免费视频| 中文字幕第1页在线播| 国产日本一线在线观看免费| 国产在线一区二区视频| 亚洲精品久综合蜜| 亚洲无码视频喷水| 国产在线无码一区二区三区| 国产v欧美v日韩v综合精品| 91成人免费观看在线观看| 国产中文一区a级毛片视频| 亚洲日韩Av中文字幕无码| 91精品啪在线观看国产| 手机在线免费毛片| 免费一级全黄少妇性色生活片| 五月婷婷亚洲综合| 天天干天天色综合网| 国产成人调教在线视频| 亚洲欧美日韩高清综合678| 亚洲爱婷婷色69堂| 日韩人妻少妇一区二区| 91精品视频播放| 色婷婷电影网| 亚洲天堂在线免费| 精品黑人一区二区三区| 99国产在线视频| 久久综合色天堂av|