国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于DSP模型的快速代碼的生成

2015-07-24 08:21侯志敏
現(xiàn)代電子技術(shù) 2015年6期
關(guān)鍵詞:項(xiàng)中代碼生成開發(fā)人員

鄧 盼,侯志敏

(成都信息工程學(xué)院,四川 成都 610225)

0 引 言

隨著現(xiàn)代電力電子技術(shù)的迅猛發(fā)展,兼有高運(yùn)算速度和強(qiáng)控制能力的DSP(Digital Signal Processor)在逆變器、電機(jī)等電力電子設(shè)備的控制領(lǐng)域得到了廣泛應(yīng)用[1]。傳統(tǒng)的通用DSP源代碼開發(fā)一般可采用兩個方法:一種是直接利用其提供的匯編指令編寫源代碼,然后經(jīng)匯編器和鏈接器進(jìn)行匯編鏈接后生成目標(biāo)可執(zhí)行代碼;另一種方法是利用標(biāo)準(zhǔn)C++語言編寫源代碼,經(jīng)C/C++編譯器、匯編器和鏈接器進(jìn)行編譯鏈接,最后生成目標(biāo)可執(zhí)行代碼[2]。這兩種代碼開發(fā)方法都使得開發(fā)人員不得不花費(fèi)大量的時(shí)間用于代碼的編寫,從而增大開發(fā)產(chǎn)品難度,延長產(chǎn)品開發(fā)周期,影響開發(fā)效率??梢灾苯佑蒑atlab的Simulink模型生成DSP的可執(zhí)行代碼,即在集成的、統(tǒng)一的Matlab環(huán)境下可完成DSP開發(fā)的整個過程[3]。

DSP芯片,也稱數(shù)字信號處理器,是一種具有特殊結(jié)構(gòu)的微處理器,主要由中央處理器、存儲器和片內(nèi)外設(shè)三部分組成,具有強(qiáng)大的數(shù)據(jù)處理能力和高運(yùn)行速度,加上具有可編程性,所以被廣泛應(yīng)用于控制系統(tǒng)[4]。但是隨著DSP的不斷更新?lián)Q代,硬件結(jié)構(gòu)和代碼的編寫也越來越復(fù)雜,利用DSP的不斷更新?lián)Q代,硬件結(jié)構(gòu)和代碼的編寫也越來越復(fù)雜,利用DSP進(jìn)行開發(fā)時(shí)要求對DSP硬件性能和各種端口有足夠的了解,開發(fā)門檻高,這樣很不利于系統(tǒng)的快速開發(fā)[5]。用戶可以在Matlab中調(diào)用這些圖形化的功能模塊及Simulink中的其他模塊建立數(shù)字信號處理的模型,并可以對模型進(jìn)行仿真驗(yàn)證,然后生成TMS320C2000的C語言代碼及CCS的工程項(xiàng)目文件,在CCS中經(jīng)修改、編譯后就可以下載到DSP目標(biāo)板中運(yùn)行[6]。

1 搭建閃爍燈功能模型

可以利用模型輸出一個高/低交替變換的電平來實(shí)現(xiàn)閃爍。在Matlab菜單欄中選擇FILE NEW Model,建立一個新模型,命名為led_28207,并保存,在模塊瀏覽器中找到Simulink Sources Constant模塊、Simulink Log?ic and Bit Operations Logical Operator模塊、Simulink Discrete Unit Delay模塊,并添加到模型中,雙擊打開Logical Operator模塊,將Operator項(xiàng)選擇為XOR,選中Unit Delay模塊并按下“Ctrl+I”鍵翻轉(zhuǎn)該模塊,在模塊瀏覽器中找到Simulink Sinks Scope模塊,然后按圖所示連接這些模塊,按下仿真按鈕后,添加On Off Gauges模塊,可以更清晰直觀地看到仿真結(jié)果,現(xiàn)將模型做如下修改。在模塊瀏覽器中找到Simulink Port Subsystems For Iterator Subsystem,添加到模型中,雙擊打開For Iter?ator Subsystem模塊,雙擊打開For Iterator模塊的設(shè)置對話框,將Iteration variable data type項(xiàng)設(shè)置為int32型,在Iteration limit項(xiàng)中寫入3000000,作為循環(huán)次數(shù),用以延長每個狀態(tài)的持續(xù)時(shí)間。在模塊瀏覽器中找到Simulink Sinks Terminator,添加到子系統(tǒng)中,并與 For It?erator連接,刪除In1、Out1模塊,可以看到,子系統(tǒng)的輸入/輸出端口已經(jīng)刪去,將其命名為delay,刪去原模型中的Scope模塊,在模塊瀏覽器中找到Gauges Blockset Global Majic Active X Library On Off Gauges On Off Readout模塊,并將輸出數(shù)據(jù)類型設(shè)置為double,修改完畢后單擊“仿真”按鈕,可見On Off Readout模塊不停地閃爍(見圖1)。

圖1 功能模型仿真

2 代碼模型

驗(yàn)證模型的功能后,將進(jìn)一步把功能模型轉(zhuǎn)化為代碼模型,以便后期的自動代碼生成工作。打開led_28027模型,在模型庫中找到Embedded IDE Link Common Target Preferences模塊和Target Support Pack?age Supported Processors Texas InstrumentsC2000 C281x Digital Output模塊并添加到模型中,刪除Add、Scope、delay子系統(tǒng)和SIL模塊,雙擊打開Target Prefer?ences模塊,在IDE/Tool Chain項(xiàng)中選擇Texas Instru?ments Code Composer Studio,在Board項(xiàng)中選擇TI C281x,雙擊打開Digital Output模塊,在GPIO Group 項(xiàng)中選擇GPIOA~GPIOC,然后選中GPIOB復(fù)選框,如圖2所示。

圖2 配置Digital Output模塊

3 自動代碼生成

按上述步驟設(shè)置完畢后將目標(biāo)板連接到主機(jī)上,然后單擊模型工具欄的編譯按鈕,生成代碼的報(bào)告如圖3所示。

圖3 代碼生成報(bào)告

代碼生成完畢后將自動啟動CCS軟件,建立工程并對代碼進(jìn)行編譯,如圖4所示。

4 硬件測試

編譯完成后會自動下載.out文件并執(zhí)行,led燈不停閃爍(見圖5),與功能模型中的仿真結(jié)果一致,這說明自動生成的代碼完全實(shí)現(xiàn)了在模型中設(shè)計(jì)的各項(xiàng)功能。

5 結(jié) 語

用Matlab快速建立DSP模型及直接生成C語言程序的方法,簡化了DSP軟件的開發(fā)。本文所提出的快速控制原型系統(tǒng)由于其控制性能優(yōu)越且成本低,在控制實(shí)驗(yàn)系統(tǒng)中有著非常廣泛的應(yīng)用前景。

圖4 編譯信息

圖5 硬件仿真結(jié)果

采用這種開發(fā)方法,開發(fā)人員不需寫一行代碼就可實(shí)現(xiàn)DSP系統(tǒng)的代碼開發(fā),極大地減輕了開發(fā)人員的工作負(fù)擔(dān),提高工作效率。學(xué)習(xí)使用該開發(fā)方法對廣大DSP應(yīng)用開發(fā)人員具有較大的實(shí)用意義。

[1]張祥,楊志剛.Matlab/Simulink模型到C/C++代碼的自動實(shí)現(xiàn)[J].重慶工學(xué)院學(xué)報(bào):自然科學(xué)版,2006(11):111?113.

[2]冷斌,李學(xué)勇,劉建華.一種基于Matlab的DSP調(diào)試及直接代碼生成方法[J].現(xiàn)代電子技術(shù),2008,31(20):68?70.

[3]方正,張淇淳,齊玉成.基于DSP的快速控制原型系統(tǒng)[J].東北大學(xué)學(xué)報(bào):自然科學(xué)版,2009(8):1069?1073.

[4]王子劍,孔峰.一種基于DSP的數(shù)字電子負(fù)載設(shè)計(jì)方法[J].廣西工學(xué)院學(xué)報(bào):自然科學(xué)版,2009(6):241?244.

[5]盧小錦,曾岳南.基于Matlab/Simulink的TMS320F2812代碼開發(fā)[J].廣東工業(yè)大學(xué)學(xué)報(bào),2009(6):79?81.

[6]杜磊,薛重德,任志國.基于DSP的自動代碼生成及應(yīng)用[J].南京航空航天大學(xué)學(xué)報(bào):自然科學(xué)版,2010(4):93?96.

[7]趙秀玲,張利,武玉強(qiáng).Matlab輔助DSP實(shí)現(xiàn)FIR數(shù)字濾波器[J].現(xiàn)代電子技術(shù),2007,30(9):38?40.

[8]王康佳,劉詩偉,孫番典.基于Matlab/DSP Builder任意波形信號發(fā)生器的兩種設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(3):179?181.

猜你喜歡
項(xiàng)中代碼生成開發(fā)人員
An Unforgettable Present
Lustre語言可信代碼生成器研究進(jìn)展
巧用Word替換糾正角標(biāo)跑偏
關(guān)于拋物線切線方程的研究
代碼生成技術(shù)在軟件開發(fā)中的應(yīng)用
基于XML的代碼自動生成工具
后悔了?教你隱藏開發(fā)人員選項(xiàng)
基于關(guān)系數(shù)據(jù)模型代碼生成器的設(shè)計(jì)與實(shí)現(xiàn)
三星SMI擴(kuò)展Java論壇 開發(fā)人員可用母語
語音專項(xiàng)訓(xùn)練
依兰县| 会理县| 攀枝花市| 东光县| 元江| 高要市| 云南省| 通渭县| 通河县| 桦甸市| 乐业县| 祥云县| 韶关市| 阿坝县| 渭源县| 双江| 元江| 宣武区| 浪卡子县| 河西区| 淳化县| 安顺市| 焦作市| 鄂托克前旗| 拜泉县| 汉源县| 镇江市| 炉霍县| 资溪县| 大埔区| 丰城市| 万源市| 格尔木市| 磐石市| 古丈县| 融水| 乌兰察布市| 连州市| 卢湾区| 孙吴县| 天津市|