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

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

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

摘 要:為了提高DSP程序的開發效率以及處理程序運行過程中出現的大量數據,介紹如何利用Matlab中的CCSLink結合CCS進行DSP程序的調試以及代碼的直接生成。利用從概念設計到實時實現的集成、統一的開發環境,完成代碼產生、代碼加載、執行以及與目標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]。開發者在將一個新的數字信號處理算法應用于實際前,一般是先用Matlab進行模擬驗證,當模擬結果滿意時再把算法修改成C或DSP匯編語言通過CCS在目標DSP上實現,并比較實際應用與模擬的結果以發現誤差,如此反復進行。在較新版本的Matlab(6.0以上)中提供了Matlab與DSP的統一集成環境后,眾多學者對Matlab環境下的DSP調試進行了研究[2-4]。文獻[2-4]從CCSLink的角度出發,對Matlab環境下的DSP調試進行了原理及思路上的闡述,但均未涉及到直接代碼生成。本文在介紹CCSLink的連接對象、嵌入式對象和RTDX對象的基礎上,詳細闡述Simulink環境下的直接代碼生成。

1 CCSLink及ETTIC2000概述

Matlab具有強大的分析、計算和可視化功能,但處理速度慢;DSP具有快速的信號處理能力,但是其CCS的編譯環境中數據可編輯和分析能力不如Matlab;而MathWorks公司和TI公司聯合開發的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的可執行代碼,能在集成、統一的Matlab環境下完成DSP的整個開發過程。

2 CCSLink 環境下的DSP調試

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

2.1 CCSLink的接口對象

2.1.1 CCS IDE的連接對象

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

2.1.2 與RTDX的連接對象

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

2.1.3 嵌入式對象

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

2.2 CCS IDE連接對象應用

CCS IDE連接對象提供Matlab與CCS IDE和目標DSP的連接,利用此連接可以在Matlab環境中控制和操作DSP中的應用程序;利用Matlab中強大的計算、分析和可視化工具來分析和對比目標程序運行過程中的結果;而嵌入式對象則提供Matlab對DSP內存中的變量進行實時訪問和控制,這樣大大縮短嵌入式應用程序的開發調試周期。本文以運行具體程序說明調試過程。源程序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 %測試目標板狀態

Board Board Proc Processor Processor

NumNameNumNameType

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

0tds5102xx 0 CPU_1 TMS320C24xx

%Matlab環境下調試已建立好的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);%載入執行文件

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);%復位程序計數器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]);%將數組[0]寫入cesi1

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

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

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

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

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

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

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

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

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

clear mypjt;%斷開連接

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

3 ETTIC2000 環境下的直接代碼生成

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

3.1 ETTIC2000應用開發過程

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

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

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

(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 會自動產生實時可執行代碼。

3.2 建立Simulink模型

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

3.3 REAL-TIME WORKSHOP 選項設置

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

在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環境下的載入情況如圖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環境對DSP的實時調試及直接代碼生成過程做了詳細的闡述,并結合實例給予演示。實驗證明,應用Matlab對DSP進行實時調試和代碼生成,有效地改變了傳統的設計方法。Matlab的易于操作性有助于在設計早期發現錯誤并進行實時更改。而CCSLINK與ETTIC2000的結合,使得在集成、統一的Matlab環境下完成DSP開發的整個過程。

參考文獻

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

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

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

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

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

[6]劉和平,王維俊,江渝,等.TMS320LF240X DSP C語言開發應用[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月畢業于南昌大學自動化學院,現任教于江西旅游商貿職業技術學院。研究方向為電力電子技術。

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

主站蜘蛛池模板: 九九视频免费在线观看| 国产福利免费视频| 日本影院一区| 久久亚洲高清国产| Aⅴ无码专区在线观看| 国产精品免费p区| 国产高潮视频在线观看| 亚洲首页国产精品丝袜| 亚洲女人在线| 久久精品丝袜| 精品福利国产| 国产精品久久久久久影院| 亚洲欧州色色免费AV| 亚洲欧美日韩精品专区| 亚洲三级网站| 国产亚洲精品yxsp| 国产精品无码一区二区桃花视频| 国产成人亚洲欧美激情| 久久网欧美| 无码啪啪精品天堂浪潮av| 91福利国产成人精品导航| 国产成人h在线观看网站站| 成人国产三级在线播放| 老司机久久精品视频| 91色综合综合热五月激情| 四虎永久免费地址| 美女一区二区在线观看| 奇米精品一区二区三区在线观看| 欧美狠狠干| 视频一区亚洲| 日本色综合网| 亚洲色中色| 亚洲婷婷在线视频| 国产精品浪潮Av| a毛片免费看| 亚洲国产精品美女| 亚洲天堂首页| 2018日日摸夜夜添狠狠躁| 国产在线观看91精品| 亚洲精品成人片在线播放| 18黑白丝水手服自慰喷水网站| 2022国产无码在线| 97se亚洲综合在线天天| 毛片免费在线视频| 日韩a级毛片| 国产成a人片在线播放| 亚洲欧美不卡视频| 久久精品无码国产一区二区三区| 国产91高清视频| 人妻精品久久久无码区色视| 欧美亚洲一二三区| 国产办公室秘书无码精品| 久久96热在精品国产高清| 狠狠色丁香婷婷| 一区二区偷拍美女撒尿视频| 国产精品自在自线免费观看| 在线免费无码视频| 欧美亚洲欧美| 国产黄色免费看| 黄色成年视频| 国产微拍一区| 999在线免费视频| 国产国语一级毛片| 久久午夜夜伦鲁鲁片无码免费| 日韩一二三区视频精品| 91福利在线看| 国产美女一级毛片| 在线欧美a| swag国产精品| 22sihu国产精品视频影视资讯| 久久婷婷六月| 免费看一级毛片波多结衣| 凹凸精品免费精品视频| 18禁色诱爆乳网站| 久久婷婷六月| 人妻无码一区二区视频| 欧美午夜在线视频| 久久免费视频播放| 在线免费观看AV| 狠狠色狠狠色综合久久第一次| 久久久国产精品免费视频| 丁香婷婷在线视频|