基于USB的數(shù)據(jù)采集卡應(yīng)用
引言
隨著工業(yè)技術(shù)的發(fā)展和現(xiàn)場監(jiān)控要求的提高,許多應(yīng)用場合對數(shù)據(jù)采集的要求也越來越高。在性能方面,要求數(shù)據(jù)采集卡的釆樣速率快,通道數(shù)多,分辨率高;在使用方面,要求其編程容易,攜帶方便,可移 植性好。NI USB-6009數(shù)據(jù)釆集卡正好可以滿足這些需求,它具有的USB接口使設(shè)備能即插即用,并且具有較高的傳輸速度,是實(shí)現(xiàn)數(shù)據(jù)采集比較理想的一款數(shù)據(jù)采集卡。
1 數(shù)據(jù)釆集卡的組成
數(shù)據(jù)釆用卡通常由多路開關(guān)、放大器、采樣/保持器、A/D轉(zhuǎn)換器、D/A轉(zhuǎn)換器等部分組成。下面對各部分進(jìn)行簡要說明。
通過系統(tǒng)中的多路開關(guān)可將各路信號輪流切換到放大器的輸入端,實(shí)現(xiàn)多參數(shù)多路信號的分時采集。
放大器可將前一級多路開關(guān)切換進(jìn)來的待采集信號放大或衰減至采樣環(huán)節(jié)的量程范圍內(nèi)。實(shí)際系統(tǒng)中,通常將其做成增益可調(diào)的放大器,設(shè)計者可根據(jù)輸入信號的不同幅值選擇不同的增益倍數(shù);
采樣/保持器的任務(wù)是取出待測信號某一瞬時值 (即實(shí)現(xiàn)信號的時間離散化),并在A/D轉(zhuǎn)換過程中保持信號不變,如果被測信號變化緩慢,也可以不用采樣/保持器;
A/D轉(zhuǎn)換器可將輸入的模擬量轉(zhuǎn)換為數(shù)字量輸出,并完成信號幅值的量化。隨著電子技術(shù)的發(fā)展,目前,通常將釆樣/保持器和A/D轉(zhuǎn)換器集成在同一塊芯片上;
D/A轉(zhuǎn)換器的作用是將計算機(jī)輸出的數(shù)字量信號轉(zhuǎn)換為模擬量,以實(shí)現(xiàn)控制功能。
2 NI USB-6009數(shù)據(jù)采集卡介紹
NI USB-6009數(shù)據(jù)采集卡是一款用于USB的14位、48 k/s的多功能數(shù)據(jù)釆集卡,它釆用方便而便于攜帶的總線型設(shè)計,擁有8路12位模擬輸入通道、14位數(shù)字I/O線、2路模擬輸出通道和1個計數(shù)器。NI USB-6009的特性如表1所列。圖1為NI USB- 6009主要功能組件。圖2所示為NIUSB_6OO9信號標(biāo)簽。NI USB-6009擁有一個用于模擬信號的可拆卸式螺栓端子連接器和一個用于數(shù)字信號的可拆卸螺栓端子連接器。兩個端子連接器可提供16個連接,它們使用16AWG至28AWG導(dǎo)線。
圖3所示是NI USB-6OO9的模擬輸入電路。NI USB-6009帶有模數(shù)轉(zhuǎn)換器(ADC)??ㄉ系亩嗦窂?fù)用器(MUX)每次可將一個AI通道多路復(fù)用至PGA。
當(dāng)卡上的可編程增益放大器配置為差分測量模式時,可為輸入端提供1,2,4,5,8,10,16或20倍的增益選擇;而配置為單端測量模式時,則增益倍數(shù)為1。PGA增益主要根據(jù)測量應(yīng)用選擇的電壓量程來自動換算。
NI USB-6OO9的信號說明如表2所列。該數(shù)據(jù)采集卡可對固定或無限次數(shù)釆樣執(zhí)行單個或多個A/D 轉(zhuǎn)換。在AI采集過程中,主要通過先進(jìn)先出(FIFO)緩存來存儲數(shù)據(jù),這樣可以確保沒有數(shù)據(jù)丟失。
3 NI USB-6009數(shù)據(jù)釆集卡的軟件編程
由于NI USB-6009上安裝有Easy I/O for DAQ 函數(shù)庫,因此,在安裝NI-DAQ程序后,就可以通過VC﹢﹢來使用Easy I/O for DAQ函數(shù)庫。
在對NI USB-6009進(jìn)行編程時,其常用函數(shù)如下:
(1)nidaqAlCreateTask 函數(shù)
該函數(shù)可用于創(chuàng)建模擬輸入采樣任務(wù)。其函數(shù)原型為:long nidaqAlCreateTask ( char Channel_Path[], long Task_Type, long * Number_of_Channels, long * Task_ID);
Channel_Path[]用于設(shè)定采樣的通道號。如設(shè)備 1,通道0,則Channel_Path = " daq::1! ( 0 ) ”,Task_Type用于模擬輸入任務(wù)類型的設(shè)定;Number_of_ Channels為通道數(shù);Task_ID用于設(shè)定采樣任務(wù)ID。
(2)nidaqAIStart 函數(shù)
用于啟動模擬輸入采樣任務(wù)。函數(shù)原型為long nidaqAIStart (long Task_ID_In);
(3)nidaqAIStop 函數(shù)
停止采樣任務(wù)函數(shù),函數(shù)原型為:long nidaqAIStop (long Task_ID_In);
(4)nidaqAIRead 函數(shù)
該函數(shù)用于讀取緩沖區(qū)中的數(shù)據(jù)。函數(shù)原型為: long nidaqAIRead (long Task_ID_In, char Channel _Path[]long Number_of_Scans , double Time_ Limit_sec, double Data[]);
其中Task_ID_In用于釆樣任務(wù)ID; Channel_Path[]用于采樣通道號;Number_of_Scans用于每次采集所掃描的數(shù)據(jù);Time_Limit_sec用于等待數(shù)據(jù)的最大時間;Data[]用于存放數(shù)據(jù)的數(shù)據(jù)數(shù)組。
基于NI USB-6OO9的數(shù)據(jù)采集軟件流程圖如圖4所示。
4 應(yīng)用優(yōu)勢
圖5所示是某干擾源頻譜圖,該頻譜圖是通過數(shù)據(jù)釆集卡釆集頻譜儀直接下變頻的模擬信號所繪制而成的。與傳統(tǒng)的頻譜儀直接掃描相比,該數(shù)據(jù)采集卡 的優(yōu)點(diǎn)有三:其一是它有更高的采樣率,可使頻譜圖的 數(shù)據(jù)點(diǎn)大大增加,從而繪制出更精確地頻譜圖;其二是 可多通道同時工作,因而可以對多臺頻譜儀或其他設(shè) 備進(jìn)行數(shù)據(jù)釆集,進(jìn)而形成一套強(qiáng)大的數(shù)據(jù)釆集系統(tǒng); 其三是它強(qiáng)大的數(shù)據(jù)處理能力,可以結(jié)合VC﹢﹢對數(shù) 據(jù)進(jìn)行進(jìn)一步的處理,從而得到滿足用戶要求的圖形。
5結(jié)論
本文主要討論了基于USB的數(shù)據(jù)釆集卡的應(yīng)用。由于USB接口使用簡單、即插即用、高速穩(wěn)定, 故使得這類采集卡已經(jīng)得到了廣泛的使用。另外, NI USB-6009數(shù)據(jù)釆集卡采樣率高,通道數(shù)多,編程容易,攜帶方便,可大大提高數(shù)據(jù)采集的能力和速度, 因而能夠在數(shù)據(jù)采集和處理中達(dá)到令人滿意的效果。