任璐娟,韓 焱
(中北大學 信息探測與處理技術研究所,山西 太原 030051)
傳統(tǒng)數(shù)據(jù)采集系統(tǒng)一般由單片機與硬件采集電路或數(shù)據(jù)采集卡配置計算機組成。這種數(shù)據(jù)采集系統(tǒng)存在開發(fā)難度大、可移植性差、數(shù)據(jù)采集效率低、實時存儲容量小等缺點。其存儲容量取決于數(shù)據(jù)采集卡的板載內(nèi)存的大小,一般只有8 MB或12 MB[1],而現(xiàn)代工程運用中的數(shù)據(jù)采集系統(tǒng)需具有很高的采樣速率,完成海量數(shù)據(jù)的實時存儲[2]。針對傳統(tǒng)數(shù)據(jù)采集系統(tǒng)存在的不足,這里采用虛擬儀器(LabVIEW)和高速數(shù)字化儀NI PCI-5124設計一種可以長時間連續(xù)采集、實時存儲的數(shù)據(jù)采集系統(tǒng)。
本系統(tǒng)只使用PC機、數(shù)據(jù)采集卡以及編程語言即可在Windows操作系統(tǒng)下實現(xiàn)對數(shù)據(jù)的采集、存儲、處理,開發(fā)成本低,通訊能力強,易于使用[3]。系統(tǒng)改善了傳統(tǒng)數(shù)據(jù)采集系統(tǒng)的存儲量小、采集效率低等缺點,可實現(xiàn)信號的長時間實時采集、存儲、回放、分析、報表打印等功能。
該系統(tǒng)硬件設計結(jié)構原理框圖如圖1所示。
圖1 系統(tǒng)硬件設計結(jié)構原理框圖
系統(tǒng)硬件設計主要包括PC控制機和高速數(shù)據(jù)采集卡。由于許多插入式的數(shù)據(jù)采集DAQ(Data Acquisition)設備采集數(shù)據(jù)不僅受到采樣速率的限制,而且受到板載內(nèi)存和數(shù)據(jù)到PC機內(nèi)存的傳輸速率的限制。
針對以上問題,本設計選用插入式DAQ產(chǎn)品中價位低、速率快、精度高的高速數(shù)字化儀NI PCI-5124。它可以直接插入計算機的PC插槽,即插即用使用方便,具有200 MS/s的實時采樣至4.0 GS/s的等效時段采樣;標準8~256 MB大容量板載內(nèi)存;基于PCI總線的12位分辨率的雙同步采樣通道;使用新技術實現(xiàn)在2個150 MHz帶寬的、帶有去噪和抗混疊濾波器的輸入信道中同步采樣;高達75 dBc的無寄生動態(tài)范圍 SFDR(Spurious-Free Dynamic Range);基于 NI同步和存儲核心 SMC (Synchronization and Memory Core)構架,具備每通道512 MB板載內(nèi)存、快速數(shù)據(jù)傳輸和緊密的同步功能。工程師們可以在幾十皮秒(ps)內(nèi)同步基于SMC的模塊化儀器,主要有邊緣、視窗、滯環(huán)、視頻和數(shù)字等觸發(fā)方式,主要用于高通道和混合信號應用[4]。
專用數(shù)據(jù)采集卡的驅(qū)動方式分為外掛式驅(qū)動和內(nèi)置式驅(qū)動兩種。對于NI公司生產(chǎn)的各種專用數(shù)據(jù)采集卡,可使用LabVIEW內(nèi)的DAQ庫直接對端口進行各種操作,即內(nèi)置式驅(qū)動[5]。NI數(shù)據(jù)采集卡提供對LabVIEW豐富且完備的支持,驅(qū)動函數(shù)在底層的基礎函數(shù)上進行高度封裝,用戶無需深入了解采集卡的具體工作,只要掌握驅(qū)動函數(shù)輸入/輸出端口的意義,就能進行數(shù)據(jù)采集開發(fā)。因此用戶使用NI PCI-5124時,只需將所需接口從程序中直接調(diào)用至系統(tǒng)開發(fā)環(huán)境中,即可實現(xiàn)采集、存儲以及回放等功能。
LabVIEW是一種基于圖形語言編程的可視化軟件開發(fā)平臺,與VC、VB等其他可視化編程語言相比,其函數(shù)庫豐富、調(diào)試方便,而且開發(fā)界面簡單,界面風格與傳統(tǒng)儀器相似。LabVIEW是一個外觀和操作均能模仿實際儀器的程序開發(fā)環(huán)境,類似于C、BASIC等編程語言。但LabVIEW的特點在于使用圖形化編程G語言在流程圖中創(chuàng)建源程序,而非使用基于文本的語言產(chǎn)生源程序代碼。與傳統(tǒng)C、C++等編程語言不同,LabVIEW采用強大的圖形化語言編程,面向測試工程師而非專業(yè)程序員,編程方便,人機交互界面直觀友好,具有強大的數(shù)據(jù)可視化分析和儀器控制能力[6]。
本實驗系統(tǒng)主要由數(shù)據(jù)采集、存儲和數(shù)據(jù)處理等部分組成。其中數(shù)據(jù)采集包括采集設置和數(shù)據(jù)采集波形顯示;數(shù)據(jù)處理包括信號時頻域參量測量、信噪比測量以及報表打印等。系統(tǒng)工作流程如圖2所示。
本系統(tǒng)基本工作過程是:啟動LabVIEW程序后,首先設置高速數(shù)據(jù)采集卡PCI-5124的通道、采樣模式、采樣頻率、觸發(fā)類型、觸發(fā)電平等,然后啟動采集,進行長時間連續(xù)的數(shù)據(jù)采集并利用流盤技術將采集到的信息實時存儲于計算機硬盤,由于采集到的信息量很大,因此對采集到的數(shù)據(jù)進行離線處理,以減輕計算機CPU負擔,提高數(shù)據(jù)處理速度。
數(shù)據(jù)采集是從傳感器和其他待測設備等模擬和數(shù)字被測單元中自動采集各種參量(物理、化學、生物量等)信息的過程[7]。數(shù)據(jù)采集操作的結(jié)果直接影響后續(xù)數(shù)據(jù)處理、分析。
數(shù)據(jù)采集功能模塊利用NI-Scope函數(shù)進行數(shù)據(jù)采集,為了讓數(shù)據(jù)采集設備在后臺連續(xù)采集數(shù)據(jù)并送入緩存區(qū),首先,初次安裝好NI PCI-5124數(shù)據(jù)采集卡和驅(qū)動程序以后,計算機將自動設置其I/O地址和中斷號,并分配內(nèi)存資源,打通LabVIEW程序和底層驅(qū)動NI-Scope的通道。其次,在程序界面設置采樣頻率、采集通道、數(shù)據(jù)存儲方式并啟動程序?qū)崟r采集。由于需要觸發(fā)某事件后(例如點擊“運行采集”按鈕)進行采集,本設計采用可編程掃描和當前軟件觸發(fā)采集模式;采集啟動后,下層NI-Scope驅(qū)動程序獨立控制硬件高速數(shù)字化儀PCI-5124進行數(shù)據(jù)采集,并將采集結(jié)果利用流盤存儲方式跳過采集卡的緩沖區(qū)直接讀取到應用軟件的計算機硬盤中,處理數(shù)據(jù)。數(shù)據(jù)采集波形如圖3所示,該模塊完成連續(xù)數(shù)據(jù)采集,實時顯示信號并刷新。
圖2 系統(tǒng)總體工作流程
圖3 數(shù)據(jù)采集波形
數(shù)據(jù)存儲功能模塊由文件的類型簇、數(shù)據(jù)文件存儲路徑、TDMS Dialog函數(shù)、open TDMS 函數(shù)、write TDMS 函數(shù)、close TDMS函數(shù)以及error函數(shù)組成,本程序中調(diào)用open TDMS函數(shù)打開TDMS文件,當運行至此時,數(shù)據(jù)會依據(jù)原先設置的存儲路徑和類型將數(shù)據(jù)持續(xù)寫入指定計算機文件中。由于本設計要存儲海量數(shù)據(jù),因此采用基于流盤技術的存儲方式。流盤是一項在進行多次寫操作時保持文件打開的技術,即持續(xù)從或者向存儲器(Memory)中傳輸數(shù)據(jù),存儲器可以是設備的板上緩存 (Onboard Memory)、控制器上的RAM或計算機上的硬盤[8],本設計使用“文件I/O函數(shù)”設計合理的流盤存儲基本架構。
回放是為了使用戶在實時采集存儲和數(shù)據(jù)分析測量結(jié)束后,還可以在需要時重新觀察和深入分析所采集的數(shù)據(jù)[9]。數(shù)據(jù)回放功能程序運行至open TDMS函數(shù)時,將運行連接至open(只讀),即可打開對應的數(shù)據(jù)存盤文件,采集到的波形數(shù)據(jù)按照帶索引的二進制TDMS文件形式存放于計算機硬盤中。在選擇波形回放時,后臺程序首先要確定波形數(shù)據(jù)中數(shù)組元素所對應的采樣時刻,當選擇回放按鈕時,給定的初始運行時間會與待回放的波形數(shù)據(jù)的第1個元素所對應的時刻進行比較,從而確定待回放數(shù)據(jù)的第1個數(shù)據(jù)元素的時刻,從此開始回放數(shù)據(jù)波形,直到用戶發(fā)出停止指令。整個文件完全是Windows系統(tǒng)文件,大大提高存儲和釋放的速率,加快數(shù)據(jù)處理速度,回放波形如圖4所示。
圖4 數(shù)據(jù)回放波形
數(shù)據(jù)分析主要包括測量信號參量、幅度相位譜和功率譜。時域分析是一種直接在時間域中對系統(tǒng)進行分析的方法,具有直觀、準確的優(yōu)點,可以提供數(shù)據(jù)采集系統(tǒng)時間響應所需的全部信息。本系統(tǒng)主要是標定所采集信號的周期、平均值、周期均方根、有效值以及頻率等,實時了解信號各種參數(shù)。
數(shù)據(jù)報表打印主要是將所采集信號的原始波形和回放波形以圖片格式傳遞至打印樣式子VI,并設置該子VI,使得程序需要打印時,就可通過調(diào)用該子VI打開前面板的采集波形和回放波形,顯示報表內(nèi)容并進行打印預覽。
進行系統(tǒng)實驗測試時,使用主頻為1.81 GHz、處理器為64位,512 M內(nèi)存的PC;采樣速率為20 MByte/s的高速數(shù)字化儀PCI-5124,實現(xiàn)長達30 min的連續(xù)數(shù)據(jù)采集和海量數(shù)據(jù)存儲。利用虛擬儀器LabVIEW和高速數(shù)字化儀PCI-5124開發(fā)的長時間連續(xù)采集存儲系統(tǒng)完成了信號實時的采集、顯示、存儲以及對采集歷史數(shù)據(jù)進行回放的功能。
與傳統(tǒng)數(shù)據(jù)采集儀器相比,該系統(tǒng)具有性價比高、開發(fā)時間短、通用性強、數(shù)據(jù)處理準確簡單、可移植性強(可以將VC、C、MATLAB等程序進行遞歸調(diào)用)、人性化界面設計、易于操作等優(yōu)點,LabVIEW簡單的編寫語言和易于編寫的控制控件,簡化了編程過程,用戶無需掌握數(shù)據(jù)采集卡的硬件知識,只需了解和掌握其驅(qū)動程序的功能,就能利用LabVIEW進行數(shù)據(jù)程序的開發(fā)和運用,這將成為未來數(shù)據(jù)采集發(fā)展的趨勢。
[1]National Instruments Corporation.LabVIEW user’s manual[Z].1998.
[2]孟武勝,朱劍波,黃 鴻,等.基于LabVIEW數(shù)據(jù)采集系統(tǒng)的設計[J].電子測量技術,2008(31):63-65.
[3]祁雪梅,呂修亞,高 級,等.虛擬數(shù)據(jù)采集及處理器設計[J].國外電子測量技術,2006,25(7):27-29.
[4]National Instruments Corporation.PCI-5124 Data sheet[DB/OL].2007.http://www.ni.com/pdf/products/us/2004_4439_101_d.pdf.
[5]張丙才,劉 琳,高廣峰,等.基于LabVIEW的數(shù)據(jù)采集和信號處理[J].儀表技術與傳感器,2007(12):74-75.
[6]陳錫輝.LabVIEW 8.20程序設計從入門到精通[M].北京:清華大學出版社,2007.
[7]周 林,殷 俠.數(shù)據(jù)采集與分析技術[M].西安:西安電子科技大學出版社,2005.
[8]李福平.數(shù)據(jù)流盤高速存儲讀取技術最新進展[J].電子產(chǎn)品世界,2008(7):119-122.
[9]曲喜強,劉 哲.基于虛擬儀器的道路模擬試驗信號采集與處理系統(tǒng)[J].國外電子測量技術,2008,27(9):58-60.