四、基于LabVIEW和PCI-5124的數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
摘要:設(shè)計(jì)一種基于虛擬儀器LabVIEW和高速數(shù)字化儀NI PCI-5124的高采樣率、長時間的數(shù)據(jù)采集分析實(shí)驗(yàn)系統(tǒng)。該系統(tǒng)可實(shí)現(xiàn)20 MHz甚至更高采樣率以及數(shù)據(jù)信號長時間的實(shí)時采集,并具有實(shí)時存儲、回放、信號分析、報(bào)表打印功能。實(shí)驗(yàn)表明:該系統(tǒng)具有程序設(shè)計(jì)簡單、通用性好、可移植性高、界面設(shè)計(jì)簡單大方、易于操作等優(yōu)點(diǎn)。
傳統(tǒng)數(shù)據(jù)采集系統(tǒng)一般由單片機(jī)與硬件采集電路或數(shù)據(jù)采集卡配置計(jì)算機(jī)組成。這種數(shù)據(jù)采集系統(tǒng)存在開發(fā)難度大、可移植性差、數(shù)據(jù)采集效率低、實(shí)時存儲容量小等缺點(diǎn)。其存儲容量取決于數(shù)據(jù)采集卡的板載內(nèi)存的大小,一般只有8 MB或12 MB,而現(xiàn)代工程運(yùn)用中的數(shù)據(jù)采集系統(tǒng)需具有很高的采樣速率,完成海量數(shù)據(jù)的實(shí)時存儲。針對傳統(tǒng)數(shù)據(jù)采集系統(tǒng)存在的不足,這里采用虛擬儀器(LabVIEW)和高速數(shù)字化儀NI PCI-5124設(shè)計(jì)一種可以長時間連續(xù)采集、實(shí)時存儲的數(shù)據(jù)采集系統(tǒng)。
本系統(tǒng)只使用PC機(jī)、數(shù)據(jù)采集卡以及編程語言即可在Windows操作系統(tǒng)下實(shí)現(xiàn)對數(shù)據(jù)的采集、存儲、處理,開發(fā)成本低,通訊能力強(qiáng),易于使用。系統(tǒng)改善了傳統(tǒng)數(shù)據(jù)采集系統(tǒng)的存儲量小、采集效率低等缺點(diǎn),可實(shí)現(xiàn)信號的長時間實(shí)時采集、存儲、回放、分析、報(bào)表打印等功能。
1 系統(tǒng)硬件設(shè)備簡介
該系統(tǒng)硬件設(shè)計(jì)結(jié)構(gòu)原理框圖如圖l所示。
系統(tǒng)硬件設(shè)計(jì)主要包括PC控制機(jī)和高速數(shù)據(jù)采集卡。由于許多插入式的數(shù)據(jù)采集DAQ(Data Acquisition)設(shè)備采集數(shù)據(jù)不僅受到采樣速率的限制,而且受到板載內(nèi)存和數(shù)據(jù)到PC機(jī)內(nèi)存的傳輸速率的限制。
針對以上問題,本設(shè)計(jì)選用插入式DAQ產(chǎn)品中價位低、速率快、精度高的高速數(shù)字化儀NI PCI-5124。它可以直接插入計(jì)算機(jī)的PC捕槽,即插即用使用方便,具有200 MS/s的實(shí)時采樣至4.0 GS/s的等效時段采樣;標(biāo)準(zhǔn)8~256 MB大容量板載內(nèi)存;基于PCI總線的12位分辨率的雙同步采樣通道;使用新技術(shù)實(shí)現(xiàn)在2個150 MHz帶寬的、帶有去噪和抗混疊濾波器的輸入信道中同步采樣;高達(dá)75 dBc的無寄生動態(tài)范圍SFDR(Spufious-Free Dynamic Range);基于NI同步和存儲核心SMC (Synchronization and Memory Core)構(gòu)架,具備每通道512 MB板載內(nèi)存、快速數(shù)據(jù)傳輸和緊密的同步功能。工程師們可以在幾十皮秒(ps)內(nèi)同步基于SMC的模塊化儀器,主要有邊緣、視窗、滯環(huán)、視頻和數(shù)字等觸發(fā)方式,主要用于高通道和混合信號應(yīng)用。
專用數(shù)據(jù)采集長的驅(qū)動方式分為外掛式驅(qū)動和內(nèi)置式驅(qū)動兩種。對于NI公司生產(chǎn)的各種專用數(shù)據(jù)采集卡,可使用LabVIEW內(nèi)的DAQ庫直接對端口進(jìn)行各種操作,即內(nèi)置式驅(qū)動。NI數(shù)據(jù)采集卡提供對LabVIEW豐富且完備的支持,驅(qū)動函數(shù)在底層的基礎(chǔ)函數(shù)上進(jìn)行高度封裝,用戶無需深入了解采集卡的具體工作,只要掌握驅(qū)動函數(shù)輸入/輸出端口的意義,就能進(jìn)行數(shù)據(jù)采集開發(fā)。因此用戶使用NI PCI-5124時,只需將所需接口從程序中直接調(diào)用至系統(tǒng)開發(fā)環(huán)境中,即可實(shí)現(xiàn)采集、存儲以及回放等功能。
2 數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)
2.1 程序設(shè)計(jì)
LabVIEW是一種基于圖形語言編程的可視化軟件開發(fā)平臺,與VC、VB等其他可視化編程語言相比,其函數(shù)庫豐富、調(diào)試方便,而且開發(fā)界面簡單,界面風(fēng)格與傳統(tǒng)儀器相似。LabVIEW是一個外觀和操作均能模仿實(shí)際儀器的程序開發(fā)環(huán)境,類似于C、BASIC等編程語言。但LabVIEW的特點(diǎn)在于使用圖形化編程G語言在流程圖中創(chuàng)建源程序,而非使用基于文本的語言產(chǎn)生源程序代碼。與傳統(tǒng)C、C++等編程語言不同,LabVI-EW采用強(qiáng)大的圖形化語言編程,面向測試工程師而非專業(yè)程序員,編程方便,人機(jī)交互界面直觀友好,具有強(qiáng)大的數(shù)據(jù)可視化分析和儀器控制能力。
本實(shí)驗(yàn)系統(tǒng)主要由數(shù)據(jù)采集、存儲和數(shù)據(jù)處理等部分組成。其中數(shù)據(jù)采集包括采集設(shè)置和數(shù)據(jù)采集波形顯示;數(shù)據(jù)處理包括信號時頻域參量測量、信噪比測量以及報(bào)表打印等。系統(tǒng)工作流程如圖2所示。
本系統(tǒng)基本工作過程是:肩動LabVIEW程序后,首先設(shè)置高速數(shù)據(jù)采集卡PCI-5124的通道、采樣模式、采樣頻率、觸發(fā)類型、觸發(fā)電平等,然后啟動采集,進(jìn)行長時間連續(xù)的數(shù)據(jù)采集并利用流艋技術(shù)將采集到的信息實(shí)時存儲于計(jì)算機(jī)硬盤,由于采集到的信息量很大,因此對采集到的數(shù)據(jù)進(jìn)行離線處理,以減輕計(jì)算機(jī)CPU負(fù)擔(dān),提高數(shù)據(jù)處理速度。
2.2 數(shù)據(jù)采集模塊
數(shù)據(jù)采集是從傳感器和其他待測設(shè)備等模擬和數(shù)字被測單元中自動采集各種參量(物理、化學(xué)、生物量等)信息的過程。數(shù)據(jù)采集操作的結(jié)果直接影響后續(xù)數(shù)據(jù)處理、分析,數(shù)據(jù)采集功能模塊利用NI-Scope函數(shù)進(jìn)行數(shù)據(jù)采集,為了讓數(shù)據(jù)采集設(shè)備在后臺連續(xù)采集數(shù)據(jù)并送入緩存區(qū),首先,初次安裝好NI PCI-5124數(shù)據(jù)采集卡和驅(qū)動程序以后,計(jì)算機(jī)將自動設(shè)置其I/O地址和中斷號,并分配內(nèi)存資源,打通LabVIEW程序和底層驅(qū)動NI-Scope的通道。其次,在程序界面設(shè)置采樣頻率、采集通道、數(shù)據(jù)存儲方式并啟動程序?qū)崟r采集。由于需要觸發(fā)某事件后(例如點(diǎn)擊“運(yùn)行采集”按鈕)進(jìn)行采集,本設(shè)計(jì)采用可編程掃描和當(dāng)前軟件觸發(fā)采集模式:采集啟動后,下層NI-Scope驅(qū)動程序獨(dú)立控制硬件高速數(shù)字化儀PCI-5124進(jìn)行數(shù)據(jù)采集,并將采集結(jié)果利用流盤存儲方式跳過采集卡的緩沖區(qū)直接讀取到應(yīng)用軟件的計(jì)算機(jī)硬盤中,處理數(shù)據(jù)。數(shù)據(jù)采集波形如圖3所示,該模塊完成連續(xù)數(shù)據(jù)采集,實(shí)時顯示信號并刷新。
2.3 數(shù)據(jù)存儲回放模塊
數(shù)據(jù)存儲功能模塊由文件的類型簇、數(shù)據(jù)文件存儲路徑、TDMS Dialog函數(shù)、open TDMS函數(shù)、write TDMS函數(shù)、close TDMS函數(shù)以及error函數(shù)組成,本程序中調(diào)用openTDMS函數(shù)打開TDMS文件,當(dāng)運(yùn)行至此時,數(shù)據(jù)會依據(jù)原先設(shè)置的存儲路徑和類型將數(shù)據(jù)持續(xù)寫入指定計(jì)算機(jī)文件中。由于本設(shè)計(jì)要存儲海量數(shù)據(jù),因此采用基于流盤技術(shù)的存儲方式。流盤是一項(xiàng)在進(jìn)行多次寫操作時保持文件打開的技術(shù),即持續(xù)從或者向存儲器(Memory)中傳輸數(shù)據(jù)。存儲器可以是設(shè)備的板上緩存(Onboard Memory)、控制器上的RAM或計(jì)算機(jī)上的硬盤,本設(shè)計(jì)使用“文件I/O函數(shù)”設(shè)計(jì)合理的流盤存儲基本架構(gòu)。
回放是為了使用戶存實(shí)時采集存儲和數(shù)據(jù)分析測量結(jié)束后,還可以在需要時重新觀察和深入分析所采集的數(shù)據(jù)。數(shù)據(jù)回放功能程序運(yùn)行至open TDMS函數(shù)時,將運(yùn)行連接至open(只讀),即可打開對應(yīng)的數(shù)據(jù)存盤文件,采集到的波形數(shù)據(jù)按照帶索引的二進(jìn)制TDMS文件形式存放于計(jì)算機(jī)硬盤中。在選擇波形回放時,后臺程序首先要確定波形數(shù)據(jù)中數(shù)組元素所對應(yīng)的采樣時刻,當(dāng)選擇同放按鈕時,給定的初始運(yùn)行時間會與待同放的波形數(shù)據(jù)的第1個元素所對應(yīng)的時刻進(jìn)行比較,從而確定待回放數(shù)據(jù)的第1個數(shù)據(jù)元素的時刻,從此開始回放數(shù)據(jù)波形,直到用戶發(fā)出停止指令。整個文件完全是Windows系統(tǒng)文件,大大提高存儲和釋放的速率,加快數(shù)據(jù)處理速度,回放波形如圖4所示。
2.4 數(shù)據(jù)分析模塊
數(shù)據(jù)分析主要包括測量信號參量、幅度相位譜和功率譜。時域分析是一種直接在時問域中對系統(tǒng)進(jìn)行分析的方法,具有直觀、準(zhǔn)確的優(yōu)點(diǎn),可以提供數(shù)據(jù)采集系統(tǒng)時間響應(yīng)所需的全部信息。本系統(tǒng)主要是標(biāo)定所采集信號的周期、平均值、周期均方根、有效值以及頻率等,實(shí)時了解信號各種參數(shù)。
數(shù)據(jù)報(bào)表打印主要是將所采集信號的原始波形和回放波形以圖片格式傳遞至打印樣式子VI,并設(shè)置該子VI,使得程序需要打印時,就可通過調(diào)用該子VI打開前面板的采集波形和回放波形,顯示報(bào)表內(nèi)容并進(jìn)行打印預(yù)覽。
3 結(jié)論
進(jìn)行系統(tǒng)實(shí)驗(yàn)測試時,使用主頻為1.8l GHz、處理器為64位,512 M內(nèi)存的PC;采樣速率為20MByte/s的高速數(shù)字化儀PCI-5124,實(shí)現(xiàn)長達(dá)30 min的連續(xù)數(shù)據(jù)采集和海量數(shù)據(jù)存儲。利用虛擬儀器LabVIEW和高速數(shù)字化儀PCI-5124開發(fā)的長時間連續(xù)采集存儲系統(tǒng)完成了信號實(shí)時的采集、顯示、存儲以及對采集歷史數(shù)據(jù)進(jìn)行回放的功能。
與傳統(tǒng)數(shù)據(jù)采集儀器相比,該系統(tǒng)具有性價比高、開發(fā)時間短、通用性強(qiáng)、數(shù)據(jù)處理準(zhǔn)確簡單、可移植性強(qiáng)(可以將VC、C、MATLAB等程序進(jìn)行遞歸調(diào)用)、人性化界面設(shè)計(jì)、易于操作等優(yōu)點(diǎn),LabVIEW簡單的編寫語言和易于編寫的控制,控件,簡化了編程過程,用戶無需掌握數(shù)據(jù)采集卡的硬件知識,只需了解和掌握其驅(qū)動程序的功能,就能利用LabVIEW進(jìn)行數(shù)據(jù)程序的開發(fā)和運(yùn)用,這將成為未來數(shù)據(jù)采集發(fā)展的趨勢。
評論
查看更多