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