《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于LabVIEW與USB2.0的DSP數(shù)據(jù)采集與處理系統(tǒng)
基于LabVIEW與USB2.0的DSP數(shù)據(jù)采集與處理系統(tǒng)
來源:微型機(jī)與應(yīng)用2013年第6期
王 彬1, 王靈莉2, 王旭柱1
(1. 中國(guó)海洋大學(xué) 信息科學(xué)與工程學(xué)院,,山東 青島 266100; 2. 濮陽職業(yè)技術(shù)學(xué)院 數(shù)學(xué)與
摘要: 介紹了一種基于LabVIEW和 USB2.0的DSP雙通道數(shù)據(jù)采集處理系統(tǒng),。該系統(tǒng)采用TMS320C6713B 作為核心處理芯片,CY7C68013A作為USB接口芯片,并在LabVIEW平臺(tái)上開發(fā)上位機(jī)數(shù)據(jù)采集軟件,,實(shí)現(xiàn)系統(tǒng)復(fù)位,、DSP程序HPI引導(dǎo)以及數(shù)據(jù)處理結(jié)果的顯示、存儲(chǔ)和處理,。
Abstract:
Key words :

摘  要: 介紹了一種基于LabVIEWUSB2.0DSP雙通道數(shù)據(jù)采集處理系統(tǒng),。該系統(tǒng)采用TMS320C6713B 作為核心處理芯片,CY7C68013A作為USB接口芯片,并在LabVIEW平臺(tái)上開發(fā)上位機(jī)數(shù)據(jù)采集軟件,,實(shí)現(xiàn)系統(tǒng)復(fù)位,、DSP程序HPI引導(dǎo)以及數(shù)據(jù)處理結(jié)果的顯示、存儲(chǔ)和處理,。
關(guān)鍵詞: 數(shù)據(jù)采集與處理,;LabVIEW;USB2.0,;DSP

    數(shù)據(jù)采集卡在數(shù)據(jù)采集和測(cè)量過程中得到了廣泛的應(yīng)用[1],。目前大多數(shù)據(jù)采集卡主要采用RS232、ISA接口和PCI接口,,但這些接口體積龐大,,不支持熱拔插,而USB接口小巧,,支持即插即用和熱拔插,,彌補(bǔ)了其他接口的不足,同時(shí)極大地方便了現(xiàn)場(chǎng)實(shí)時(shí)數(shù)據(jù)的采集與分析[2]。LabVIEW是美國(guó)國(guó)家儀器有限公司(NI)開發(fā)的一種圖形化編程語言,,相對(duì)于Visual Basic,、Visual C++等傳統(tǒng)的文本編程語言,它在測(cè)試測(cè)量領(lǐng)域具有很強(qiáng)的優(yōu)勢(shì),,能夠?qū)崿F(xiàn)應(yīng)用軟件的快速開發(fā),大幅縮短開發(fā)時(shí)間[3],。本文介紹了一種基于LabVIEW與USB接口的DSP數(shù)據(jù)采集與處理系統(tǒng)。
1 數(shù)據(jù)采集系統(tǒng)的硬件組成
    數(shù)據(jù)采集系統(tǒng)的總體框圖如圖1所示,。系統(tǒng)主要包括信號(hào)調(diào)理電路模塊,、DSP數(shù)據(jù)處理模塊、CPLD邏輯時(shí)序控制模塊,、USB接口通信模塊和LabVIEW上位機(jī)模塊,,其中信號(hào)調(diào)理模塊包括運(yùn)算放大電路和模/數(shù)轉(zhuǎn)換電路。

    信號(hào)調(diào)理電路將模擬信號(hào)運(yùn)算放大,、濾波,,再經(jīng)模/數(shù)轉(zhuǎn)換電路將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào);DSP數(shù)據(jù)處理模塊將輸入的數(shù)字信號(hào)進(jìn)行運(yùn)算處理,并將處理后的數(shù)據(jù)經(jīng)DSP的HPI送入U(xiǎn)SB接口,,然后經(jīng)USB送入PC機(jī),;CPLD模塊主要用于DSP的HPI主機(jī)接口與USB CY7C68013A的邏輯電路設(shè)計(jì)、實(shí)現(xiàn)上位機(jī)對(duì)數(shù)據(jù)采集與處理系統(tǒng)的軟件復(fù)位和DSP對(duì)雙通道中兩片ADC的切換控制,;LabVIEW上位機(jī)模塊主要完成DSP復(fù)位,、DSP程序HPI引導(dǎo)及數(shù)據(jù)顯示、存儲(chǔ)和處理,。

 


1.1 USB接口電路設(shè)計(jì)
    本系統(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ī)享有對(duì)該接口的控制權(quán)[4]。
    本設(shè)計(jì)中,,USB芯片CY7C68013A主要采用GPIF模式,,用于數(shù)據(jù)采集和批量傳輸。GPIF模式是一種主機(jī)控制模式,,其通過 USB2.0的通用可編程接口(GPIF)作為特定的應(yīng)用接口編程, 可使用多種協(xié)議完成與外圍器件的無縫連接,,特別適用于高速數(shù)據(jù)傳輸?shù)膱?chǎng)合[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信號(hào)來鎖存控制信號(hào),進(jìn)行數(shù)據(jù)傳輸,。RDY0連接HRDY,,用來向主機(jī)插入等待狀態(tài)。INT0連接HINT,,DSP可以通過該引腳中斷主機(jī),。
1.2 CPLD邏輯時(shí)序控制模塊
    本系統(tǒng)中的邏輯時(shí)序控制主要通過CPLD完成,。CPLD的最大優(yōu)勢(shì)在于其具有很大的靈活性,所以設(shè)計(jì)中可以將不是很肯定的邏輯設(shè)計(jì)端口都輸入到CPLD中。
    本系統(tǒng)可以通過LabVIEW上位機(jī)復(fù)位DSP,,并能夠?qū)崿F(xiàn)對(duì)DSP程序的HPI引導(dǎo),。其中通過主機(jī)復(fù)位DSP的設(shè)計(jì)部分尤為重要。下面為通過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è)計(jì)
2.1 USB固件程序設(shè)計(jì)

    在本文中,,USB芯片CY7C68013A采用GPIF模式進(jìn)行數(shù)據(jù)傳輸,該模式使用4個(gè)用戶定義的波形描述符來控制狀態(tài)機(jī),實(shí)現(xiàn)FIFO讀寫及單字節(jié)的數(shù)據(jù)讀寫操作[6],。采用Cypress提供的GPIF Designer軟件進(jìn)行波形圖設(shè)計(jì),,設(shè)計(jì)時(shí),首先設(shè)計(jì)GPIF與外部器件的接口,,然后再設(shè)計(jì)單字節(jié)寫,、FIFO讀寫波形。其引腳配置如圖3所示,。

    GPIF單字節(jié)寫通過通道0向DSP中寫入32 bit控制數(shù)據(jù),,本設(shè)計(jì)中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ī)顯示、存儲(chǔ),。當(dāng)波形圖設(shè)計(jì)完成后,,生成相應(yīng)的波形描述文件gpif.c,加入到Keil工程中,。在Keil工程中同時(shí)加入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)加載的程序文件,,這樣當(dāng)USB設(shè)備連接到主機(jī)后,,將自動(dòng)從主機(jī)下載固件程序。
2.2 USB驅(qū)動(dòng)程序設(shè)計(jì)
    為了能夠在LabVIEW中識(shí)別該USB設(shè)備,,本系統(tǒng)使用NI-VISA創(chuàng)建USB設(shè)備驅(qū)動(dòng)程序,。虛擬儀器軟件架構(gòu)VISA(Virtual Instrument Software Architecture)是一種編程接口(API),基于它可以實(shí)現(xiàn)與各種儀器總線進(jìn)行通信。針對(duì)USB通信,,VISA有兩種類函數(shù),可以分別控制 USB INSTR和USB RAW設(shè)備,。符合USB測(cè)試與測(cè)量類(US-BTMC)協(xié)議的 USB 設(shè)備可以通過使用USB INSTR類函數(shù)來控制,USB RAW 則是除 USB INSTR 之外的所有 USB 設(shè)備。在該設(shè)計(jì)中,采用的USB是一種USB RAW設(shè)備,。
    利用Driver Wizard工具創(chuàng)建USB設(shè)備的驅(qū)動(dòng)程序,,需要注意安裝順序。首先修改Cyload.inf文件,,將VID和PID改為所用USB設(shè)備的VID和PID;待下載完固件程序后,,系統(tǒng)會(huì)提示安裝驅(qū)動(dòng)程序,此時(shí)采用NI-VISA來創(chuàng)建驅(qū)動(dòng)程序;完成USB驅(qū)動(dòng)程序安裝后,,便可以在計(jì)算機(jī)的設(shè)備管理器中查看到安裝后的USB設(shè)備,,如圖5所示。

    至此,該USB設(shè)備驅(qū)動(dòng)程序的安裝完成,在LabVIEW下便可以對(duì)USB設(shè)備進(jìn)行自由讀寫和數(shù)據(jù)傳輸了,。
2.3 LabVIEW上位機(jī)程序設(shè)計(jì)
    上位機(jī)程序界面如圖6所示,。連接設(shè)備后,通過向通道0發(fā)送控制命令,,通過通道2加載DSP程序,,通過通道6將采集處理過的數(shù)據(jù)在LabVIEW上位機(jī)數(shù)據(jù)采集系統(tǒng)中顯示和保存。采用泰克公司的任意波形發(fā)生器產(chǎn)生模擬的熒光信號(hào)和多普勒信號(hào),,在上位機(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ù)的顯示,、存儲(chǔ)和處理;同時(shí)采用USB接口設(shè)計(jì),,使得該系統(tǒng)簡(jiǎn)單方便,,能更好地適應(yīng)野外數(shù)據(jù)采集環(huán)境。該系統(tǒng)性能穩(wěn)定可靠,,實(shí)用方便,操作簡(jiǎn)單,,可以很好地完成數(shù)據(jù)處理任務(wù),。
參考文獻(xiàn)
[1] 沈蘭蓀.數(shù)據(jù)采集技術(shù)[M].合肥:中國(guó)科學(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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。