基于LabVIEW的DSP設(shè)計(jì)
利用LabVIEW工具包中的DSP Test Toolkit可以使在LabVIEW環(huán)境下設(shè)計(jì)的DSP系統(tǒng)可以全部或部分運(yùn)行于硬件平臺(tái)上。DSP Test Toolkit與DSP模塊不同,利用DSP模塊可直接對(duì)DSP硬件進(jìn)行編程,無(wú)需單獨(dú)的DSP編譯器。而DSP Test Toolkit則必須通過(guò)CCS (Code Composer Studio) 實(shí)現(xiàn)對(duì)DSP的開發(fā)。DSP Test Toolkit提供了一系列可以使LabVIEW和CCS接口的VI,如圖1所示。
圖1 DSP Test Toolkit在DSP設(shè)計(jì)中的作用
DSP Test Toolkit提供的VIs分為兩組:CCS Automation VIs和CCS Communication VIs。CCS Automation VIs使CCS代碼通過(guò)LabVIEW自動(dòng)執(zhí)行,包括(1)打開CCS,(2)建立項(xiàng)目,(3)復(fù)位CPU,(4)加載程序,(5)運(yùn)行代碼,(6)停止CPU,(7)關(guān)閉CCS。這些步驟與在CCS中的是相同的。
CCS Communication VIs能夠使數(shù)據(jù)通過(guò)RTDX通道進(jìn)行交換。例如:CCS RTDX寫VI與CCS RTDX讀VI分別用于向DSP一方寫入和讀取數(shù)據(jù)。需要注意的是,以上的VIs都具有多態(tài)性。因此,LabVIEW與CCS之間的數(shù)據(jù)類型和數(shù)據(jù)格式必須嚴(yán)格匹配才能建立LabVIEW DSP整合。此外,在LabVIEW與C6x DSK目標(biāo)板之間的通信可以利用TMS320C6x DSP的實(shí)時(shí)數(shù)據(jù)交換(RTDX)的功能來(lái)實(shí)現(xiàn)。此功能允許一個(gè)DSK目標(biāo)板和一個(gè)PC主機(jī)(運(yùn)行LabVIEW)之間進(jìn)行數(shù)據(jù)交換,而不需要停止DSP一方的程序執(zhí)行。這種數(shù)據(jù)交換的實(shí)現(xiàn)可以通過(guò)聯(lián)合測(cè)試行動(dòng)組(JTAG)連接,或者使用通用串行總線接口模擬JTAG來(lái)連接。RTDX可以設(shè)置為兩種模式:非連續(xù)模式和連續(xù)模式。在非連續(xù)模式下,數(shù)據(jù)寫入主機(jī)的日志文件中。這種模式一般是用于記錄。在連續(xù)模式下,數(shù)據(jù)由RTDX主機(jī)中的庫(kù)來(lái)緩沖。這種模式通常是用于連續(xù)顯示數(shù)據(jù)。 當(dāng)由PC/LabVIEW來(lái)顯示處理的數(shù)據(jù)時(shí),RTDX必須設(shè)置為連續(xù)模式。
3.3 基于LabVIEW 的DSP系統(tǒng)級(jí)設(shè)計(jì)方法
使用LabVIEW進(jìn)行DSP開發(fā),程序框圖主要分為兩大部分,如圖2所示。
圖2 CCS Automation.vi程序框圖
一部分是在圖中左側(cè)的順序結(jié)構(gòu)。對(duì)應(yīng)于CCS自動(dòng)進(jìn)程,包括CCS打開項(xiàng)目VI、CCS創(chuàng)建VI、CCS復(fù)位VI、CCS加載代碼VI和CCS運(yùn)行VI。此外,還有順序結(jié)構(gòu)右側(cè)的CCS中斷VI和CCS關(guān)閉項(xiàng)VI目也是CCS自動(dòng)進(jìn)程的一部分。順序結(jié)構(gòu)中的文件I/O模版的三個(gè)函數(shù)用來(lái)創(chuàng)建CCS項(xiàng)目文件路徑,這樣就可以在CCS中打開項(xiàng)目文件。通過(guò)這些VI和函數(shù),打開CCS、創(chuàng)建項(xiàng)目、在DSP上加載和運(yùn)行程序,這些進(jìn)程都可以通過(guò)LabVIEW一端來(lái)控制。順序結(jié)構(gòu)中的Dsp.pjt是DSP項(xiàng)目,如LMS.pjt、FFT.pjt等,由設(shè)計(jì)者依據(jù)不同設(shè)計(jì)要求在CCS中創(chuàng)建。
程序框圖中的另一部分為While循環(huán)結(jié)構(gòu),包括系統(tǒng)數(shù)據(jù)、參數(shù)的輸入輸出顯示及分析等圖形化代碼及CCS RTDX通信模塊。CCS RTDX通信模塊使得LabVIEW和DSP之間連續(xù)交換數(shù)據(jù)。
在程序運(yùn)行中,通過(guò)前面板上的Code Composer Status可以清楚地顯示CCS運(yùn)行狀態(tài),如圖3所示。
圖3 前面板CCS進(jìn)程狀態(tài)顯示示例
任何DSP的開發(fā)程序都可以套用圖2所示的程序模式進(jìn)行基于LabVIEW的開發(fā)設(shè)計(jì)。對(duì)于不同的DSP設(shè)計(jì),Dsp.pjt和LabVIEW while循環(huán)內(nèi)圖形化代碼是不同的。
評(píng)論