當前位置:首頁 > 電源 > 數(shù)字電源
[導讀]提出結(jié)合MATLAB來開發(fā)DSP系統(tǒng)的思想,闡述了實現(xiàn)該思想的兩種工具,并詳細介紹了使用MATLAB Link for Code Composer Studio輔助DSP設計的相關內(nèi)容,包括其功能特點、實現(xiàn)方式、工作原理等。

摘要:提出結(jié)合MATLAB來開發(fā)DSP系統(tǒng)的思想,闡述了實現(xiàn)該思想的兩種工具,并詳細介紹了使用MATLAB Link for Code Composer Studio輔助DSP設計的相關內(nèi)容,包括其功能特點、實現(xiàn)方式、工作原理等。最后結(jié)合典型的FIR濾波器實例,探討了使用該工具的方法,并設計了圖形用戶界面。結(jié)果表明應用MATLAB輔助開發(fā)DSP系統(tǒng)可以發(fā)揮二者的優(yōu)勢,縮短開發(fā)周期,降低開發(fā)門檻,優(yōu)化開發(fā)過程。
關鍵字:MATLAB;數(shù)字信號處理器;CCSLink;CCS 

引言

數(shù)字信號處理器(Digital Signal Processor,DSP)是指一類具有專門為完成數(shù)字信號處理任務而優(yōu)化設計的系統(tǒng)體系結(jié)構(gòu)、硬件和軟件資源的單片可編程處理器件。數(shù)字信號處理器是實現(xiàn)數(shù)字信號處理任務的一個重要而有效的手段,隨著通信和信息技術的飛速發(fā)展,數(shù)字信號處理器件在最近20年得到了空前的發(fā)展和應用。

MATLAB是美國MathWorks公司開發(fā)的一種科學計算軟件,專門以矩陣的形式處理數(shù)據(jù),在科學計算、控制系統(tǒng)、信息處理等多種領域有著廣泛的應用。MATLAB具有強大的計算、分析和可視化功能,但MATLAB語言是解釋執(zhí)行的,執(zhí)行速度較慢;而DSP是為了完成實時數(shù)字信號處理任務而設計的,算法的高效實現(xiàn)是DSP器件的顯著特點,但是其開發(fā)門檻高。如果能把MATLAB和DSP開發(fā)工具結(jié)合在一起,取長補短,相輔相成,將是DSP設計人員夢寐以求的一種新的開發(fā)思想。MathWorks公司和TI公司聯(lián)合開發(fā)的MATLAB Link for Code Composer Studio(簡稱CCSLink)和Embedded Target for TI TMS320C6000 DSP工具正是這一思想的完美實現(xiàn)。

本文所作研究是以自行研制的DSP教學實驗箱為平臺進行的,其DSP采用TMS320VC5416芯片實現(xiàn)。本文內(nèi)容安排如下:第1部分在介紹相關背景知識的基礎上,引入使用MATLAB輔助DSP設計的思想;第2部分介紹了MATALB中實現(xiàn)這一思想的兩種工具;第3部分介紹了工具之一CCSLink的實現(xiàn)方式及工作原理;第4部分結(jié)合實驗平臺給出了CCSLink的應用實例。第五部分對本文作了總結(jié)。

2  MATLAB輔助DSP設計的方法概述

實現(xiàn)MATLAB輔助DSP設計的方法有兩種,即CCSLink和Embedded Target for TI TMS320C6000 DSP。前者可實現(xiàn)MATLAB與C2000/C5000/C6000 DSP之間的數(shù)據(jù)交互和程序控制;后者可實現(xiàn)從Simulink模型自動生成DSP目標代碼,但僅支持C6000系列的部分DSP器件。

考慮到實驗平臺是以C5000 DSP為基礎的,并且第二種工具較容易操作等因素,下面主要研究利用CCSLink輔助DSP設計的方法。

2.1 Embedded Target for TI TMS320C6000 DSP

Code Composer Studio(CCS)是TI提供的DSP的集成開發(fā)環(huán)境。

對于C6000系列而言,利用工具Embedded Target for TI TMS320C6000 DSP,用戶可以從Simulink模型直接生成針對DSP目標板的可執(zhí)行文件或者CCS工程文件,實現(xiàn)了MATLAB/Simulink與CCS集成開發(fā)環(huán)境(IDE)的無縫連接,從而把設計人員從繁雜的DSP編程中解脫出來,將主要的精力放在設計而不是DSP編程上,所以極大地縮短了系統(tǒng)的測試和開發(fā)周期,進而保證了所設計系統(tǒng)的高性能。

2.2 MATLAB Link for Code Composer Studio

集成在MATLAB6.5或更高版本中的CCSLink工具把MATLAB、TI DSP及其集成開發(fā)環(huán)境CCS連接在一起,使得我們可以在MATLAB環(huán)境下就可以完成對CCS和DSP目標板的操作,包括與目標內(nèi)存之間的數(shù)據(jù)交互,檢測處理器的狀態(tài),控制DSP程序的運行等。它提供了MATLAB、CCS和目標DSP板的雙向連接,開發(fā)者可以利用MATLAB中強大的可視化、數(shù)據(jù)處理和分析工具對DSP中的數(shù)據(jù)進行分析和再處理,以輔助DSP系統(tǒng)設計,這樣就極大地降低了開發(fā)人員編寫DSP代碼的難度和工作量,提高了整個DSP系統(tǒng)的性能和可行性。

我們利用CCSLink提供的相關函數(shù)能夠?qū)崿F(xiàn)MATLAB與目標DSP的存儲器及寄存器間的信息交互,如同操作MATLAB變量一樣來讀、寫TI DSP中的存儲器或寄存器,即整個目標DSP對于MATLAB而言是透明的。CCSLink支持TI的C2000/C5000/C6000等多系列DSP,應用廣泛。

3  CCSLink的實現(xiàn)方式及工作原理

3.1 CCSLink的實現(xiàn)方式

利用CCSLink即可實現(xiàn)MATLAB、CCS和目標DSP之間的信息交互。CCSLink共提供了3種實現(xiàn)方式:

1)使用與CCS IDE的連接對象。利用此對象來創(chuàng)建CCS IDE和MATLAB的連接,從MATLAB命令窗中即可運行CCS IDE中的應用程序,查詢目標DSP的狀態(tài)信息,修改或讀取目標DSP的存儲器或寄存器中的數(shù)據(jù),甚至可以調(diào)試DSP程序。其工作原理見3.2節(jié)。

2)使用與RTDX(Real-Time Data Exchange)的連接對象。提供MATLAB和硬件DSP 之間的實時通信通道。利用此連接對象,可以打開、使能、關閉或禁止DSP的RTDX通道,利用此通道可以實時地向硬件目標DSP發(fā)送和取出數(shù)據(jù)而不必停止DSP上運行的程序。例如把原始數(shù)據(jù)發(fā)送給程序進行處理,并把處理結(jié)果取回到MATLAB空間中進行分析。

RTDX連接對象實際上是CCS連接對象的一個子類,在創(chuàng)建CCS連接對象的同時創(chuàng)建RTDX連接對象,它們不能分別創(chuàng)建。

3)使用嵌入式對象。在MATLAB環(huán)境中創(chuàng)建一個可以代表嵌入在目標C程序中的變量的對象。利用嵌入式對象可直接訪問嵌入在目標DSP中的存儲器和寄存器中的變量,即把目標C程序中的變量作為MATLAB的一個變量對待。

3.2 CCSLink的工作原理

上面的三種方式在具體實現(xiàn)時略有不同,但是其原理相似,不失一般性,我們通過第一種方式——與CCS IDE的連接對象,來介紹CCSLink的工作機理。

1)選擇目標DSP并創(chuàng)建CCS IDE連接對象

在MATLAB環(huán)境下使用函數(shù)ccsdsp并配置相應的屬性名和屬性值即可創(chuàng)建一個CCS IDE連接對象cc:

cc=ccsdsp(‘boardnum’, x, ‘procnum’, y, ‘timeout’, z);

其中,boardnum、procnum、timeout都是屬性名。分別表示創(chuàng)建連接對象時所使用的目標板編號、DSP處理器編號及全局超時值。

2)在MATLAB環(huán)境下加載CCS工程文件

projfile=fullfile(matlabroot, ‘toolbox’, ‘tiddk’, …, ‘ccsproject.pjt’);   %取得工程文件

projpath = fileparts(projfile);  %取得工程文件路徑

open(cc, projfile);   %加載工程文件,該函數(shù)實現(xiàn)把文件filename加載在CCS IDE中

cd(cc, projpath);    %改變CCS的工作路徑

3)在MATLAB環(huán)境下編譯、連接并下載可執(zhí)行文件

創(chuàng)建了CCS IDE連接對象并加載工程文件后,即可通過函數(shù)build()編譯和鏈接工程文件,以生成針對目標DSP的可執(zhí)行文件(.out文件);通過函數(shù)load()下載可執(zhí)行文件到目標DSP中。具體方法如下:

build(cc);              %編譯、鏈接工程文件,生成目標DSP可執(zhí)行文件 

load(cc, ‘ccsproject.out’);     %下載可執(zhí)行文件到目標DSP,可執(zhí)行文件名與工程名相同

4)在MATLAB環(huán)境下控制程序運行

CCSLink提供了3個函數(shù)用于控制目標DSP的運行狀態(tài)。通過這些函數(shù),在MATLAB下對DSP的控制操作就像在CCS IDE中一樣方便,實際上也確實是這樣進行的。

halt(cc);         %中斷處理器的運行

restart(cc);     %復位程序計數(shù)器PC,重新執(zhí)行程序

run(cc, ‘runtohalt’, 30); %執(zhí)行程序到斷點處,最后一個參數(shù)表示超時時間,此處為30s

5)在MATLAB環(huán)境下對CCS IDE連接對象進行操作

在MATLAB中可以方便的操作DSP存儲器和寄存器中的數(shù)據(jù),包括讀操作和寫操作。下面以讀寫目標DSP存儲器和寄存器中的數(shù)據(jù)來說明。

date=read(cc, [256,0], ‘double’, 100);  %從目標存儲器目的地址100H(即十進制數(shù)256)處開始,讀取100個雙精度數(shù)并賦給MATLAB對象date

reg=regread(cc, ‘A0’, ‘2scomp’);        %讀取DSP寄存器A0中的數(shù)據(jù),并轉(zhuǎn)化成雙精度數(shù)分配給MATLAB對象reg

write(cc, [256,0], double([1.0 2.0 3.0]));%向目標存儲器100H開始的地址處,寫入三個雙精度數(shù)據(jù)

6)關閉CCS IDE連接對象

當一切操作執(zhí)行完成后,需要刪除ccsdsp對象,以收回系統(tǒng)資源。

clear cc;         %關閉CCS IDE連接對象

4  CCSLink應用實例

通過CCSLink工具,可以使用MATLAB來進行DSP的輔助設計。在此以FIR濾波器為例,介紹CCSLink在DSP設計中的應用。在該實例中,F(xiàn)IR濾波的核心內(nèi)容由DSP實現(xiàn),而算法仿真、系數(shù)產(chǎn)生、用戶界面、結(jié)果驗證等部分由MATLAB輔助完成。

4.1 FIR濾波器設計

設輸入信號為x(n),輸出信號為y(n),則FIR濾波器對應的差分方程可表示為:

其中,h(k)(k=0,1,2,…,N-1)表示濾波器系數(shù)序列,是濾波器設計的關鍵。h(k)可以通過MATLAB工具箱提供的濾波器函數(shù)fir1()和fir2()來獲?。菏紫韧ㄟ^建立MATLAB/Simulink模型,根據(jù)所需設計低通濾波器的性能要求來確定濾波器的階數(shù)和截止頻率等參數(shù)。本例所設計的FIR低通濾波器參數(shù)為:截止頻率(Fc)2kHz,采樣頻率(Fs)8kHz,階數(shù)(N)40。然后借助函數(shù)fir1(N, WN)即可返回對應濾波器的系數(shù)矩陣,其中N為階數(shù),WN為濾波器的歸一化截止頻率,即WN= 2Fc/Fs,且0≤WN≤1。

4.2 DSP濾波算法實現(xiàn)

結(jié)合MATLAB產(chǎn)生的濾波器系數(shù),就可以編寫DSP濾波主程序了,關鍵代碼如下:

FIR_TASK:

STM              #K_FIR_BFFR, BK        ; 設置FIR循環(huán)緩沖區(qū)的大小   

LD          *INBUF_P+, -1, A         ; 數(shù)據(jù)輸入

FIR_FILTER:

STL        A, *FIR_DATA_P+%     ; 最新數(shù)據(jù)替代最舊數(shù)據(jù)

RPTZ      A, (K_FIR_BFFR-1)

MAC       *FIR_DATA_P+0%, *FIR_COFF_P+0%, A ; 乘累加

STH        A,*OUTBUF_P             ; 數(shù)據(jù)輸出

4.3 MATLAB輔助設計

本設計中,算法仿真、系數(shù)產(chǎn)生、用戶界面等部分由MATLAB輔助完成。算法仿真、系數(shù)產(chǎn)生方法在4.1中已詳細介紹,本節(jié)重點介紹用戶界面部分。本圖形用戶界面可以實現(xiàn)如下功能:修改參數(shù),如濾波參數(shù)n和Wn,這種參數(shù)選取方法避免了反復修改DSP程序的弊端,可以滿足不同層次使用者的使用;控制操作過程,如加載工程文件、下載可執(zhí)行文件、運行程序等;繪制DSP輸入數(shù)據(jù)的時域及頻域信號;繪制濾波后DSP輸出數(shù)據(jù)的時域及頻域信號;使用MATLAB提供的濾波函數(shù)對輸入數(shù)據(jù)進行濾波計算,并把所得結(jié)果與DSP輸出信號進行比較,以驗證或改良DSP算法。

用戶界面的流程圖如圖1所示,主要由圖形界面和回調(diào)函數(shù)兩大部分組成。其中,圖形界面由文件FIR_BPF.m實現(xiàn);回調(diào)函數(shù)總共由6個文件實現(xiàn),分別是input.m,input2.m,output.m,output2.m,lvbopin.m和lvbohou.m。

當輸入帶有干擾的方波信號后,分別查看輸入波形、MATLAB濾波輸出信號、DSP濾波輸出信號,結(jié)果如圖2所示。比較MATLAB濾波輸出信號和DSP濾波輸出信號,據(jù)此可以采用修改濾波器系數(shù)或DSP程序等措施來改進DSP濾波算法。

圖1 用戶圖形界面流程圖                             

圖2 實驗結(jié)果         

結(jié)束語

本文探索并實現(xiàn)了利用CCSLink輔助DSP設計的完整過程。同時以FIR濾波器為例,利用CCSLink輔助設計了基于DSP TMS320VC5416的應用系統(tǒng),該系統(tǒng)具有靈活的參數(shù)設置和快速的處理效率,很好地達到了輔助DSP設計的目的;再者,利用MATLAB的GUI工具設計了相應的圖形用戶界面,便于不同技術層次的用戶操作,增強了DSP系統(tǒng)的適用性。

本文作者創(chuàng)新點:1.發(fā)展了利用MATLAB輔助DSP設計的思想,把DSP系統(tǒng)設計中的算法仿真、系數(shù)產(chǎn)生、結(jié)果驗證、用戶界面等環(huán)節(jié)交由MATLAB完成,實現(xiàn)了二者的無縫連接。2.通過MATLAB設計的人機界面,增強了DSP系統(tǒng)的適用性,便于不同技術層次的用戶操作。

參考文獻:

[1] 陳永春. 從Matlab/Simulink模型到代碼實現(xiàn)[M]. 北京:清華大學出版社, 2002.

[2] MATLAB Link for Code Composer Studio Development Tools User’s Guide. MathWorks, 2002.

[3] 劉劍科,王艷芬,王勝利. MATLAB Link for CCS Development Tools在DSP系統(tǒng)設計中的應用[J]. 信息技術與信息化, 2005, (4).

[4] 鄒彥,唐東,寧志剛等. DSP原理及應用[M]. 北京:電子工業(yè)出版社, 2005.


[5] 謝良喜,孔建益,王興東等. MATLAB讀入數(shù)據(jù)的幾種方式探討[J]. 微計算機信息, 2005,(5):135~136.

本站聲明: 本文章由作者或相關機構(gòu)授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉