基于Matlab的DSP系統級的設計方法
傳統的DSP應用系統設計流程分為2個(gè)部分:開(kāi)發(fā)設計和產(chǎn)品實(shí)現。在開(kāi)發(fā)設計 部分完成 方案設計和算法設計與驗證,一般用Matlab語(yǔ)言進(jìn)行仿真,當仿真結果滿(mǎn)意時(shí),再進(jìn)入產(chǎn)品的實(shí)現階段。將開(kāi)發(fā)設計階段的算法用C/C++或者匯編語(yǔ)言實(shí)現,在硬件的DSP目標板上調試。因此,需要將開(kāi)發(fā)工具CCS把目標DSP程序運行的中間結果保存到PC機的硬盤(pán)上,然后調到Matlab工作空間,與Matlab算法的中間結果進(jìn)行比較,以發(fā)現DSP程序中由設計或精度導致的結果偏差。如此過(guò)程反復進(jìn)行,非常不便。
為了解決這個(gè)問(wèn)題,出現了系統級設計方法的構想。系統級設計方法的核心是將算法設計 和系統級設計仿真在統一的開(kāi)發(fā)環(huán)境中進(jìn)行,從而有效地將開(kāi)發(fā)流程的2個(gè)部分結合在一起。進(jìn)行系統級設計需要一個(gè)統一的開(kāi)發(fā)環(huán)境,且在該開(kāi)發(fā)環(huán)境中可以對系統結構、算法進(jìn)行描述,還能夠對系統不同層次、不同組件和不同數據類(lèi)型進(jìn)行建模。Matlab Link for CC S Development Tools就是為了完成系統級設計而出現的。
Mathworks公司和TI公司聯(lián)合開(kāi)發(fā)的Matlab Link for CCS Development Tools(CCS Link) 提供了Matlab和CCS的接口,即把Matlab和TI CCS及目標DSP連接起來(lái)。利用此工具可以像操作Matlab變量一樣來(lái)操作TI DSP的存儲器或寄存器,即整個(gè)目標DSP對于Matlab好像是透明的,開(kāi)發(fā)人員在Matlab環(huán)境中就可以完成對CCS的操作。Matlab Link for CCS Dev elopment Tools可以支持CCS能夠識別的任何目標板,包括TI公司的DSP,EVM板和用戶(hù)自己開(kāi)發(fā)的目標DSP(C2000,C5000,C6000)板。
CCS Link主要特點(diǎn)總結如下:
?。?) Matlab函數可以自動(dòng)完成調試、數據傳遞和驗證。
?。?)在Matlab和DSP之間實(shí)時(shí)傳遞數據,而不用停在DSP中程序的執行。
?。?)支持XDS510/XDS560仿真器,可以高速調試硬件DSP目標板。
?。?)提供嵌入式對象,可以訪(fǎng)問(wèn)C/C++變量和數據。
?。?)對測試、驗證和可視化DSP代碼提供幫助。
?。?)擴展了Matlab和eXpressDSP工具的調試能力。
?。?)符合TI eXpressDSP標準。
2CCS Link面向 TI DSP的系統級設計方法
CCS Link向用戶(hù)提供了三種接口如圖1所示。
2.1Link for CCS IDE
Link for CCS IDE接口實(shí)現了CCS IDE和Matlab之間的連接,允許用戶(hù)在Matlab命令窗口下載運行CCS IDE中的程序,與目標內存之間(非實(shí)時(shí)地)交換數據,檢測處理器的狀態(tài),停止或者啟動(dòng)程序在DSP中的運行。
Link for CCS IDE的優(yōu)點(diǎn):
(1)用戶(hù)可以利用Matlab強大的數據分析和可視化功能,節省設計和調試程序的時(shí)間。
(2)可以編寫(xiě)用于調試數字信號處理程序的Matlab語(yǔ)言批處理腳本,實(shí)現調試和分析的自動(dòng)化。
(3)支持TI的C5000/6000系列DSP。
|
2.2Link for RTDX
DSP的實(shí)時(shí)數據交換(RTDX)允許系統工程師在Host computer和Target之間進(jìn)行實(shí)時(shí)的數據 傳輸且不用考慮Target程序。這里的Link for RTDX接口提供了Matlab和支持RTDX的TI DS P上運行的程序之間實(shí)時(shí)交換數據的一種方式。利用此連接對象,可以打開(kāi)、使能、關(guān)閉或禁止DSP的RTDX通道,利用此通道可以實(shí)時(shí)的向硬件目標DSP發(fā)送和取出數據,而不用停止DS P口正在執行的程序。Link for RTDX實(shí)現了對實(shí)時(shí)數據的自動(dòng)化的高級分析和可視化,實(shí)現了對復雜DSP程序的有效驗證。
例如把原始數據發(fā)送給程序進(jìn)行處理,并把數據結果取回到Matlab空間中進(jìn)行分析。RTDX 連接對象實(shí)際上是CCS連接對象的一個(gè)子類(lèi),在創(chuàng )建CCS連接對象的同時(shí)創(chuàng )建RTDX連接對象,他們不能分別構建。
2.3嵌入式對象
在Matlab環(huán)境中創(chuàng )建一個(gè)可以代表嵌入目標C程序中的變量的對象。利用嵌入式對象可以直接訪(fǎng)問(wèn)嵌入在目標DSP的存儲器和寄存器中的變量,即把目標C程序中的變量作為Matlab的一個(gè)變量對待。在Matlab中收集DSP程序中的信息,轉變數據類(lèi)型,創(chuàng )建函數聲明,改變變量值,并把信息返回到DSP程序中,所有這些操作都在Matlab環(huán)境下完成。
3CCS IDE連接對象應用舉例
CCS IDE連接對象提供Matlab與CCS IDE和目標DSP的連接。利用此連接可以在Matlab下控制和操作DSP中的應用程序,利用Matlab中強大計算分析和可視化工具來(lái)分析和對比目標程序運行中的結果,大大縮短嵌入式應用程序的開(kāi)發(fā)調試周期。
具體應用步驟如下:
(1)選擇DSP型號
根據ccsfoardinfo函數列出安裝在主機上的目標板及其DSP信息,從中選擇需要的型號。
此處選擇0號DSP:
Boardnum=0; procmum=0;
(2)創(chuàng )建CCS IDE連接對象
cc=ccsdsp(′boardnum′,boardmun,′procnum′
編譯鏈接CCS IDE中當前的工程文件,生成目標DSP可執行文件:
![]() |
利用CCS Link中的read和write函數來(lái)訪(fǎng)問(wèn)2個(gè)全局數組:
![]() |
4結語(yǔ)
應用Matlab對DSP進(jìn)行系統級的設計極大地改進(jìn)了傳統的設計方法。Matlab系統級的設計環(huán)境,有助于在設計早期發(fā)現錯誤和應對系統復雜性不斷增加的挑戰,方便了復雜DSP應用系統的設計。
評論