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