基于USB-6281的高速數(shù)據(jù)采集系統(tǒng)的設(shè)計
數(shù)據(jù)采集在現(xiàn)代工業(yè)生產(chǎn)及科學(xué)研究中的重要地位日益突出,在信號測量、圖像處理、音頻信號處理等測量中,都要求進行高速、高精度的數(shù)據(jù)采集。這就對數(shù)據(jù)采集系統(tǒng)的設(shè)計提出了2方面的要求:1)要求接口簡單靈活且有較高的數(shù)據(jù)傳輸率;2)由于數(shù)據(jù)量通常較大,要求主機能夠?qū)?shù)據(jù)做出快速反應(yīng),并及時進行分析和處理。常用的數(shù)據(jù)采集卡一般是PCI卡或是ISA卡,這些采集卡存在諸多缺點,比如安裝不方便,傳輸速度慢,受計算機插槽數(shù)量、地址、中斷等資源的限制,可擴展性差等。而通用串行總線(Universal Serial Bus,簡稱USB)具有高傳輸速度、易擴展、熱插拔和即插即用等特點,很好地克服了數(shù)據(jù)采集卡的缺點,容易實現(xiàn)低成本、高可靠性、多點的數(shù)據(jù)采集。
USB-6281是National Instruments推出的一款USB高精度多功能M系列數(shù)據(jù)采集(DAQ)板卡,在高采樣率下也能保持高精度。USB-6281是專為移動應(yīng)用或空間上有限制的應(yīng)用設(shè)計的,其即插即用的安裝最大程度降低了配置和設(shè)置時間,同時它直接與螺絲端子相連,從而降低了成本并簡化信號的連接。NI-DAQmx驅(qū)動程序和測量服務(wù)軟件提供了簡單易用的配置和編程界面,以USB-6281為硬件平臺,借助其提供的USB接口和NI-DAQmx驅(qū)動軟件,采用VC++高級語言編程,完成數(shù)據(jù)高速采集系統(tǒng)。
1 系統(tǒng)結(jié)構(gòu)設(shè)計
1.1 USB-6281簡介
USB-6281適用于地質(zhì)監(jiān)測、材料分析、環(huán)境感知、光學(xué)、光譜學(xué)、結(jié)構(gòu)測量及氣體探測,還包括醫(yī)療設(shè)備儀器,如心率監(jiān)測等儀器測試等領(lǐng)域。其主要特性如下:1)包含18位A/D轉(zhuǎn)換器,相比傳統(tǒng)16位設(shè)備其分辨率提高4倍,同時還提供了增強型模擬輸出通道,能夠?qū)崿F(xiàn)量程及偏移量可編程設(shè)定;2)集成了NI-PGIA 2自定義放大器和NI-MCal自校準(zhǔn)來縮短校準(zhǔn)時間,提高精度。板載的低通濾波器能夠通過編程消除高頻噪聲,從而進一步提高測量精度。在±10 V范圍內(nèi)分辨力可達(dá)980 μV,在±100 mV范圍內(nèi)可達(dá)28 μV;3)NI信號讀寫實現(xiàn)USB上的雙向高速數(shù)據(jù)流;4)具有16條單端或8條差分的模擬輸入通道,2條模擬輸出通道及24位數(shù)字I/O通道(DIO),提供高達(dá)625 kS/s的18位模擬輸入(掃描時速度為500 kS/s)、速度為833 kS/s的16位模擬輸出;5)包含NI-DAQmx驅(qū)動軟件和NI LabVIEW SignalExpress LE。NI-DAQmx驅(qū)動具有節(jié)省開發(fā)時間的特點,能夠?qū)崿F(xiàn)LabVIEW圖形化開發(fā)環(huán)境及基于文本語言(如ANSI C/C++、C#、Visual Basic.NET及Visual Basic 6.0)的代碼生成,包含超過3 000種測量實例、仿真設(shè)備及接線圖。
1.2 系統(tǒng)構(gòu)成
基于USB-6281的高速數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)如圖1所示。
采用NI的USB-6281數(shù)據(jù)采集卡以400 kHz的采樣頻率對被測信號進行波形數(shù)據(jù)采集,然后對采集數(shù)據(jù)進行正弦波擬合,通過提取出正弦信號的幅度、頻率等參數(shù),計算出擬合正弦曲線。測量數(shù)據(jù)與擬合曲線模型對應(yīng)點的偏差值作為相應(yīng)點波形失真測量值,然后計算出測量序列的失真有效值,進而最終獲得被測信號總失真度的測量值。
目前測量信號失真度的原理大致分為2類:基波剔除法和頻譜分析法。本文采用頻譜分析法,即通過計算出各次諧波的大小來計算失真度。測量方法采用數(shù)字化方法,先通過將信號數(shù)字化并送入計算機,再由計算機計算出失真度。失真度的計算方法采用快速傅里葉變換法(FFT),快速傅里葉變換比直接傅里葉變換(DFT)在計算量上要小得多。采用FFT對量化后的被測信號處理,獲得基波和各次諧波的電壓,從而計算出失真度。這種方法實現(xiàn)起來比較簡單,而且通過一些補償算法可以有效減少誤差。
計算機通過高速數(shù)字采集卡采集被測信號,經(jīng)A/D轉(zhuǎn)換后讀入計算機,由計算機對采集的信號進行FFT變換,形成被測信號的二維幅度一頻率數(shù)組。計算機顯示出信號的幅度一頻率特性曲線,同時,對數(shù)組計算得到基波系數(shù)和各次諧波系數(shù),最后,由基波和各次諧波系數(shù)計算出失真度。諧波失真是諧波分量的幅值和基波幅值的相對量,假如基波的幅值是A1,而二次諧波的幅值是A2,三次諧波的幅值是A3,N次諧波的幅值是AN,總諧波失真THD為
2 系統(tǒng)軟件設(shè)計
利用NI-DAQmx驅(qū)動軟件和VC++,設(shè)計本系統(tǒng)數(shù)據(jù)采集流程圖如圖2所示,并給出主要部分程序代碼。
//設(shè)置波形發(fā)生任務(wù)
3 測試結(jié)果
實際應(yīng)用中對正弦信號進行數(shù)據(jù)采集,對一個1 kHz的正弦波,用400 kHz的采樣頻率,采樣點數(shù)為4 096、單通道情況下進行數(shù)據(jù)采集。圖3是采集數(shù)據(jù)的圖形顯示,頻率為0.976 kHz,說明本采樣系統(tǒng)能夠精確采樣。
4 結(jié)束語
本系統(tǒng)采用NI的USB-6281作為高速數(shù)據(jù)采集系統(tǒng)的硬件平臺,以NI-DAQmx驅(qū)動軟件和VC++為編程語言,實現(xiàn)了高速數(shù)據(jù)采集。USB總線接口使用方便,熱插拔,即插即用,節(jié)省系統(tǒng)資源,成本低,性能可靠,在高采樣率下也能保持高精度。NI-DAQmx驅(qū)動程序和測量服務(wù)軟件提供了簡單易用的配置和編程界面,系統(tǒng)的擴展性和通用性好,應(yīng)用面廣,可實現(xiàn)對工業(yè)生產(chǎn)中諸如溫度、壓力等各種物理量的測量和顯示。