• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

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

    2015-07-24 08:21侯志敏
    現(xiàn)代電子技術(shù) 2015年6期
    關(guān)鍵詞:項(xiàng)中代碼生成開(kāi)發(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源代碼開(kāi)發(fā)一般可采用兩個(gè)方法:一種是直接利用其提供的匯編指令編寫(xiě)源代碼,然后經(jīng)匯編器和鏈接器進(jìn)行匯編鏈接后生成目標(biāo)可執(zhí)行代碼;另一種方法是利用標(biāo)準(zhǔn)C++語(yǔ)言編寫(xiě)源代碼,經(jīng)C/C++編譯器、匯編器和鏈接器進(jìn)行編譯鏈接,最后生成目標(biāo)可執(zhí)行代碼[2]。這兩種代碼開(kāi)發(fā)方法都使得開(kāi)發(fā)人員不得不花費(fèi)大量的時(shí)間用于代碼的編寫(xiě),從而增大開(kāi)發(fā)產(chǎn)品難度,延長(zhǎng)產(chǎn)品開(kāi)發(fā)周期,影響開(kāi)發(fā)效率??梢灾苯佑蒑atlab的Simulink模型生成DSP的可執(zhí)行代碼,即在集成的、統(tǒng)一的Matlab環(huán)境下可完成DSP開(kāi)發(fā)的整個(gè)過(guò)程[3]。

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

    1 搭建閃爍燈功能模型

    可以利用模型輸出一個(gè)高/低交替變換的電平來(lái)實(shí)現(xiàn)閃爍。在Matlab菜單欄中選擇FILE NEW Model,建立一個(gè)新模型,命名為led_28207,并保存,在模塊瀏覽器中找到Simulink Sources Constant模塊、Simulink Log?ic and Bit Operations Logical Operator模塊、Simulink Discrete Unit Delay模塊,并添加到模型中,雙擊打開(kāi)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,添加到模型中,雙擊打開(kāi)For Iter?ator Subsystem模塊,雙擊打開(kāi)For Iterator模塊的設(shè)置對(duì)話框,將Iteration variable data type項(xiàng)設(shè)置為int32型,在Iteration limit項(xiàng)中寫(xiě)入3000000,作為循環(huán)次數(shù),用以延長(zhǎng)每個(gè)狀態(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,修改完畢后單擊“仿真”按鈕,可見(jiàn)On Off Readout模塊不停地閃爍(見(jiàn)圖1)。

    圖1 功能模型仿真

    2 代碼模型

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

    圖2 配置Digital Output模塊

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

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

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

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

    4 硬件測(cè)試

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

    5 結(jié) 語(yǔ)

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

    圖4 編譯信息

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

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

    [1]張祥,楊志剛.Matlab/Simulink模型到C/C++代碼的自動(dòng)實(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代碼開(kāi)發(fā)[J].廣東工業(yè)大學(xué)學(xué)報(bào),2009(6):79?81.

    [6]杜磊,薛重德,任志國(guó).基于DSP的自動(dòng)代碼生成及應(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]王康佳,劉詩(shī)偉,孫番典.基于Matlab/DSP Builder任意波形信號(hào)發(fā)生器的兩種設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2011,34(3):179?181.

    猜你喜歡
    項(xiàng)中代碼生成開(kāi)發(fā)人員
    An Unforgettable Present
    Lustre語(yǔ)言可信代碼生成器研究進(jìn)展
    巧用Word替換糾正角標(biāo)跑偏
    關(guān)于拋物線切線方程的研究
    代碼生成技術(shù)在軟件開(kāi)發(fā)中的應(yīng)用
    基于XML的代碼自動(dòng)生成工具
    后悔了?教你隱藏開(kāi)發(fā)人員選項(xiàng)
    基于關(guān)系數(shù)據(jù)模型代碼生成器的設(shè)計(jì)與實(shí)現(xiàn)
    三星SMI擴(kuò)展Java論壇 開(kāi)發(fā)人員可用母語(yǔ)
    語(yǔ)音專項(xiàng)訓(xùn)練
    襄樊市| 青神县| 广宗县| 桓台县| 天门市| 临夏市| 延安市| 惠水县| 百色市| 沙河市| 堆龙德庆县| 夏河县| 高碑店市| 顺义区| 弋阳县| 湄潭县| 敖汉旗| 安塞县| 长宁县| 通道| 金昌市| 磴口县| 太康县| 武夷山市| 肃北| 堆龙德庆县| 伊金霍洛旗| 梓潼县| 太谷县| 宜宾市| 华宁县| 余江县| 乌苏市| 云林县| 阳信县| 泾川县| 西和县| 阳新县| 彝良县| 银川市| 崇信县|