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

基于MATLAB/Simulink 的TMS320F28335 代碼自動(dòng)生成及其應(yīng)用

2020-11-02 07:49:56李逸飛王秀蓮
現(xiàn)代計(jì)算機(jī) 2020年26期
關(guān)鍵詞:功能模型系統(tǒng)

李逸飛,王秀蓮

(沈陽理工大學(xué)自動(dòng)化與電氣工程學(xué)院,沈陽110000)

0 引言

隨著電力電子信息技術(shù)、微電子技術(shù)、新材料技術(shù)的迅猛發(fā)展,具有高速運(yùn)算能力和強(qiáng)控制能力的DSP芯片在電機(jī)控制、逆變器等控制領(lǐng)域也得到了廣泛的應(yīng)用。DSP 同其他MCU 類似,其傳統(tǒng)的開發(fā)方式一般可以分為兩種:第一種方式是利用自身的匯編指令集編寫源程序,再經(jīng)過匯編器和連接器,然后進(jìn)行匯編鏈接后生成目標(biāo)可執(zhí)行的代碼;另一種方式是利用標(biāo)準(zhǔn)C/C++語言進(jìn)行代碼編寫,然后再經(jīng)過C/C++編譯器、匯編器和鏈接器分別進(jìn)行編譯鏈接,最后同樣生成目標(biāo)可執(zhí)行代碼。這兩種開發(fā)方式在較大的項(xiàng)目中,會使得開發(fā)人員必須要花費(fèi)大量的時(shí)間進(jìn)行代碼的設(shè)計(jì)和編寫,從而加大了產(chǎn)品開發(fā)難度和耗費(fèi)了開發(fā)人員的精力,進(jìn)而延長了產(chǎn)品的開發(fā)周期,最終影響了產(chǎn)品的開發(fā)效率。

為了降低代碼編寫難度,提高產(chǎn)品開發(fā)效率,Math Works 公司和TI 公司聯(lián)合開發(fā)了一種C2000 系列的DSP 硬件支持包——Embedded Coder Support Package for Texas Instruments C2000 Processors。利用這個(gè)工具包,用戶可以在Simulink 環(huán)境下搭建好控制系統(tǒng)的模型,然后自動(dòng)生成DSP 的C 代碼。

1 DSP與Simulink簡介

1.1 Simulink簡介

Simulink 是MATLAB 軟件的擴(kuò)展,它提供了一個(gè)動(dòng)態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境,是MAT?LAB 最重要的組成部分之一。Simulink 是實(shí)現(xiàn)動(dòng)態(tài)系統(tǒng)建模和仿真的一個(gè)軟件包,MATLAB 語言與Simu?link 的區(qū)別主要在于,Simulink 是以模塊為功能單位,通過信號線進(jìn)行相互連接,它與用戶交互接口是基于Windows 的模型化圖形輸入,其重點(diǎn)是使得開發(fā)者可以把更多的精力投入到構(gòu)建系統(tǒng)模型劃上,而不是語言編程上。

Simulink 是一個(gè)模塊圖形化環(huán)境,它提供了大量的系統(tǒng)模塊,廣泛應(yīng)用在圖像、航天航空、電力電子和嵌入式設(shè)計(jì)等方面,其中包括了信號、運(yùn)算、顯示和系統(tǒng)等方面的功能,可以創(chuàng)建各種類型的仿真系統(tǒng),實(shí)現(xiàn)豐富的仿真功能。用戶也可以定義自己的模塊,進(jìn)一步擴(kuò)展模型的范圍和功能,以滿足不同的需求。這些模塊懂得運(yùn)行依托于Simulink 的結(jié)算期,包含了各種經(jīng)典的數(shù)值分析思想和算法。為了創(chuàng)建大型系統(tǒng),Simulink 提供了系統(tǒng)分層排列的功能,類似于系統(tǒng)的總體設(shè)計(jì),在Simulink 中可以將系統(tǒng)分為從高級到低級的幾個(gè)層次,每層又可以分為幾個(gè)部分,各層子系統(tǒng)構(gòu)建完成之后,將各層連接起來,然后構(gòu)成一個(gè)完整的系統(tǒng)。模型創(chuàng)建完之后,啟動(dòng)系統(tǒng)的仿真功能來分析系統(tǒng)的動(dòng)態(tài)特性,Simulink 內(nèi)置的分析工具包括有各種系統(tǒng)線性化、仿真算法、尋求平衡點(diǎn)等,更令人滿意的是,Simulink 完全無縫地融合到MATLAB 大環(huán)境中,使用M 語言就可以直接進(jìn)行模型的建立、仿真、屬性設(shè)置、在不同工作空間之間傳遞數(shù)據(jù),還可以繪圖與分析,仿真結(jié)果可以以圖形的方式顯示在示波器窗口,方便用戶更加直觀地觀察系統(tǒng)的輸出結(jié)果;Simulink 也可以將輸出結(jié)果以變量的形式保存起來,隨后輸出到MATLAB 工作空間中以完成進(jìn)一步的分析。

Simulink 支持多采樣頻率的系統(tǒng),可以仿真龐大且復(fù)雜的系統(tǒng)。

本文中使用的MATLAB R2018a,該版本的進(jìn)行自動(dòng)代碼生成前的配置更加人機(jī)友好,簡化了很多低版本的繁瑣配置。

1.2 DSP簡介

DSP 也稱數(shù)字信號處理器(Digital Signal Proces?sor),是一種具有特殊結(jié)構(gòu)的微處理器。DSP 芯片采用的是哈佛結(jié)構(gòu),它的數(shù)據(jù)空間和存儲空間是分開的。而MCU 采用的是馮·諾依曼結(jié)構(gòu)。很顯然,在運(yùn)算處理能力上,MCU 不如DSP。DSP 具有專門的硬件乘法器,廣泛的采用流水線操作方法,提供特殊的DSP 指令集,可以快速地實(shí)現(xiàn)各種數(shù)字信號處理算法。根據(jù)數(shù)字信號處理的要求,DSP 芯片一般具有如下特點(diǎn):

(1)在一個(gè)指令周期內(nèi)可完成一次乘法和一次加法。

(2)程序和數(shù)據(jù)空間分開,CPU 可以同時(shí)訪問指令和數(shù)據(jù)。

(3)片內(nèi)具有快速RAM,通常可通過獨(dú)立的數(shù)據(jù)總線在程序空間和數(shù)據(jù)空間同()時(shí)訪問。

(4)具有低開銷或無開銷循環(huán)及跳轉(zhuǎn)的硬件支持。

(5)具有快速地中斷處理功能和硬件I/O 的支持。

(6)可以并行執(zhí)行多個(gè)操作。

(7)支持流水線操作,使取址、譯碼和執(zhí)行等操作可以重疊執(zhí)行。

DSP 芯片誕生以來,DSP 芯片得到了飛速的發(fā)展。DSP 芯片的高速發(fā)展離不開工藝的發(fā)展和產(chǎn)業(yè)化進(jìn)程的不斷加快。一方面得益于集成電路技術(shù)得到發(fā)展,另一方面也得益于巨大的市場。在近30 年的時(shí)間里,DSP 芯片已經(jīng)在通信、信號處理、電機(jī)控制、電力電子逆變、雷達(dá)等許多領(lǐng)域得到了廣泛的應(yīng)用。

TI 公司生產(chǎn)DSP 芯片種類繁多,但依照面向領(lǐng)域的不同可以分成三大類:TMS320C2000 系列(實(shí)時(shí)控制)、TMS320C5000 系列(低功耗)和TMS320C6000 系列(高性能)。

(1)TMS320C2000 系列,稱為DSP 控制器(DSP)。繼承了FLASH 存儲器、高速A/D 轉(zhuǎn)換器、完備的通信接口及數(shù)字電動(dòng)機(jī)控制的外圍電路,適用于電動(dòng)機(jī)、變頻器、UPS、風(fēng)能及光伏等需數(shù)字化控制的高速實(shí)時(shí)領(lǐng)域。

(2)TMS320C5000 系列,該系列是業(yè)界功耗最低的16 位DSO,主要應(yīng)用于通信領(lǐng)域。

(3)TMS320C6000 系列,采用新的超長指令字結(jié)構(gòu)設(shè)計(jì)的芯片,是TI 公司的高端系列產(chǎn)品,主要應(yīng)用于數(shù)字通信、音頻和視頻技術(shù)領(lǐng)域。

本文采用具有浮點(diǎn)計(jì)算功能的TMS320F28335芯片。

F28335 的內(nèi)部結(jié)構(gòu)由4 部分組成:中央處理器CPU(即C28x+FPU)、存儲器、系統(tǒng)控制邏輯及片上外設(shè)。F28335 的各部分通過內(nèi)部系統(tǒng)總線有機(jī)統(tǒng)一起來,它的組成結(jié)構(gòu)決定了該款DSP 在CPU 數(shù)據(jù)處理能力、使用靈活性和存儲器容量、片上外設(shè)的種類和功能等方面都具有優(yōu)秀品質(zhì)。

2 LED閃爍模型的搭建

2.1 模型所需Simulink模塊及功能

(1)For Iterator Subsystem 模塊是一個(gè)預(yù)先配置的Subsystem 模塊,可以作為一個(gè)起點(diǎn),用于創(chuàng)建在仿真時(shí)間步期間重復(fù)執(zhí)行指定的迭代次數(shù)的子系統(tǒng)。

(2)Terminator,使用Terminator 模塊終止輸出端口未連接其他模塊的模塊。

(3)Constant 模塊生成實(shí)數(shù)或復(fù)數(shù)常量值。

(4)Logical Operator 模塊對其輸入執(zhí)行指定的邏輯運(yùn)算。

(5)Unit Delay 模塊按指定的采樣期間保持和延遲輸入。

(6)Lamp 模塊顯示指示輸入信號值的顏色。

(7)Scope 模塊顯示信號波形。

2.2 模型搭建步驟

首先,新建一個(gè)空的Simulink 模型,命名為28335_led 并保存,在模塊瀏覽器中找到Constant、Logi?cal Operator、Unit Delay、For Iterator Subsystem、Out1 模塊。其中,Constant 模塊中的參數(shù)可以設(shè)置為任意整數(shù),在這里取50;將Logical Operator 中的AND 改為XOR;雙擊進(jìn)入For Iterator Subsystem 中,將In1 和Out1 刪除,在加入一個(gè)Terminator 并與For Iterator 連接,如圖1 所示。For Iterator 中的Iteration limit 參數(shù)控制LED 閃爍的頻率,這里取3000000。

圖1 For Iterator Subsystem配置

將所有模塊連接,如圖2 所示。至此,LED 閃爍的控制模塊搭建完成。

圖2 各模塊的連接

2.3 LED閃爍模型的測試

在搭建完閃爍模型之后,現(xiàn)在Simulink 中仿真一下模型是否可以正常工作。加入Lamp 和Scope 模塊。雙擊進(jìn)入Lamp 模塊,設(shè)置如圖3 所示。

圖3 Lamp設(shè)置

連接各模塊如圖4 所示。運(yùn)行之后,Lamp 模塊會進(jìn)行紅綠色的交替閃爍。

圖4 連接方式

3 代碼模型

驗(yàn)證完模型功能之后,將Lamp 和Scope 模塊刪掉,加入Digital Output(C2833x)模塊,與Logical Opera?tor 模塊連接,如圖5 所示。

圖5 代碼模型

打 開Model Configuration Parameters,選 擇Hard?ware Implementation,在Hardware board 中選擇TI Del?fino F28335。雙擊打開Digital Output 模塊配置輸出引腳,因?yàn)殚_發(fā)板的布線原因,這里使用GPIO23 引腳。

4 自動(dòng)代碼生成

按照上述步驟設(shè)置完成之后,將開發(fā)板連接到主機(jī)上,然后點(diǎn)擊編譯按鈕,生成代碼的報(bào)告如圖6所示。

代碼生成完成之后,再用CCS 對其建立工程并編譯,如圖7 所示。

圖8 測試結(jié)果

圖7 CCS6.0編譯界面

圖6 自動(dòng)生成代碼報(bào)告

5 測試結(jié)果

5.1 硬件測試

編譯完成后進(jìn)入調(diào)試狀態(tài),LED 會不停閃爍,如圖8 所示。與Simulink 中仿真結(jié)果一樣,說明自動(dòng)生成的代碼完全實(shí)現(xiàn)了模型中的所有功能。

5.2 代碼生成

這是Simulink 自動(dòng)生成的引腳配置的代碼:

可以看到,在引腳功能配置的時(shí)候,與傳統(tǒng)配置方法一致,而且還會考慮到更加細(xì)節(jié)性的部分,比傳統(tǒng)的編碼方法的穩(wěn)定性更高。

這部分代碼的功能是控制LED 進(jìn)行閃爍:

其中,閃爍的條件是判斷LogicalOperator 里面的值,當(dāng)其為1 時(shí),LED 點(diǎn)亮;反之,LED 熄滅。

這是主函數(shù)部分代碼:

自動(dòng)生成的代碼與我們一般的編寫習(xí)慣相類似。

6 結(jié)語

在使用Simulink 進(jìn)行自動(dòng)代碼生成之前,一定要對DSP 已經(jīng)有了一定的理解及對其的傳統(tǒng)編程使用能力,以及各個(gè)寄存器的功能。如果在測試的時(shí)候用的是TMS320F281x 系列的DSP,一定要注意它的ccxml文件,需要在CCS 里配置好之后,然后導(dǎo)入到Simulink中。直接使用Simulink 自帶的ccxml 文件,編譯器會報(bào)錯(cuò),無法通過編譯。

對CCS 編譯軟件也一定要熟悉其操作過程,將CCS 和Simulink 兩個(gè)軟件結(jié)合使用時(shí),對軟件的操作能力也是有一定要求的。但是相對于直接對DSP 編寫程序來說,還是相對要容易一些。

用Simulink 建立DSP 模型并直接生成C 代碼的方法,簡化了DSP 的開發(fā)過程,并且給開發(fā)人員提供了直觀的可視化界面,使開發(fā)人員更容易對開發(fā)細(xì)節(jié)的把控,提升了開發(fā)的質(zhì)量及效率。開發(fā)人員不需要寫一行代碼便可實(shí)現(xiàn)想要的功能。學(xué)習(xí)這種方法對廣大DSP 應(yīng)用開發(fā)人員具有較大的使用意義。

猜你喜歡
功能模型系統(tǒng)
一半模型
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機(jī)系統(tǒng)
ZC系列無人機(jī)遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權(quán)M-估計(jì)的漸近分布
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
關(guān)于非首都功能疏解的幾點(diǎn)思考
3D打印中的模型分割與打包
主站蜘蛛池模板: 青青久在线视频免费观看| 蝌蚪国产精品视频第一页| 直接黄91麻豆网站| 精品成人免费自拍视频| 国产av无码日韩av无码网站| 成人福利在线视频免费观看| 久久国产精品国产自线拍| 国产精品免费露脸视频| 国产av色站网站| 青青草原偷拍视频| 色呦呦手机在线精品| 亚洲精品无码成人片在线观看| 国产精品人成在线播放| 一本一本大道香蕉久在线播放| 色国产视频| 国产特级毛片aaaaaaa高清| 久久semm亚洲国产| 欧美三级日韩三级| 国产欧美日韩在线在线不卡视频| a国产精品| 福利国产在线| 国产小视频在线高清播放| 国产成人精品一区二区三在线观看| 综合人妻久久一区二区精品| 国产喷水视频| 国产成人91精品免费网址在线| 亚洲人网站| 亚洲一区二区三区麻豆| 国产精品精品视频| 国产精品自在线拍国产电影| 婷婷丁香色| 国产色图在线观看| 四虎成人精品在永久免费| 一本大道无码日韩精品影视| 欧美三級片黃色三級片黃色1| 国产免费久久精品99re丫丫一| 538精品在线观看| 国产精品hd在线播放| 啪啪免费视频一区二区| 久久久久国产精品熟女影院| 日韩无码真实干出血视频| 免费观看国产小粉嫩喷水| 中文字幕中文字字幕码一二区| 欧美国产综合色视频| 91精品网站| 久久91精品牛牛| 伦精品一区二区三区视频| 色欲不卡无码一区二区| 色综合天天视频在线观看| 精品三级在线| 亚洲黄色网站视频| 国产极品粉嫩小泬免费看| 精品成人免费自拍视频| 成年A级毛片| 粗大猛烈进出高潮视频无码| 日韩亚洲综合在线| 在线亚洲小视频| 91精品在线视频观看| 全色黄大色大片免费久久老太| 国产精品第5页| 亚洲色图欧美在线| 午夜精品国产自在| 国产成人精品免费av| 亚洲国产成人精品青青草原| 波多野结衣爽到高潮漏水大喷| 亚洲成人网在线播放| 日本黄色不卡视频| 波多野结衣一区二区三视频| 国产亚洲高清在线精品99| a级毛片一区二区免费视频| 91精品综合| 国产一二三区在线| 婷婷成人综合| 国产一二三区在线| 亚洲精品桃花岛av在线| 精品三级在线| 久久精品人人做人人综合试看| 免费看黄片一区二区三区| 三级国产在线观看| 成人另类稀缺在线观看| 狂欢视频在线观看不卡| 在线播放精品一区二区啪视频|