《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 基于NI Scope實時數(shù)據(jù)采集系統(tǒng)設計
基于NI Scope實時數(shù)據(jù)采集系統(tǒng)設計
廖 晶,周衛(wèi)星,廖 歡
摘要: 虛擬儀器的概念最早是由美國國家儀器公司(Na-tional Instrument)提出來的,,經過十幾年的發(fā)展,,目前正沿著總線與驅動程序標準化,、硬件、軟件模塊化、編程平臺圖像化和硬件模塊即插即用方向發(fā)展。隨著計算機技術和網(wǎng)絡技術的飛速發(fā)展,,虛擬儀器將在數(shù)據(jù)采集、自動測試和測量儀器領域得到廣泛應用,,擬儀器技術十分符合國際上流行的“硬件軟件化”的發(fā)展趨勢,,尤其是在高校科研和工業(yè)生產領域中發(fā)展前景非常廣闊,。
Abstract:
Key words :


0 引 言

   
虛擬儀器的概念最早是由美國國家儀器公司(Na-tional Instrument)提出來的,,經過十幾年的發(fā)展,目前正沿著總線與驅動程序標準化,、硬件,、軟件模塊化、編程平臺圖像化和硬件模塊即插即用方向發(fā)展,。隨著計算機技術和網(wǎng)絡技術的飛速發(fā)展,,虛擬儀器將在數(shù)據(jù)采集,、自動測試和測量儀器領域得到廣泛應用,,擬儀器技術十分符合國際上流行的“硬件軟件化”的發(fā)展趨勢,,尤其是在高??蒲泻凸I(yè)生產領域中發(fā)展前景非常廣闊,。

1 虛擬儀器概述

1.1 虛擬儀器簡介

   
虛擬儀器核心技術思想是“軟件即是儀器”,在通用的集成硬件平臺上,,結合高性能的模塊化硬件和高效靈活的軟件使本來需要硬件實現(xiàn)的技術軟件化,。一般當標準化硬件平臺確定后,通過標準的儀器驅動軟件可實現(xiàn)模塊化的硬件(如GPIB,,VXI,,DAQ板等)之間的通信、定時應用等需求,;而靈活高效的開發(fā)應用軟件能創(chuàng)建完全自定義的用戶界面和系統(tǒng),,實現(xiàn)傳統(tǒng)儀器中由硬件完成的儀器功能。虛擬儀器技術的優(yōu)勢在于儀器性能的改進和功能擴展只需用戶選擇適合其應用要求的硬件模塊以及更新相關軟件程序設計,,即可重新配置現(xiàn)有系統(tǒng),,增加程序可復用性,大大縮短整個系統(tǒng)開發(fā)換代周期,降低成本,,方便實現(xiàn)多種功能,。

1.2 虛擬儀器構成

   
虛擬儀器一般由通用儀器硬件平臺和應用軟件組成,如圖1所示,。

    虛擬儀器硬件平臺主要有兩部分,,分別是用于集成的硬件平臺和模塊化I/O接口設備。虛擬儀器的軟件部分包括應用軟件和I/O驅動軟件兩部分,,應用軟件包含實現(xiàn)虛擬面板功能的前面板的軟件程序和定義測試功能的流程圖軟件程序,,如LabVIEW等;I/O接口儀器驅動程序用來完成特定外部硬件設備的擴展,、驅動和通信,,可以由虛擬儀器開發(fā)環(huán)境提供。只有同時擁有高效的軟件,、模塊化I/O硬件和用于集成的軟硬件平臺這三大組成部分,,才能充分發(fā)揮虛擬儀器技術性能高、擴展性強,、開發(fā)時間少以及出色的集成這四大優(yōu)勢,。

1.3 圖形化編程語言LabVIEW

   
LabVIEW(Laboratory Virtual Instrument Engi-neetring Workbench)是一種用圖標代替文本行創(chuàng)建應用程序的圖形化編程語言,采用數(shù)據(jù)流編程方式,,程序框圖中節(jié)點之間的數(shù)據(jù)流向決定了程序的執(zhí)行順序,,用圖表表示函數(shù),用連線表示數(shù)據(jù)流方向,。LabVIEW程序稱為虛擬儀器(Virtual Instrument,,VI)程序。一個最基本的VI由前面板(Panel),、框圖程序(Diagram Program)和圖標/連接端口(Icon/Terminal)三部分組成,。LabVIEW為虛擬儀器設計者提供了一個便捷、輕松的設計環(huán)境,,不僅能輕松方便地完成與各種軟硬件的連接,,還提供強大的后續(xù)數(shù)據(jù)處理能力,交互式的測量工具和更高層的系統(tǒng)管理軟件工具,。LabVIEW能夠支持串行接口,、GPIB,VXI,,PXI等標準總線和多種數(shù)據(jù)采集板,,以驅動不同儀器公司的儀器,用戶可以高效,、快速地編寫出相應的應用程序,,自行設計儀器驅動程序,,完成諸如數(shù)據(jù)采集、數(shù)據(jù)處理,、數(shù)據(jù)顯示以及儀器控制和通信等多種功能,。在較高性價比的條件下,降低系統(tǒng)開發(fā)和維護費用,,縮短技術更新周期,。

2 系統(tǒng)結構設計

   
該系統(tǒng)使用NI公司PXI-1042Q機箱和NI PXI-5122高速數(shù)字化儀模塊組建數(shù)據(jù)采集硬件平臺。PXI(PCI Extensions for Instrumentation),,它的主要優(yōu)勢在于利用了已經驗證的,,符合工業(yè)標準的技術,在高速的Compact PCI總線基礎之上,,加入類似VXI所具有的定時,、觸發(fā)和同步功能。PXI作為一種專為工業(yè)數(shù)據(jù)采集與自動化應用高性能模塊化硬件平臺,,具有開放式架構,,內有高端的定時和觸發(fā)總線,結合模塊化的I/O硬件和相應的測試測量開發(fā)軟件,,便可以較好地完成數(shù)據(jù)采集任務,。

2.1 系統(tǒng)硬件部分


    PXI-5122高速數(shù)字化儀是硬件部分的核心,可直接插入PXI-1042Q機箱插槽中,,屬于內置式驅動,。通過LabVIEW嵌入的驅動函數(shù)可配置其觸發(fā)方式,如即時觸發(fā),、軟件觸發(fā),、數(shù)字觸發(fā)等,還可配置采樣速率,,采樣記錄長度等,。PXI-5122提供雙輸入通道,每個通道最高100 MS/s實時采樣率,,分辨率14 b,,采用交叉采樣方式的采樣率可提高到200 MS/s,帶有去噪和100 MHz抗混疊濾波器,,具有動態(tài)范圍大、板上采樣存儲器容量大等特點,。這里配置為單通道即時觸發(fā)模式,,以便實現(xiàn)實時的連續(xù)采樣。根據(jù)采樣定理,,設置的最小采樣速率至少是被采樣信號頻率的兩倍,。數(shù)據(jù)采集系統(tǒng)示意圖如圖2所示,。

2.2 系統(tǒng)軟件部分

    系統(tǒng)軟件部分主要由標準I/O模塊驅動,采用隊列同步控制和數(shù)據(jù)顯示三大部分組成,。系統(tǒng)程序流程圖如圖3所示,。

    首先通過NI,Scope示波器驅動來完成PXI-5122的配置和初始化,,將此部分放置到由單個while循環(huán)控制的獨立線程中便可以實現(xiàn)連續(xù)數(shù)據(jù)采集,。被采集的數(shù)據(jù)被放人隊列中,隊列允許多個任務同時訪問,,其他獨立線程的模塊可同時并行地從中讀取數(shù)據(jù),,實時完成各自的功能,如數(shù)據(jù)存儲,、數(shù)據(jù)顯示等,。

2.2.1 I/O驅動模塊


    NI Scope示波器驅動是NI公司提供的八類可互換的虛擬儀器IVI(Interchangeable Virtual Instru-ment)規(guī)范驅動之一,由于IVI規(guī)范驅動是基于虛擬儀器軟件架構VISA(Virtual Instrunment Software Archi-tecture),,可以實現(xiàn)程序與硬件接口的不相關,。此外,NI Scope提供了規(guī)范和標準API函數(shù)和DAQ驅動程序庫,,它將儀器的功能完整封裝,,讓用戶更快更容易地開發(fā)系統(tǒng)。成功安裝NI Scope示波器驅動后,,在Lab-VIEW程序框圖中,,打開“函數(shù)”菜單下,打開“測量I/O”可以看到“NI Scope”工具包,,選擇初始化,、水平方向設置、豎直方向設置,、通道設置,、觸發(fā)方式設置等函數(shù),自定義NI PXI-5122驅動程序,。該系統(tǒng)設置偏移量為零,,即時觸發(fā)采樣模式,采樣記錄數(shù)值默認為1,,采樣頻率和采樣記錄長度由輸入控件控制,,采樣的通道名稱默認為“channel 0”,實現(xiàn)連續(xù)采樣,。NI PXI-5122驅動程序具體如圖4所示,。

2.2.2 同步技術

    系統(tǒng)各模塊分別由單個循環(huán)控制,并且各循環(huán)之間相互獨立,,每一個循環(huán)都有一個獨立的線程獨自運行,,構成了一個包含多個并行任務虛擬儀器系統(tǒng),。各個循環(huán)之間也有數(shù)據(jù)交流,相互關聯(lián),,為了實現(xiàn)在同一個程序中處理好各循環(huán)或并行任務之間的同步或通信,,則需要使用同步控制技術。系統(tǒng)選用隊列(Queue)技術來控制這些循環(huán)可以避免對設備的訪問沖突,。

    隊列結構是一種先進先出的結構,。隊列可以保證有序的數(shù)據(jù)傳遞,避免競爭或沖突,。一般當多個用戶需要使用同一個資源時,,就可以通過隊列來對多個用戶進行排隊處理;同時,。也允許多個用戶訪問一個隊列,,這樣就可以加快隊列的處理速度。同樣,,在程序框圖中打開“函數(shù)”,,選擇“編程”中的“同步”,可看待“隊列”函數(shù)包,。通過“獲取隊列引用”先建立一個隊列,,可設置隊列名稱,元素類型,,隊列大小等屬性,。圖5中顯示數(shù)據(jù)采集循環(huán),數(shù)據(jù)存儲循環(huán),,數(shù)據(jù)顯示循環(huán)共同使用一個隊列,,即數(shù)據(jù)循環(huán)中使用“元素人隊列”函數(shù)將采集數(shù)據(jù)不斷地存放到隊列中,數(shù)據(jù)存儲和數(shù)據(jù)顯示循環(huán)使用“元素出隊列”函數(shù)從隊列中不斷地讀取數(shù)據(jù),,實現(xiàn)了系統(tǒng)實時采集和存儲的功能,。若某個模塊的任務運行過快或過慢,隊列可以起到緩存作用,,進行約束或補償,,不會導致數(shù)據(jù)丟失或重復讀取。

2.2.3 數(shù)據(jù)存儲
    高速數(shù)據(jù)流文件TDM Streaming文件以流文件形式存儲數(shù)據(jù),,讀寫速度比較快,,適合用來存儲海量數(shù)據(jù),常于實時系統(tǒng),。TDMS文件除了可以存儲信號數(shù)據(jù)外,,還可以為每個信號添加附加信息:文件、組,、通道等,。通過TDMS文件操作函數(shù)可對被采集的信號進行快速的讀,寫,,屬性設置及提取,,管理簡單;在寫操作后可以調用TDMS File Viewer?、龊瘮?shù),,打開TDMS文件瀏覽器,查看數(shù)據(jù)和屬性值,。TDMS的寫操作如圖5所示,。

3 實驗結果

    數(shù)據(jù)采集系統(tǒng)前面板如圖6所示,根據(jù)所設計的數(shù)據(jù)采集系統(tǒng),,分別進行了數(shù)據(jù)采集,、數(shù)據(jù)輸入,數(shù)據(jù)存儲及波形顯示等實驗,。數(shù)據(jù)保存在以.tdms為后綴名的波形文件中,。圖6所示為對頻率10 kHz,幅度為0.5 V的模擬正弦波信號使用單通道采樣,,輸入的采樣頻率為1 MHz,,實際采樣頻率為1 MHz。經過實際驗證,,對三角波,,方波等合理采樣,結果比較滿意,。


4 結 語
 
  
該數(shù)據(jù)采集系統(tǒng)實際是用于對中波段范圍內調幅信號的實時采集,,方便對采集后的數(shù)據(jù)直接進行各種數(shù)學分析。一方面可將結果直觀的顯示在前面板上,,另一方面也可同時將數(shù)據(jù)進行存儲,,以供日后分析使用。此外,,由于LabVIEW是一個功能強大的虛擬儀器編譯環(huán)境,,簡化編程過程,尤其是使用IVI驅動程序,,極大地簡化代碼,,用戶不需要關心儀器底層是如何通信,只需要關注任務本身,。給予系統(tǒng)更多的靈活性,。以后只需要根據(jù)實際功能要求,修改相應的軟件編程即可進行系統(tǒng)拓展,。整個數(shù)據(jù)采集系統(tǒng)在實際使用中方便活,,不受具體線路的限制,。

出處:現(xiàn)代電子技術 

 

此內容為AET網(wǎng)站原創(chuàng),未經授權禁止轉載,。