《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 解決方案 > 基于LABVIEW的多路高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

基于LABVIEW的多路高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)

2010-12-29
作者:劉昌偉 邵左文 畢文
來源:世界電子元器件

關(guān)鍵字:USB" title="USB">USB Labview" title="Labview">Labview 數(shù)據(jù)采集" title="數(shù)據(jù)采集">數(shù)據(jù)采集

  引言

  在日常的測試測量中,經(jīng)常使用數(shù)據(jù)采集卡采集數(shù)據(jù)。但是很多數(shù)據(jù)采集卡往往通過PCI總線完成數(shù)據(jù)的傳輸,它有諸多弊端,例如操作不便,受限于計(jì)算機(jī)插槽數(shù)量和中斷資源,現(xiàn)場信號對計(jì)算機(jī)安全有威脅,計(jì)算機(jī)內(nèi)部的強(qiáng)電磁干擾對被測信號也會造成很大的影響,最耗時最復(fù)雜的數(shù)據(jù)分析卻由用戶通過第三方軟件(如VC,VB等) 在PC機(jī)上編寫上位機(jī)軟件來完成,因此用戶不得不在這方面花費(fèi)大量精力。這些問題都遏制了基于PCI總線的數(shù)據(jù)采集系統(tǒng)的進(jìn)一步開發(fā)和應(yīng)用,因此迫切需要設(shè)計(jì)一種更為簡便通用的高速數(shù)據(jù)采集通信系統(tǒng)來完成數(shù)據(jù)采集以及與計(jì)算機(jī)的數(shù)據(jù)交互。

  近年來通用串行總線(USB)以即插即用等技術(shù)優(yōu)勢得到了廣泛的應(yīng)用,INTEL等公司最近公布了USB 3.0主控制器規(guī)范,該標(biāo)準(zhǔn)的數(shù)據(jù)傳輸速率有望達(dá)5Gbps,且支持雙向同時傳輸,完全可以滿足實(shí)時數(shù)據(jù)采集的要求。LABVIEW是美國NI公司基于圖形化編程語言的虛擬儀器開發(fā)環(huán)境,內(nèi)置信號采集、測量分析與數(shù)據(jù)顯示功能,集開發(fā)、調(diào)試、運(yùn)行于一體,其交互式的Express VI 易與各種范圍的I/O信號連接,可以非常容易地與各種主流的現(xiàn)場總線通信以及與大多數(shù)通用數(shù)據(jù)庫鏈接,大大簡化了開發(fā)進(jìn)程。如果根據(jù)DSP本身的特點(diǎn),把DSP集成到采集卡上,并把數(shù)據(jù)采集和部分?jǐn)?shù)據(jù)處理工作留給DSP來完成,然后計(jì)算機(jī)再利用LABVIEW強(qiáng)大的數(shù)據(jù)處理顯示功能,這無疑將大大提高測量速度和精度。

  系統(tǒng)總體設(shè)計(jì)方案

  本文提出了一種基于LABVIEW的USB接口高速數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì),充分利用DSP豐富的片上外設(shè)以及高性能的數(shù)字信號處理能力,將采集的數(shù)據(jù)經(jīng)DSP處理后通過高速USB接口傳輸?shù)絇C機(jī)上,通過LABVIEW軟件按照用戶的特定要求來處理并顯示。

  TMS320F2812" title="TMS320F2812">TMS320F2812型DSP芯片是TI公司推出的具有高速處理能力的高精度32位定點(diǎn)數(shù)字信號控制器,指令速度高達(dá)150MIPS,片內(nèi)集成了模數(shù)轉(zhuǎn)換器(A/D轉(zhuǎn)換器)、脈寬調(diào)制電路、捕獲單元、光電編碼器、串行外設(shè)接口等模塊,為進(jìn)一步拓展DSP的應(yīng)用領(lǐng)域提供了豐富的資源。本設(shè)計(jì)采用TMS320F2812芯片(DSP)作為數(shù)據(jù)采集與控制單元,以CYPRESS公司的高速USB接口芯片CY7C68001" title="CY7C68001">CY7C68001為基礎(chǔ),利用DSP片上A/D轉(zhuǎn)換器采集數(shù)據(jù),經(jīng)處理后把數(shù)據(jù)通過USB總線傳輸至PC機(jī),PC機(jī)接收到數(shù)據(jù)后按照用戶的要求通過LABVIEW處理并顯示數(shù)據(jù)。該系統(tǒng)主要有三部分組成:4通道被測信號調(diào)理部分、數(shù)據(jù)采集控制處理部分和上位機(jī)控制面板部分,系統(tǒng)總體框圖如圖1所示。

  系統(tǒng)硬件設(shè)計(jì)

  信號調(diào)理模塊

  由于被測輸入信號范圍為-15V~+15V,而DSP片上高速A/D轉(zhuǎn)換器要求輸入信號必須為0~3V,所以需要對被測信號進(jìn)行調(diào)理。

  信號調(diào)理模塊主要由高速運(yùn)算放大器AD8028組成。很多運(yùn)放都有這樣一個特點(diǎn):當(dāng)輸入信號接近門檻電壓時,輸出從一個差分對到另一個差分對變換時會產(chǎn)生失真,再加上信號調(diào)理模塊對輸入信號衰減的比例很大,如果設(shè)計(jì)不當(dāng)誤差會更大,因此運(yùn)放的選擇非常關(guān)鍵。AD8028是Analog Devices公司的軌到軌輸入輸出的高速運(yùn)算放大器,工作電壓2.7V-12V,共模抑制比110dB,帶寬190MHz,壓擺率100V/μS,它有一個突出的優(yōu)點(diǎn):即允許用戶通過片上特定的引腳選擇門檻電壓,這無疑大大減小了失真,因此AD8028是一個理想的選擇,其單通道信號調(diào)理模塊電路圖如圖2所示。

  數(shù)據(jù)采集模塊

  DSP片上ADC模塊是可配置為2個獨(dú)立的8通道模塊、也可以級聯(lián)構(gòu)成一個16通道的帶流水線的12位ADC,最高采樣速率12.5MHz,流水線轉(zhuǎn)換時間是80ns,單次轉(zhuǎn)換時間是200ns。該模塊主要由前向模擬多路復(fù)用開關(guān)、采樣/保持電路、變換內(nèi)核、結(jié)果寄存器、排序器、電壓參考等部分組成,ADC模塊的功能框圖如圖3所示。

                                            USB從接口CY7C68001模塊

  CY7C68001集成有USB2.0收發(fā)器(物理層)、USB2.0串行接口引擎SIE(鏈路層)、4kB的FIFO和電壓調(diào)節(jié)器、鎖相環(huán),支持高速(480Mb/s)或全速(12Mb/s)傳輸,3.3V操作電壓,具有同步與異步的FIFO接口,支持USB2.0協(xié)議要求的全部4種傳輸方式(控制傳輸、中斷傳輸、批量傳輸和同步傳輸),可以滿足用戶對各種數(shù)據(jù)傳輸方式的需求。片上的串行接口處理器(SIE)能完成大部分的USB協(xié)議操作,使用戶可以擺脫復(fù)雜的協(xié)議細(xì)節(jié),簡化用戶配置代碼,加快程序開發(fā)過程。但是由于不帶MCU內(nèi)核,所以USB應(yīng)用層協(xié)議應(yīng)該由DSP編程實(shí)現(xiàn),USB固件的加載必須靠DSP控制來完成。

  本設(shè)計(jì)將CY7C68001映射為DSP的外設(shè),占用DSP的外擴(kuò)區(qū)域XINTF0空間,地址分配如下:FIFO2,F(xiàn)IFO4,F(xiàn)IFO6,F(xiàn)IFO8和命令口的地址分別為000,001,010,011,100,采用并行異步讀寫方式完成二者之間數(shù)據(jù)和命令的交換。當(dāng)CY7C68001的地址線FIFOADR[2:0]為100時,選中CY7C68001的命令口,通過CY7C68001的命令口,可以訪問其內(nèi)部37個寄存器、Endpoint0緩沖器(64個字節(jié)FIFO)和描述表(500個字節(jié)FIFO)等。CY7C68001中斷信號INT#和4個狀態(tài)信號READY、FLAGA、FLAGB、FLAGC分別與DSP的外部中斷1 (XINT1), GPIOA0,GPIOA1,GPIOA2,GPIOA3相連。在實(shí)際應(yīng)用中,由于通信速度達(dá)480Mb/s,所以要對電源進(jìn)行退耦處理,另外CY7C68001最好使用24MHz有源晶振以增強(qiáng)系統(tǒng)的抗干擾能力,硬件電路圖如圖4所示。

  系統(tǒng)軟件設(shè)計(jì)

  傳統(tǒng)的開發(fā)USB應(yīng)用系統(tǒng)的步驟是:先用Windows DDK(設(shè)備驅(qū)動程序開發(fā)包)或第三方開發(fā)工具(如Driver Studio)開發(fā)USB驅(qū)動程序,然后用Visual C++編寫DLL(動態(tài)連接庫),最后再調(diào)用DLL來開發(fā)應(yīng)用程序。本文介紹一種簡單快速開發(fā)USB接口應(yīng)用系統(tǒng)的方法,它直接在LABVIEW環(huán)境下通過NI-VISA開發(fā)能驅(qū)動用戶USB系統(tǒng)的應(yīng)用程序,完全避開了以前開發(fā)USB驅(qū)動程序的復(fù)雜性,大大縮短了開發(fā)周期。

  LABVIEW及其對VISA的調(diào)用 

  VISA(Virtual Instrument Software Architecture)是一個用來與各種儀器總線進(jìn)行通訊的高級應(yīng)用編程接口(API),不受平臺、總線和環(huán)境的限制,可用來對USB、GPIB、串口、VXI、PXI和以太網(wǎng)系統(tǒng)進(jìn)行配置、編程和調(diào)試。當(dāng)進(jìn)行USB通信時,VISA提供了兩類函數(shù)供LABVIEW調(diào)用:USB INSTR設(shè)備與USB RAW設(shè)備。USB INSTR設(shè)備是符合USBTMC協(xié)議的USB設(shè)備,可以通過使用USB INSTR類函數(shù)控制,通信時無需配置NI-VISA;而USB RAW設(shè)備是指除了明確符合USBTMC規(guī)格的儀器之外的任何USB設(shè)備,通信時要配置NI-VISA。

  (1)配置NI-VISA的步驟  

 ?、偈褂肈river Development wizard(驅(qū)動程序開發(fā)向?qū)?創(chuàng)建INF文檔;
 ?、诎惭bINF文檔,并安裝使用INF文檔的USB設(shè)備;
 ?、凼褂肗I-VISA Interactive Control(NI-VISA互動控制工具)對設(shè)備進(jìn)行測試,以證實(shí)USB設(shè)備已正確安裝,并獲得USB設(shè)備的各屬性值。

  (2)與Nl-VISA相配合的LABVIEW模板中VI子節(jié)點(diǎn)  

  ViOpen,打開并指定VISA resource name的設(shè)備的連接;
  ViProperty,VISA設(shè)備的屬性子節(jié)點(diǎn),可以設(shè)置端點(diǎn)或傳輸方式;
  ViWrite,向VISA resource name指定的設(shè)備寫入數(shù)據(jù);
  ViRead,從VISA resource name指定的設(shè)備讀出數(shù)據(jù);
  ViClose,結(jié)束設(shè)備讀寫并關(guān)閉與指定設(shè)備的連接。  

  (3)USB RAW設(shè)備讀寫的操作

  USB RAW設(shè)備的讀寫流程圖如圖5所示。

  前面板部分

  LABVIEW是NI公司開發(fā)的一種基于圖形程序的編程語言,用戶利用創(chuàng)建和調(diào)用子程序的方法編寫程序,使創(chuàng)建的程序模塊化且編制簡單直觀。一個LABVIEW程序分為3部分;前面板、框圖程序和圖標(biāo)/接線端口。前面板提供與用戶交互的圖形化界面,通過面板上的各種按鈕、開關(guān)等控件可以實(shí)現(xiàn)對整個系統(tǒng)的操作或控制;實(shí)時波形顯示窗口能對產(chǎn)生的信號波形進(jìn)行預(yù)覽和監(jiān)視。還可以通過LABVIEW波形顯示器自帶的功能對波形進(jìn)行觀察和測量,對穩(wěn)定的周期信號可以直接準(zhǔn)確地讀出幅值和頻率,采集的正弦波波形如圖6所示

  結(jié)束語

  隨著電子計(jì)算機(jī)的廣泛應(yīng)用,社會的數(shù)字化程度越來越高,數(shù)據(jù)采集也越來越重要,本系統(tǒng)是一種通用的高速數(shù)據(jù)采集系統(tǒng),可用于生物電波、電子學(xué)頻譜、聲波分析等瞬態(tài)信號的實(shí)時采集和觀察等場合。其中基于USB總線的高速數(shù)據(jù)采集系統(tǒng)具有可靠性高、數(shù)據(jù)不丟失、抗干擾性強(qiáng)、便于數(shù)據(jù)傳輸和處理等優(yōu)點(diǎn),因而具有良好的應(yīng)用前景和實(shí)用價(jià)值。  

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。