摘 要:根據高等工科院校實驗教學中實驗設備緊張的現實,介紹虛擬平臺下虛擬儀器的開發,并用LabVIEW軟件結合PCI-6024E數據采集卡設計實現了一款虛擬數字存儲示波器,該示波器具有波形顯示、讀寫、存儲、打印和測量參數數字顯示功能。實際使用結果表明,示波器精度和穩定性都能滿足使用要求。在此基礎上增加軟件設計,還可實現頻譜分析儀,萬用表,頻率計等功能,實現儀器的一機多用。
關鍵詞:虛擬儀器;數字示波器;數據采集;LabVIEW
中圖分類號:TM935 文獻標識碼:B 文章編號:1004-373X(2008)02-180-03
Design and Implementation of the Oscilloscope with Virtual Instrumentation
HU Yaqi1,XIA Baohua2
(1.School of Electronic and Information Engineering,Lanzhou Jiaotong University,Lanzhou,730070,China;
[JZ]2.The First Middle School of Northwest Normal University,Lanzhou,730070,China)[HJ1*5][HJ]
[HJ*2]Abstract:In view of the fact that equipments are deficient in engineering colleges′experimental teaching,the development of virtual instrument on virtual platform is introduced.With LabVIEW software and data acquisition card PCI-6024E,a virtual digital storage oscilloscope is designed and implemented.This oscilloscope provides the functionalities of waveform display,I/O,storage,print and digital display of measurement parameters.The actual application result shows that the accuracy and stability of the virtual oscilloscope meet the requirement.With more software enhancement,the virtual oscilloscope achieves multi-purpose and can be used as spectrum analyzer,multimeter,frequency meter and so on.
Keywords:virtual instrumentation;digital oscilloscope;data acquisition;LabVIEW[HJ1*3][HJ]
在高等院校理工科教學中,實驗教學是整個教學過程中的重要環節,特別是基礎課、專業基礎課的實驗教學在本科教學中尤為重要,他對學生的專業知識起著有效的支撐作用。但是,近年來隨著學生人數的增加、實驗教學改革不斷深入,原有實驗室的設備和規模難以滿足發展的需要。虛擬儀器的出現很好地解決了這些問題。虛擬儀器是以計算機為核心,功能由用戶定義和設計,具有虛擬面板,其測試功能由測試軟件實現。虛擬儀器的關鍵是用軟件來實現硬件的功能,實現“軟件即儀器”。本文應用虛擬儀器開發平臺LabVIEW開發了一種多功能虛擬示波器,不僅擴展了示波器的分析和計算能力,還降低了儀器的價格,增強了儀器的通用性,實現了波形顯示、存儲、打印和讀取以及多個測量參數自動顯示、相位差自動計算等功能。
1 虛擬儀器的系統構成
虛擬儀器由硬件和軟件2大部分構成(見圖1)。
虛擬儀器硬件通常包括通用計算機和外圍設備。外圍硬件設備可以選擇GPIB系統、VXI系統、PXI系統、數據采集系統或其他系統,也可選擇由2種或2種以上系統構成的混合系統。其中,最簡單、最廉價的形式是采用基于ISA或PCI總線的數據采集卡,及基于RS 232或USB總線的便攜式數據采集模塊。
虛擬儀器的軟件包括操作系統、儀器驅動器和應用軟件3個層次。操作系統可以選擇Windows 2000/NT/XP/Me,SUNOS,Linux等。儀器驅動器軟件是直接控制各種硬件接口的驅動程序,應用軟件通過儀器驅動器實現與外圍硬件模塊的通信連接。應用軟件包括實現儀器功能的軟件程序和實現虛擬面板的軟件程序,用戶通過虛擬面板與虛擬儀器進行交流。為了方便儀器制造商和用戶進行儀器驅動器和應用軟件的開發,HP,NI等公司推出了專用于虛擬儀器開發的集成開發環境,目前流行的有HP VEE,LabVIEW,LabWindows/CVI等。
2 虛擬儀器平臺下示波器的設計與實現
在實驗教學中,示波器使用最為廣泛。傳統示波器功能比較單一、測試準確度較差,而目前的數字存儲示波器雖然測試準確度較好,且具有較強的數字化處理能力,但是這種示波器價格昂貴,儀器功能模塊固定,不具備用戶對儀器進行定義和用戶編程的功能。本文介紹根據實際教學的需要,開發研制的虛擬示波器。
2.1 設計要求
根據實際需要,示波器的設計參考了傳統示波器的功能,并結合虛擬儀器的特點與計算機強大的信息處理能力,在功能上進行擴展,實現了波形顯示、存儲、打印和時域、頻域參數自動測量、顯示、查詢以及相位差的自動計算功能。結構如圖2所示。
主要技術指標:采樣速率200 kb/s;采樣位數12 b;波形顯示模式雙通道X-Ymode;定位標尺2個;數據存儲硬盤或軟盤。
2.2 硬件組成
本設計采用PCI-DAQ的構成方式,由數據采集(Date Acquisition,DAQ),接口總線、硬件驅動程序和虛擬示波器軟件構成,其結構如圖3所示。
信號檢測電路通過多路傳感器檢測各種被測信號的物理量,然后經過信號調理轉換為數據采集卡所需的信號送入數據采集卡(由硬件程序驅動),通過系統總線送入計算機進行處理。巡回采集并由可編程放大器放大信號,經采樣保持和ADC單元被量化成數字信號,進入微機相應的儲存單元,在屏幕上顯示出測量波形。
數據采集卡采用美國NI公司生產的多功能接口卡PCI-6024E,他集12位A/D。12位D/A,16路單端接地的模擬輸入通道,8位或者24位并引輸入/輸出線及2路24位定時/計數器為一體。支持DMA方式和雙緩沖區模式,保證了實時信號不間斷采集和存儲,在雙極性時,輸入電壓范圍選擇有100 mV,1 V,10 V,20 V四種,他的最高采樣速率為200 kb/s。PCI-6024E為數據采集卡用Date Acquisition子模板實現對他的驅動,在軟件驅動前利用Measurement and Automation 軟件對他進行參數設置。
2.3 軟件設計及實現
軟件設計是虛擬示波器設計的關鍵。在本設計中采用LabVIEW作為軟件開發工具,LabVIEW是一種基于G語言的虛擬儀器軟件開發工具,應用于數據采集和控制,數據分析、數據表達等方面。利用LabVIEW設計虛擬儀器軟件主要有外部硬件與驅動程序,儀器面板與儀器功能程序2部分。虛擬示波器軟件設計主要包括前面板和框圖程序的設計,前面板是用來操作各種控件和觀測輸入信號的波形及頻譜的用戶界面;框圖程序用來控制數據的流動方向,完成系統的編程,虛擬示波器的軟件結構框圖如圖4所示。
2.3.1 數據采集模塊設計
(1) SelcetDevicePop.Vi用戶選擇數據采集卡,DeviceOpen.Vi加載設備驅動程序到內存,并確定設備的類型,完成對設備的類型,完成對設備的初始化,使設備做好I/O準備工作。若設備驅動成功返回一個非0的設備句柄,若失敗則返回0。利用MAIConfig.Vi配置多通過模擬輸入所需的參數。
(2) 利用一個While循環以及MAIVohageIn.Vi將采集到的數據不停地從設備的緩存中讀出。
(3) 完成數據采集后,利用DeviceClose.Vi關閉打開的設備,如果程序出錯,提示信息顯示在Errmsg指示中。 2.3.2 波形實時顯示設計
通過LabView的Waveform Chant控件實現波形的實時顯示;旋轉位置旋鈕時可以調整波形的位置,旋轉VOLTS/DIV旋鈕時可以調整波形的幅值比例;調整SEC/DIV旋鈕時可調整波形的時間分度值。
2.3.3 數據存儲模擬設計
利用Open/Creat/Replace.Vi建立存放數據文件的路徑、格式、名稱,Write File控件把采集的數據寫入事先建好的數據文件內;Get Date/Time String控件是用來獲取每個時刻存儲數據的時間;Array To Spreadsheet String控件是把采集卡采集的數據進行格式整理,輸出到Concatenate Strings控件內,在此控件內把采集的數據再次整理,形成可回放顯示的字符串,為回放測量模塊做準備。
在程序運行開始時先設定好存儲路徑,在需要存儲時,按下存儲按鈕,便立刻對所采集的數據進行保存;當按下停止按鈕停止存儲數據,實現了數據存儲的及時存取。
2.3.4 打印輸出模塊設計
打印輸出模塊主要對圖形曲線打印。該模塊主要有New Report.Vi,Append Comtrol Image to Report.Vi,Print Report.Vi,Dispose Report.Vi四個Sub.Vi實現。New Report.Vi創建一個打印報告,Append Comtrol Image to Report.Vi.把要打印的數據映射到報告內,Print Report.Vi執行打印報告,Dispose Report.Vi執行關閉打印報告。虛擬示波器程序流程圖如圖5。
2.4 前面板設計
前面板設計模仿傳統示波器形式,利用軟件生成了顯示窗、調節按鈕、開關鍵等部件,但儀器的操作、調節均由鼠標操作完成,示波器的前面板如圖6所示。
3 結果分析
本文中的虛擬示波器設計參考HP公司的雙通四臺式數字存儲示波器HP54603B的功能,并在儀器分析和處理功能上有所擴展。本系統中的虛擬示波器與HP54603B的功能比較如表1所示。本虛擬示波器不僅具有一般臺式數字存儲示波器的功能,而且充分發揮了計算機強大的功能和軟件設計的靈活性,在顯示、參數測量、存儲等方面優于傳統示波器。其具有很好的擴展性,可以通過修改或增加軟件模塊,形成新的儀器功能。
參 考 文 獻
[1]楊樂平,李海濤.LabVIEW程序設計與應用[M].2版.北京:電子工業出版社,2004.
[2]趙全兵.虛擬儀器技術規范與系統集成[M].北京:清華大學出版社,2003.
[3]周求諶.虛擬儀器與LabVIEWTM7 Express程序設計[M].北京:北京航空航天大學出版社,2004.
[4]NI.NI DAQ User Manual for PC Compatibles[M].USA:National Instrument Corporation,2001.
[5]Jeffry Travis.Intemet Applications in LabVIEW[M].Prentice-Hall,2000.
[6] [美]Richard G Lyons.Understanding Digital Signal Processing[M].2nd Edition.Pearson Education Asia Ltd,2005.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文。