利用Matlab和Simulink對(duì)DSP進(jìn)行系統(tǒng)級(jí)的設(shè)計(jì)方法
關(guān)鍵詞:DSP;Matlab;TI;CCS;IDE
引言
傳統(tǒng)的DSP設(shè)計(jì)開(kāi)發(fā)流程分為兩個(gè)部分:開(kāi)發(fā)設(shè)計(jì)和產(chǎn)品實(shí)現(xiàn)。在開(kāi)發(fā)設(shè)計(jì)部分完成算法開(kāi)發(fā)和方案設(shè)計(jì),產(chǎn)品的實(shí)現(xiàn)用來(lái)驗(yàn)證開(kāi)發(fā)設(shè)計(jì)的正確性,通常是在不同的部門相互獨(dú)立地完成。這樣的開(kāi)發(fā)流程存在許多問(wèn)題,如相互之間的協(xié)作,系統(tǒng)范圍內(nèi)的算法測(cè)試,系統(tǒng)設(shè)計(jì)的錯(cuò)誤不能被及時(shí)發(fā)現(xiàn)等。
利用Matlab和Simulink系統(tǒng)級(jí)的設(shè)計(jì)方法和快速原型的自動(dòng)化工具可以解決這些問(wèn)題。
系統(tǒng)級(jí)設(shè)計(jì)方法與快速原型
系統(tǒng)級(jí)設(shè)計(jì)方法的核心是將算法設(shè)計(jì)和系統(tǒng)級(jí)設(shè)計(jì)仿真在統(tǒng)一的開(kāi)發(fā)環(huán)境中進(jìn)行,從而有效地將開(kāi)發(fā)流程的將兩個(gè)部分結(jié)合在一起。
進(jìn)行系統(tǒng)級(jí)設(shè)計(jì)需要一個(gè)統(tǒng)一的開(kāi)發(fā)環(huán)境,且在該開(kāi)發(fā)環(huán)境中可以對(duì)系統(tǒng)結(jié)構(gòu)、算法進(jìn)行描述,還能夠?qū)ο到y(tǒng)不同層次,不同組件和不同數(shù)據(jù)類型進(jìn)行建模;同時(shí)要有良好的移植性能。Simulink提供了這樣一個(gè)很好的開(kāi)發(fā)環(huán)境,它是基于圖塊的系統(tǒng)級(jí)仿真環(huán)境。分級(jí)系統(tǒng)的描述方式,提供了真正的自頂向下的設(shè)計(jì)方法,并且通過(guò)圖塊的方式實(shí)現(xiàn)移植。
快速原型就是系統(tǒng)工程師在硬件平臺(tái)上快速驗(yàn)證他們的方案。這里快速是指無(wú)需進(jìn)行漫長(zhǎng)的針對(duì)硬件的軟硬開(kāi)發(fā)過(guò)程,就可以方便的使用相關(guān)硬件平臺(tái)。快速原型不需要工程師進(jìn)行大量的C或匯編編寫代碼的過(guò)程,同時(shí)還降低系統(tǒng)工程師對(duì)硬件知識(shí)的要求,并提供了硬件在回路仿真的能力。
圖1 集成開(kāi)發(fā)工具的三種接口
面向 TI DSP的系統(tǒng)級(jí)設(shè)計(jì)
MathWorks公司為我們提供了功能強(qiáng)大的DSP系統(tǒng)和算法設(shè)計(jì)工具:Matlab和Simulink,Texas Instruments提供了高性能的DSP設(shè)備和集成開(kāi)發(fā)環(huán)境。兩公司合作推出了集成開(kāi)發(fā)工具Developer's Kit for TI DSP,向用戶提供了三種接口,如圖1所示。
Targer for CCS IDE/C6701 EVM/C6711 DSK
Targer for CCS IDE/C6701 EVM可以讓用戶從數(shù)字信號(hào)處理的Simulink模型自動(dòng)生成C6701 EVM的CCS IDE工程文件,并可進(jìn)一步自動(dòng)編譯下載到C6701 EVM上執(zhí)行。設(shè)計(jì)人員可以快速的將數(shù)字信號(hào)處理的算法模型下載到實(shí)時(shí)硬件平臺(tái)上執(zhí)行,用以評(píng)估算法的性能,或者轉(zhuǎn)換為一個(gè)CCS IDE工程文件,實(shí)現(xiàn)從Simulink環(huán)境到CCS IDE環(huán)境的無(wú)縫連接。通過(guò)Target for CCS IDE/C6701 EVM,用戶可以方便的利用MathWorks公司提供的DSP、通信和數(shù)學(xué)算法庫(kù),將主要的精力放在設(shè)計(jì)而不是DSP編程上,進(jìn)行反復(fù)的迭代設(shè)計(jì),直到算法滿足系統(tǒng)性能要求。Targer for CCS IDE/C6701 EVM/C6711 DSK從以下方面方便了用戶:
?有助于實(shí)現(xiàn)DSP算法原型
?系統(tǒng)級(jí)的算法驗(yàn)證
?從Simulink模型到CCS IDE工程的無(wú)縫轉(zhuǎn)換
?降低編寫DSP代碼的難度
Link for CCS IDE
Link for CCS IDE接口實(shí)現(xiàn)了CCS IDE和Matlab之間的連接,允許用戶在MATLAB命令窗口下載運(yùn)行CCS IDE中的程序,與目標(biāo)內(nèi)存之間(非實(shí)時(shí)地)交換數(shù)據(jù),檢測(cè)處理器的狀態(tài),停止或者啟動(dòng)程序在DSP中地運(yùn)行。Link for CCS IDE的優(yōu)點(diǎn):
?用戶可以利用MATLAB強(qiáng)大的數(shù)據(jù)分析和可視化功能,節(jié)省設(shè)計(jì)和調(diào)試程序的時(shí)間;
?可以編寫用于調(diào)試數(shù)字信號(hào)處理程序的MATLAB語(yǔ)言批處理腳本,實(shí)現(xiàn)調(diào)試和分析的自動(dòng)化;
?支持TI的C5000/6000系列DSP。
Link for RTDX
DSP的實(shí)時(shí)數(shù)據(jù)交換(RTDX)允許系統(tǒng)工程師在Host computer和Target之間進(jìn)行實(shí)時(shí)的數(shù)據(jù)傳輸且不用考慮Target程序。這里的Link for RTDX接口提供了MATLAB和支持RTDX的TI DSP上運(yùn)行的程序之間實(shí)時(shí)交換數(shù)據(jù)的一種方式。利用Developer's Kit for TI DSP提供的MATLAB ActiveX對(duì)象CCSDSP,可以建立MATLAB和DSP之間通信的通道,在MATLAB命令窗口和DSP應(yīng)用程序之間實(shí)時(shí)地發(fā)送和接收數(shù)據(jù),而且無(wú)需中斷程序的運(yùn)行。Link for RTDX實(shí)現(xiàn)了對(duì)實(shí)時(shí)數(shù)據(jù)的自動(dòng)化的高級(jí)分析和可視化,實(shí)現(xiàn)了對(duì)復(fù)雜DSP程序的有效驗(yàn)證。
這里需要注意Developer's Kit for TI DSP的自動(dòng)代碼生成是面向C6711DSK和C6701 EVM等一些TI產(chǎn)品,對(duì)于用戶開(kāi)發(fā)的目標(biāo)板Developer's Kit for TI DSP不能直接支持,需要在外圍的驅(qū)動(dòng)等方面做相應(yīng)的修改;對(duì)于實(shí)時(shí)的數(shù)據(jù)交換、程序的控制等方面的應(yīng)用是面向所有的C5000、C6000目標(biāo)板的。
應(yīng)用舉例
Developer's Kit for TI DSP的中心點(diǎn)在于系統(tǒng)級(jí)開(kāi)發(fā)C6701 EVM/C6711 DSK的數(shù)字信號(hào)處理的應(yīng)用系統(tǒng),下面舉例介紹其用法。
C6701 EVM是TI公司推出的TMS320C6701 DSP芯片的評(píng)估板,它可用于有線/無(wú)線寬帶網(wǎng)絡(luò)、語(yǔ)音識(shí)別、圖象處理、雷達(dá)等對(duì)運(yùn)算能力和存儲(chǔ)量有較高要求的場(chǎng)合。它包含的硬件有:(1)32位浮點(diǎn)DSP芯片TMS320C6701/167MHz,1GPS;(2)64K×32bit SRAM,2M×32bit SDRAM;(3)標(biāo)準(zhǔn)JTAG接口,與XDS510/560連接方便調(diào)試;(4)CPLD,實(shí)現(xiàn)板上邏輯、時(shí)序控制;另外有PCI接口,電源模塊,音頻接口等。
Developer's Kit for TI DSP開(kāi)發(fā)C6701 EVM應(yīng)用系統(tǒng)的步驟:
(1)安裝C6701 EVM板,將TI提供的相關(guān)軟件CCS IDE也安裝在同一臺(tái)PC機(jī)上。
(2)運(yùn)行MATLAB,在命令欄鍵入:C6701EVMLIB,打開(kāi)C6701EVMLIB的Simulink模塊庫(kù)。該庫(kù)包含四個(gè)模塊C6701 EVM ADC(模數(shù)轉(zhuǎn)換模塊)、C6701 EVM DAC(數(shù)模轉(zhuǎn)換模塊)、C6701 EVM LED(指示用戶狀態(tài)的LED)、Reset C6701 EVM(復(fù)位模塊)。
(3)建立Simulink仿真模型,如果需要,可以為Simulink仿真模型添加上述的EVM I/O設(shè)備。設(shè)置其屬性,在屬性對(duì)話框中單擊Real-Time Workshop選項(xiàng)卡,Category欄里選中Target configuration,修改System target file和Template make file文件名。
(4) 在Real-Time Workshop選項(xiàng)卡中選中TI C6701 EVM runtime 其它位默認(rèn)值,單擊Make Project按鈕,就可將Simulink模型自動(dòng)生成CCS IDE的工程文件,并自動(dòng)調(diào)入CCS IDE中,那么該工程文件就可以在CCS IDE中編譯下載運(yùn)行了。若現(xiàn)在生成工程文件后,自動(dòng)地編譯下載到C6701 EVM上執(zhí)行,要改Build action 選項(xiàng)為Build_and_execute。這時(shí)單擊Build&Run按鈕,可實(shí)現(xiàn)自動(dòng)的編譯下載并運(yùn)行。
結(jié)語(yǔ)
應(yīng)用Matlab和Simulink對(duì)DSP進(jìn)行系統(tǒng)級(jí)的設(shè)計(jì)極大改進(jìn)了傳統(tǒng)的設(shè)計(jì)方法。Simulink系統(tǒng)級(jí)的設(shè)計(jì)環(huán)境,有助于在設(shè)計(jì)早期發(fā)現(xiàn)錯(cuò)誤和應(yīng)對(duì)系統(tǒng)復(fù)雜性不斷增加的挑戰(zhàn),使用Developer's Kit for TI DSP集成開(kāi)發(fā)工具能夠方便的進(jìn)行快速原型和硬件在回路仿真,消除了傳統(tǒng)設(shè)計(jì)方法的不足。
參考文獻(xiàn)
1戴明楨.周建江.TMS320C54X DSP結(jié)構(gòu)、原理及應(yīng)用 北京航空航天大學(xué)出版社2001(11)
2 張雄偉.曹鐵勇.DSP芯片的原理與開(kāi)發(fā)應(yīng)用(第2版).電子工業(yè)出版社.2000(9)
3 Developer's Kit for Texas Instruments DSP User's Guide. MathWorks Inc. February 2001
4 TMS320C6701 Evaluation Module User's Guide. Texas Instruments Inc., August 2002
評(píng)論