摘 要: 介紹了一種基于LabVIEW和 USB2.0的DSP雙通道數(shù)據(jù)采集處理系統(tǒng),。該系統(tǒng)采用TMS320C6713B 作為核心處理芯片,,CY7C68013A作為USB接口芯片,并在LabVIEW平臺上開發(fā)上位機(jī)數(shù)據(jù)采集軟件,實(shí)現(xiàn)系統(tǒng)復(fù)位,、DSP程序HPI引導(dǎo)以及數(shù)據(jù)處理結(jié)果的顯示,、存儲和處理。
關(guān)鍵詞: 數(shù)據(jù)采集與處理,;LabVIEW,;USB2.0;DSP
數(shù)據(jù)采集卡在數(shù)據(jù)采集和測量過程中得到了廣泛的應(yīng)用[1],。目前大多數(shù)據(jù)采集卡主要采用RS232,、ISA接口和PCI接口,但這些接口體積龐大,,不支持熱拔插,,而USB接口小巧,支持即插即用和熱拔插,,彌補(bǔ)了其他接口的不足,同時極大地方便了現(xiàn)場實(shí)時數(shù)據(jù)的采集與分析[2],。LabVIEW是美國國家儀器有限公司(NI)開發(fā)的一種圖形化編程語言,相對于Visual Basic,、Visual C++等傳統(tǒng)的文本編程語言,,它在測試測量領(lǐng)域具有很強(qiáng)的優(yōu)勢,能夠?qū)崿F(xiàn)應(yīng)用軟件的快速開發(fā),大幅縮短開發(fā)時間[3],。本文介紹了一種基于LabVIEW與USB接口的DSP數(shù)據(jù)采集與處理系統(tǒng),。
1 數(shù)據(jù)采集系統(tǒng)的硬件組成
數(shù)據(jù)采集系統(tǒng)的總體框圖如圖1所示。系統(tǒng)主要包括信號調(diào)理電路模塊,、DSP數(shù)據(jù)處理模塊,、CPLD邏輯時序控制模塊,、USB接口通信模塊和LabVIEW上位機(jī)模塊,其中信號調(diào)理模塊包括運(yùn)算放大電路和模/數(shù)轉(zhuǎn)換電路,。
信號調(diào)理電路將模擬信號運(yùn)算放大,、濾波,再經(jīng)模/數(shù)轉(zhuǎn)換電路將模擬信號轉(zhuǎn)換為數(shù)字信號,;DSP數(shù)據(jù)處理模塊將輸入的數(shù)字信號進(jìn)行運(yùn)算處理,,并將處理后的數(shù)據(jù)經(jīng)DSP的HPI送入USB接口,然后經(jīng)USB送入PC機(jī),;CPLD模塊主要用于DSP的HPI主機(jī)接口與USB CY7C68013A的邏輯電路設(shè)計,、實(shí)現(xiàn)上位機(jī)對數(shù)據(jù)采集與處理系統(tǒng)的軟件復(fù)位和DSP對雙通道中兩片ADC的切換控制;LabVIEW上位機(jī)模塊主要完成DSP復(fù)位,、DSP程序HPI引導(dǎo)及數(shù)據(jù)顯示,、存儲和處理。
1.1 USB接口電路設(shè)計
本系統(tǒng)采用USB主機(jī)模式即通過LabVIEW上位機(jī)經(jīng)USB接口實(shí)現(xiàn)系統(tǒng)的復(fù)位和數(shù)據(jù)傳輸控制,,使得DSP相當(dāng)于USB控制的外圍芯片,。在該方案中USB采用Cypress公司的EZ-USB系列芯片CY7C68013A,DSP采用TI公司的TMS320C6713B,,上述兩種芯片能很好地完成系統(tǒng)所需要的性能,。
DSP的HPI主機(jī)接口是16 bit數(shù)據(jù)地址復(fù)用的并行端口,在主從式系統(tǒng)中通過該接口可以實(shí)現(xiàn)主機(jī)與從機(jī)通信及DSP程序的HPI引導(dǎo),,主機(jī)享有對該接口的控制權(quán)[4],。
本設(shè)計中,USB芯片CY7C68013A主要采用GPIF模式,,用于數(shù)據(jù)采集和批量傳輸,。GPIF模式是一種主機(jī)控制模式,其通過 USB2.0的通用可編程接口(GPIF)作為特定的應(yīng)用接口編程, 可使用多種協(xié)議完成與外圍器件的無縫連接,,特別適用于高速數(shù)據(jù)傳輸?shù)膱龊蟍5],。本系統(tǒng)就是采用USB的GPIF模式實(shí)現(xiàn)與DSP的HPI口的數(shù)據(jù)通信,USB接口與DSP的HPI接口需要CPLD進(jìn)行邏輯轉(zhuǎn)換,。USB與TI 6713 HPI接口框圖如圖2所示,。
PB[7:0]和PD[7:0]作為16 bit數(shù)據(jù)總線連接HPI的HD[15:0];PA2,、PA3作為地址線用來選擇HPI中的HPIC,、HPIA和HPID寄存器。CLT0連接HR/W用來控制讀取或?qū)懭霐?shù)據(jù),。CLT2連接HHWIL用來表示第一字節(jié)或第二字節(jié),。CLT1連接HDS2,HDS1,、HAS固定接高電平,,HCS接地,,這樣可在HPI模塊中共同產(chǎn)生HSTROBE信號來鎖存控制信號,進(jìn)行數(shù)據(jù)傳輸,。RDY0連接HRDY,用來向主機(jī)插入等待狀態(tài),。INT0連接HINT,,DSP可以通過該引腳中斷主機(jī)。
1.2 CPLD邏輯時序控制模塊
本系統(tǒng)中的邏輯時序控制主要通過CPLD完成,。CPLD的最大優(yōu)勢在于其具有很大的靈活性,所以設(shè)計中可以將不是很肯定的邏輯設(shè)計端口都輸入到CPLD中,。
本系統(tǒng)可以通過LabVIEW上位機(jī)復(fù)位DSP,并能夠?qū)崿F(xiàn)對DSP程序的HPI引導(dǎo),。其中通過主機(jī)復(fù)位DSP的設(shè)計部分尤為重要,。下面為通過CPLD實(shí)現(xiàn)系統(tǒng)軟件復(fù)位的部分VHDL程序。
CODE<=′0′ when address(1)=′1′ and address(0)=′1′else ′1′;
DSPRESET<=CODE or CTL0;
在LabVIEW上位機(jī)中調(diào)用VISA控制輸入命令設(shè)置USB的地址總線GPIFADR[8:0]低兩位,,在CPLD中進(jìn)行或運(yùn)算使DSPRESET為低電平,,從而完成DSP復(fù)位。然后主機(jī)向HPIC中DSPINT位寫1,,將DSP從復(fù)位狀態(tài)喚醒,,DSP開始執(zhí)行程序。
2 數(shù)據(jù)采集系統(tǒng)的軟件設(shè)計
2.1 USB固件程序設(shè)計
在本文中,,USB芯片CY7C68013A采用GPIF模式進(jìn)行數(shù)據(jù)傳輸,,該模式使用4個用戶定義的波形描述符來控制狀態(tài)機(jī),實(shí)現(xiàn)FIFO讀寫及單字節(jié)的數(shù)據(jù)讀寫操作[6]。采用Cypress提供的GPIF Designer軟件進(jìn)行波形圖設(shè)計,,設(shè)計時,,首先設(shè)計GPIF與外部器件的接口,然后再設(shè)計單字節(jié)寫,、FIFO讀寫波形,。其引腳配置如圖3所示。
GPIF單字節(jié)寫通過通道0向DSP中寫入32 bit控制數(shù)據(jù),,本設(shè)計中GPIF單字節(jié)寫分為Sngwr1和Sngwr2,,其中Sngwr1的數(shù)據(jù)波形圖如圖4所示。在SngWr1中HR/W在S0~S2狀態(tài)保持0以描述該操作為向HPI寫數(shù)據(jù),,HHWIL在S0~S2狀態(tài)保持為0表示傳輸?shù)臄?shù)據(jù)為第一半字,。在SngWr2中數(shù)據(jù)波形圖與SngWr1中基本一致,只是HHWIL在S0~S2狀態(tài)保持為1表示傳輸?shù)臄?shù)據(jù)為第二半字,。
GPIF FIFO寫操作通過通道2向HPI RAM中寫入數(shù)據(jù),,通過該操作可向DSP中寫入DSP程序;GPIF FIFO讀操作通過通道6讀取HPI RAM中數(shù)據(jù),,然后在LabVIEW上位機(jī)顯示,、存儲,。當(dāng)波形圖設(shè)計完成后,生成相應(yīng)的波形描述文件gpif.c,,加入到Keil工程中,。在Keil工程中同時加入Cypress提供的基本固件框架結(jié)構(gòu),其中主函數(shù)文件主要執(zhí)行USB設(shè)備的各種初始化及其他自定義操作,,功能實(shí)現(xiàn)文件進(jìn)行USB上電初始化和GPIF數(shù)據(jù)傳輸,。然后將Keil的?滋Vision編譯環(huán)境下生成的hex文件轉(zhuǎn)換為USB上電自動加載的程序文件,這樣當(dāng)USB設(shè)備連接到主機(jī)后,,將自動從主機(jī)下載固件程序,。
2.2 USB驅(qū)動程序設(shè)計
為了能夠在LabVIEW中識別該USB設(shè)備,本系統(tǒng)使用NI-VISA創(chuàng)建USB設(shè)備驅(qū)動程序,。虛擬儀器軟件架構(gòu)VISA(Virtual Instrument Software Architecture)是一種編程接口(API),基于它可以實(shí)現(xiàn)與各種儀器總線進(jìn)行通信,。針對USB通信,VISA有兩種類函數(shù),可以分別控制 USB INSTR和USB RAW設(shè)備,。符合USB測試與測量類(US-BTMC)協(xié)議的 USB 設(shè)備可以通過使用USB INSTR類函數(shù)來控制,USB RAW 則是除 USB INSTR 之外的所有 USB 設(shè)備,。在該設(shè)計中,采用的USB是一種USB RAW設(shè)備。
利用Driver Wizard工具創(chuàng)建USB設(shè)備的驅(qū)動程序,,需要注意安裝順序,。首先修改Cyload.inf文件,將VID和PID改為所用USB設(shè)備的VID和PID;待下載完固件程序后,,系統(tǒng)會提示安裝驅(qū)動程序,,此時采用NI-VISA來創(chuàng)建驅(qū)動程序;完成USB驅(qū)動程序安裝后,便可以在計算機(jī)的設(shè)備管理器中查看到安裝后的USB設(shè)備,,如圖5所示,。
至此,該USB設(shè)備驅(qū)動程序的安裝完成,在LabVIEW下便可以對USB設(shè)備進(jìn)行自由讀寫和數(shù)據(jù)傳輸了。
2.3 LabVIEW上位機(jī)程序設(shè)計
上位機(jī)程序界面如圖6所示,。連接設(shè)備后,,通過向通道0發(fā)送控制命令,通過通道2加載DSP程序,,通過通道6將采集處理過的數(shù)據(jù)在LabVIEW上位機(jī)數(shù)據(jù)采集系統(tǒng)中顯示和保存,。采用泰克公司的任意波形發(fā)生器產(chǎn)生模擬的熒光信號和多普勒信號,在上位機(jī)中的數(shù)據(jù)波形顯示如圖6所示,。
本文主要介紹了基于LabVIEW和USB2.0的DSP數(shù)據(jù)采集與處理系統(tǒng),,通過LabVIEW上位機(jī)可以實(shí)現(xiàn)DSP復(fù)位、DSP程序HPI引導(dǎo)及數(shù)據(jù)的顯示,、存儲和處理,;同時采用USB接口設(shè)計,使得該系統(tǒng)簡單方便,能更好地適應(yīng)野外數(shù)據(jù)采集環(huán)境,。該系統(tǒng)性能穩(wěn)定可靠,,實(shí)用方便,操作簡單,,可以很好地完成數(shù)據(jù)處理任務(wù),。
參考文獻(xiàn)
[1] 沈蘭蓀.數(shù)據(jù)采集技術(shù)[M].合肥:中國科學(xué)技術(shù)大學(xué)出版社,1990.
[2] 薛園園. USB應(yīng)用開發(fā)技術(shù)大全[M]. 北京:人民郵電出版社,2006.
[3] 陳樹學(xué),劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社,,2011.
[4] Texas Instruments Incorporated.TMS320C6713B data book[R]. Revised June 2006.
[5] Cypress Semiconductor Corporation. CY7C68013 EZ-USB FX2 USB microcontroller data sheet rev[R]. 21 June 2002.
[6] 薛園園,趙建領(lǐng). USB應(yīng)用開發(fā)寶典[M].北京:人民郵電出版社,,2011.