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

一種基于Matlab的DSP調試及直接代碼生成方法

2008-04-12 00:00:00李學勇劉建華
現(xiàn)代電子技術 2008年20期

摘 要:為了提高DSP程序的開發(fā)效率以及處理程序運行過程中出現(xiàn)的大量數(shù)據(jù),介紹如何利用Matlab中的CCSLink結合CCS進行DSP程序的調試以及代碼的直接生成。利用從概念設計到實時實現(xiàn)的集成、統(tǒng)一的開發(fā)環(huán)境,完成代碼產生、代碼加載、執(zhí)行以及與目標DSP進行通信。最后通過實例驗證了該方案的有效性。

關鍵詞:Matlab;CCSLink;CCS;直接代碼

中圖分類號:TP368.1文獻標識碼:B文章編號:1004373X(2008)2006803

Methods of Debugging DSP and Producing Codes Based on Matlab

LENG Bin1,LI Xueyong2,LIU Jianhua1

(1.Jiangxi Tourism Commerce College,Nanchang,330063,China;2.Nanchang Hangkong University,Nanchang,330063,China)

Abstract:In order to improve the efficient of DSP program development and handle the data in process of running program,CCSLink is used to debug DSP program in Matlab and direct code production with CCS.In the integrate and uniform development circumstance,in which the designing can be accomplished from concept to real-time actualizing,producing code,loading code,performing code and communicating with DSP can be all completed.Finally the examples validate the method.

Keywords:Matlab;CCSLink;CCS;direct code

Matlab作為一種有效的信號處理工具,已經滲透到DSP的設計當中[1]。開發(fā)者在將一個新的數(shù)字信號處理算法應用于實際前,一般是先用Matlab進行模擬驗證,當模擬結果滿意時再把算法修改成C或DSP匯編語言通過CCS在目標DSP上實現(xiàn),并比較實際應用與模擬的結果以發(fā)現(xiàn)誤差,如此反復進行。在較新版本的Matlab(6.0以上)中提供了Matlab與DSP的統(tǒng)一集成環(huán)境后,眾多學者對Matlab環(huán)境下的DSP調試進行了研究[2-4]。文獻[2-4]從CCSLink的角度出發(fā),對Matlab環(huán)境下的DSP調試進行了原理及思路上的闡述,但均未涉及到直接代碼生成。本文在介紹CCSLink的連接對象、嵌入式對象和RTDX對象的基礎上,詳細闡述Simulink環(huán)境下的直接代碼生成。

1 CCSLink及ETTIC2000概述

Matlab具有強大的分析、計算和可視化功能,但處理速度慢;DSP具有快速的信號處理能力,但是其CCS的編譯環(huán)境中數(shù)據(jù)可編輯和分析能力不如Matlab;而MathWorks公司和TI公司聯(lián)合開發(fā)的Matlab Link for CCS Development Tools(CCSLink)和Embedded Target for the TI TMS320C2000 DSP Platform(ETTIC2000),CCSLink提供了Matlab和CCS的接口,能把Matlab和TI CCS及目標DSP連接起來。利用此工具可以像操作Matlab變量一樣來操作TI DSP的存儲器或寄存器。CCSLink支持CCS能夠識別的任何目標板(C200,C5000,C600),此工具用于DSP程序的調試過程。而CCSLink與ETTIC2000的配合使用,可直接由Matlab的Simulink模型生成TIC2000DSP的可執(zhí)行代碼,能在集成、統(tǒng)一的Matlab環(huán)境下完成DSP的整個開發(fā)過程。

2 CCSLink 環(huán)境下的DSP調試

CCSLink向用戶提供了3個組件內容,如圖1所示。

2.1 CCSLink的接口對象

2.1.1 CCS IDE的連接對象

該對象支持TI的C2000/5000/6000系列DSP,利用此對象可創(chuàng)建CCS IDE和Matlab的連接。用戶可以編寫用于DSP程序的Matlab語言批處理腳本,從Matlab的命令窗中直接運行CCS IDE中的應用程序,向硬件DSP的存儲器或寄存器發(fā)送或取出數(shù)據(jù),檢查DSP的狀態(tài),停止或啟動程序在DSP中的運行。

2.1.2 與RTDX的連接對象

該對象提供Matlab和硬件DSP之間的實時通信通道。它允許用戶在主機和目標板之間進行實時的數(shù)據(jù)交換而不用考慮目標程序的運行。RTDX連接對象實際上是CCS連接對象的一個子類,在創(chuàng)建CCS連接對象的同時創(chuàng)建RTDX連接對象,它們不能分別創(chuàng)建。

2.1.3 嵌入式對象

在Matlab環(huán)境中創(chuàng)建一個可以代表嵌入在目標C程序中的變量的對象。利用嵌入式對象可直接訪問嵌入在目標DSP的存儲器和寄存器中的變量,即把目標C程序中的變量作為Matlab的一個變量來對待,并把編輯后的信息反返回到DSP程序中。所有這些操作均在Matlab環(huán)境下完成。

2.2 CCS IDE連接對象應用

CCS IDE連接對象提供Matlab與CCS IDE和目標DSP的連接,利用此連接可以在Matlab環(huán)境中控制和操作DSP中的應用程序;利用Matlab中強大的計算、分析和可視化工具來分析和對比目標程序運行過程中的結果;而嵌入式對象則提供Matlab對DSP內存中的變量進行實時訪問和控制,這樣大大縮短嵌入式應用程序的開發(fā)調試周期。本文以運行具體程序說明調試過程。源程序PWM.pjt保存在Matlab根目錄下的project文件下。

(1) 加載DSP目標板

mypjt=ccsdsp %建立CCSLink連接對象mypjt

CCSDSP Object:%Matlab界面返回信息

Processor type:TMS320C24xx

Processor name :CPU_1

Running?:No

Board number :0

Processor number :0

Default timeout :10.00 secs

Ccsboardinfo %測試目標板狀態(tài)

Board Board Proc Processor Processor

NumNameNumNameType

...........................................

0tds5102xx 0 CPU_1 TMS320C24xx

%Matlab環(huán)境下調試已建立好的DSP程序

profile=fullfile(Matlabroot,′myproject′,…

′PWM.pjt′);%調用硬盤目錄下的工程文件

projpath=fileparts(profile);%建立路徑

open(mypjt,projpath);%打開文件

visible(mypjt,1);%主機顯示CCS調試界面

cd(mypjt,projfile);%更改Matlab工作路徑

build(mypjt,′all′,60);%編譯程序

load(mypjt,′PWM.out′,30);%載入執(zhí)行文件

animate(mypjt);%運行程序

(2) 利用CCSLink連接對象控制訪問DSP

open(mypjt,′PWM.c′,′text′);%打開源程序

open(mypjt,′PWM.cmd′,′text′);%打開命令文件

insert(mypjt,′PWM.c′,20);%在源程序第20行插入斷點

halt(mypjt);%在斷點處暫停目標DSP

restart(mypjt);%復位程序計數(shù)器PC

run(mypjt,′runtohalt′,20);%運行程序,知道第20行才把控制權返回到Matlab

PWMdat=read(mypjt,address(mypjt,′cesi1′),′int′);%讀cesi1

IPWMdat=read(mypjt,address(mypjt,′cesi2′),′int′);%讀cesi2

Write (mypjt,address(mypjt,′cesi1′),int([0]);%將數(shù)組[0]寫入cesi1

run(mypjt,′runtohalt′,20);%運行程序,知道第20行才把控制權返回到Matlab

(3) 利用嵌入式對象調試訪問DSP內存

由于CCSLINK不支持240x系列DSP,下面程序在28xx系列目標板上進行調試,過程如下:

restart(mypjt);%重新啟動工程文件

goto(mypjt,′main′);%跳到主程序入口處

PMW1=createobj(mypjt,′cesi1′);%為cesi1創(chuàng)建潛入式對象

read(PWM1);%讀出該嵌入式對象

write(PWM1,0);%將該嵌入式對象寫0

sct(PWM1,′size′,[400]);%更改該嵌入式對象數(shù)組長度

clear mypjt;%斷開連接

從上述程序可知,在Matlab環(huán)境下可以完成對CCS工程文件的調入、編譯,生成可執(zhí)行文件并將其加載到DSP目標板。并且可以通過相應的連接對象和嵌入式對象操作函數(shù),實現(xiàn)在DSP硬件不停止執(zhí)行程序的情況下對DSP的C語言程序中數(shù)據(jù)結構變量的讀寫修改。

3 ETTIC2000 環(huán)境下的直接代碼生成

由第2節(jié)中可知,CCSLink為TI DSP實時應用開發(fā)的調試和測試階段提供了強大的支持,而ETTIC2000則為TI C2000 DSP實時應用開發(fā)的整個過程(概念設計、算法仿真、源代碼編寫、目標代碼生成、調試和測試)都提供了支持。利用ETTIC2000能夠從Simulink模型自動生成TI C2000 DSP的可執(zhí)行代碼,并且為TI LF2407 EVM目標板上的I/O設備提供驅動代碼,使得MINULINK模型可以直接在LF2407 EVM板上進行實時測試,從而在Simulink統(tǒng)一環(huán)境下就可以實現(xiàn)整個硬件在線仿真。

3.1 ETTIC2000應用開發(fā)過程

應用ETTIC2000開發(fā)實時DSP處理的過程如下:

(1)概念構思和DSP處理算法設計;

(2)在Simulink環(huán)境下,利用DSP BLOCKSET,F(xiàn)IXED-POINT BLOCKSET,C2000 DSPLIB和Simulink等庫中的模塊構建算法模型,并在Simulink環(huán)境下進行仿真;

(3)如果Simulink仿真效果滿意,就可以在模型中加入需要的LF2407 EVM 目標板上的I/O模塊;

(4)設置REAL-TIME WORKSHOP 中的編譯鏈接(BUILD)選項;

(5)利用CCS中的調試工具、CCSLink 或RTDX來調試目標DSP中的程序;

REAL-TIME WORKSHOP 能夠從Simulink模型中自動產生C代碼并且插入ADC和DAC模塊指定的I/O設備驅動程序。再通過REAL-TIME WORKSHOP 面板上的BUILD按鈕,REAL-TIME WORKSHOP 會自動產生實時可執(zhí)行代碼。

3.2 建立Simulink模型

由前述連接對象可知,系統(tǒng)已經正確安裝了TIC2000系列DSP目標板。在Matlab命令窗口輸入:C2000LIB,打開TIC2000的Simulink模塊庫,其模型庫組成如圖2所示。本系統(tǒng)采用2407目標板,因此只用到C2000 Target Preferences 和C2400 DSP Chip Support等模塊。本文以脈寬調制中A/D采樣控制為例,其建立的Simulink模型如圖3所示。

3.3 REAL-TIME WORKSHOP 選項設置

建立好Simulink模型后,設置其屬性,生成CCS可執(zhí)行的工程文件。

在Simulink模型窗口選擇Simulation下拉菜單中選擇Configuration Parameters,彈出如圖4所示對話框。在屬性對話框中單擊Real-Time Workshop選項卡,在Category欄中選中Target configuration 修改System target file和Template make file文件名。其他選擇默認值,單擊Generate Code,就可以將Simulink模型自動生成CCS IDE的工程文件,并自動調入CCS IDE中,則該工程文件就可以在CCS IDE中編譯下載運行。其生成的工程文件在CCS IDE環(huán)境下的載入情況如圖5所示。

在直接代碼生成時,Matlab命令窗口返回信息如下:

### Writing header file c2407adcpwmtest.h

### Writing source file c2407adcpwmtest.c.

### TLC code generation complete.

### Creating project marker file:rtw_proj.tmw

### Wrapping unrecognized make command

###

### Creating c2407adcpwmtest.mk from F:\\\\Matlab71\\\oolbox\\\\rtw\\\argets\\\ic2000\\\ic2000\\\i_c2000_grt.tmf

### Creating project in Code Composer Studio(tm)

### Building Code Composer Studio(tm) project...

### Build complete

至此,代碼生成并在CCS IDE中編譯完畢。

4 結 語

本文基于Matlab環(huán)境對DSP的實時調試及直接代碼生成過程做了詳細的闡述,并結合實例給予演示。實驗證明,應用Matlab對DSP進行實時調試和代碼生成,有效地改變了傳統(tǒng)的設計方法。Matlab的易于操作性有助于在設計早期發(fā)現(xiàn)錯誤并進行實時更改。而CCSLINK與ETTIC2000的結合,使得在集成、統(tǒng)一的Matlab環(huán)境下完成DSP開發(fā)的整個過程。

參考文獻

[1]李真芳,蘇濤,黃小宇.DSP程序開發(fā)[M].西安:西安電子科技大學出版社,2003.

[2]王宏.Matlab 6.5及其在信號處理中的應用[M].北京:清華大學出版社,2004.

[3]許儒泉,高雪清.基于Matlab的DSP系統(tǒng)級的設計方法[J].現(xiàn)代電子技術,2004,27(13):152-156.

[4]沈鴻章,盧佩.CCSLINK 在實時DSP程序調試中的應用[J].單片機與嵌入式系統(tǒng)應用,2007(6):29-31.

[5]汪洋,郭麗麗,樊麗萍.一種基于Matlab的DSP開發(fā)思路的研究[J].控制工程,2006,5(13):123-126.

[6]劉和平,王維俊,江渝,等.TMS320LF240X DSP C語言開發(fā)應用[M].北京:北京航空航天大學出版社,2005.

[7]TMS320LF240X Evaluation Module User′s Guide.Texas Instruments Inc.,August 2002.

[8]Developer′s Kit for Texas Instruments DSP User′s Guide.MathWorks Inc.February 2001.

作者簡介 冷 斌 男,1981年出生,江西南昌人,在讀工程碩士,2004年7月畢業(yè)于南昌大學自動化學院,現(xiàn)任教于江西旅游商貿職業(yè)技術學院。研究方向為電力電子技術。

李學勇 男,1982年出生,湖南長沙人,在讀碩士研究生,2004年7月畢業(yè)于哈爾濱工程大學建筑工程學院,現(xiàn)就讀于南昌航空大學自動化學院。研究方向為現(xiàn)代電力電子技術。

主站蜘蛛池模板: 超薄丝袜足j国产在线视频| 国产精品欧美激情| 99er这里只有精品| 午夜视频免费一区二区在线看| 亚洲国产成人无码AV在线影院L| 国产区91| 人人看人人鲁狠狠高清| 国产啪在线| 国产精品成人啪精品视频| 毛片基地美国正在播放亚洲 | 亚洲熟女中文字幕男人总站| 亚洲伊人天堂| 婷婷久久综合九色综合88| 国产亚洲精| 91小视频在线观看免费版高清| 亚洲精品桃花岛av在线| 超碰免费91| AV在线麻免费观看网站| 激情爆乳一区二区| 99re热精品视频中文字幕不卡| 亚洲欧美另类日本| 国产精品免费p区| 青青青草国产| 麻豆精品在线视频| 又爽又大又黄a级毛片在线视频| 波多野结衣中文字幕久久| 久草视频一区| 国产又大又粗又猛又爽的视频| 波多野结衣一二三| 欧美a在线看| 久久婷婷色综合老司机| 免费国产不卡午夜福在线观看| 国产精品视频第一专区| 欧美一区二区福利视频| 刘亦菲一区二区在线观看| 精品视频一区在线观看| 亚洲国产清纯| 亚洲男人天堂网址| 国产日韩欧美黄色片免费观看| 亚洲最大福利视频网| 欧美精品伊人久久| 国产手机在线ΑⅤ片无码观看| 五月综合色婷婷| 91丝袜美腿高跟国产极品老师| 亚洲精品波多野结衣| 日韩色图在线观看| 91在线国内在线播放老师| 国产激情第一页| 亚洲男人天堂2020| 毛片手机在线看| 国产微拍一区| 久久狠狠色噜噜狠狠狠狠97视色| 99这里只有精品6| 91日本在线观看亚洲精品| 久久精品这里只有精99品| 久久99精品国产麻豆宅宅| 人妻一本久道久久综合久久鬼色 | 第一页亚洲| 国产永久免费视频m3u8| a毛片在线免费观看| 亚洲大尺度在线| 亚洲无码91视频| 国产精品尤物铁牛tv | 国产美女91视频| 欧美不卡视频在线| 91美女视频在线| 亚洲精品大秀视频| 毛片久久久| 99精品福利视频| av在线人妻熟妇| 久久精品无码国产一区二区三区| 婷婷色婷婷| 亚洲一级毛片在线观播放| 国产人免费人成免费视频| 婷婷亚洲视频| 国产欧美精品一区二区| 伊人久久大香线蕉影院| 男人天堂伊人网| 亚洲天堂.com| 91香蕉视频下载网站| 香蕉在线视频网站| 狠狠做深爱婷婷综合一区|