徐曉東,吳乃優(yōu),韓慧蓮,張 倫
1 引言
虛擬儀器(VI-Virtual Instrument)是指通過(guò)應(yīng)用程序?qū)⑼ㄓ糜?jì)算機(jī)與功能化硬件結(jié)合起來(lái),用戶可通過(guò)友好的圖形界面來(lái)操作這臺(tái)計(jì)算機(jī),就像在操作自己定義、設(shè)計(jì)的一臺(tái)單個(gè)儀器,從而完成對(duì)被測(cè)試量的采集、分析、判斷、顯示、數(shù)據(jù)存儲(chǔ)等功能。虛擬儀器是由用戶定義、自由組合計(jì)算機(jī)平臺(tái)、硬件、軟件以及組成系統(tǒng)所需的附件。而這在由供應(yīng)商定義、功能固定、獨(dú)立的傳統(tǒng)儀器上是做不到的。
2 虛擬儀器的構(gòu)成
虛擬儀器由硬件和軟件兩部分組成。從構(gòu)成要素講,虛擬儀器系統(tǒng)是由計(jì)算機(jī)、應(yīng)用軟件和儀器硬件組成的。為計(jì)算機(jī)配置的電子測(cè)量?jī)x器硬件模塊是各種傳感器、信號(hào)調(diào)理器、模擬數(shù)字/轉(zhuǎn)換器(ADC)、數(shù)字/模擬轉(zhuǎn)換器(DAC)、數(shù)據(jù)采集器(DAQ)等。計(jì)算機(jī)及其配置的測(cè)量?jī)x器硬件模塊組成了虛擬儀器測(cè)試硬件平臺(tái)的基礎(chǔ)。從構(gòu)成方式講,有以DAQ板和信號(hào)調(diào)理部分為硬件來(lái)組成的PC-DAQ測(cè)試系統(tǒng),以GPIB、VXI、串行總線為基礎(chǔ)的現(xiàn)場(chǎng)總線系統(tǒng)等。系統(tǒng)構(gòu)成如圖1所示。
圖1 虛擬儀器體系結(jié)構(gòu)圖
無(wú)論哪種虛擬儀器系統(tǒng),都是將硬件儀器搭載到筆記本電腦、臺(tái)式計(jì)算機(jī)或工作站等各種計(jì)算機(jī)平臺(tái)上,再加上應(yīng)用軟件而構(gòu)成的。因而,虛擬儀器的發(fā)展已經(jīng)與計(jì)算機(jī)技術(shù)的發(fā)展完全同步。與傳統(tǒng)儀器相比,虛擬儀器在智能化程度、處理能力、性價(jià)比、可操作性等方面都具有明顯的優(yōu)勢(shì)。儀器技術(shù)和計(jì)算機(jī)技術(shù)的深層次的結(jié)合創(chuàng)造了虛擬儀器的概念,將計(jì)算機(jī)資源(處理器、存儲(chǔ)器、顯示器等)和通用儀器硬件(A/D、D/A變換器、數(shù)字輸入/輸出、定時(shí)和信號(hào)處理器等)與用于數(shù)據(jù)分析、過(guò)程通訊及用戶圖形界面的軟件有效地結(jié)合起來(lái)。由此提出了“軟件就是儀器”的口號(hào)。虛擬儀器應(yīng)用軟件主要有三個(gè)目的:① 提供一個(gè)集成的開(kāi)發(fā)環(huán)境;② 一個(gè)與儀器硬件的高級(jí)接口;③ 一個(gè)與虛擬儀器用戶的接口。在虛擬儀器系統(tǒng)中,計(jì)算機(jī)可成為一部多功能的智能化的測(cè)試系統(tǒng),除保持計(jì)算機(jī)原有的一切功能外,還可兼有數(shù)字存儲(chǔ)示波器、FFT頻譜分析儀、集成在線測(cè)試儀、智能信號(hào)發(fā)生器、邏輯分析儀及高精度頻率計(jì)等功能,使計(jì)算機(jī)在時(shí)域、頻域、數(shù)據(jù)域、IC測(cè)試及信號(hào)產(chǎn)生、信號(hào)分析方面的功能大大擴(kuò)展,其測(cè)試功能已非傳統(tǒng)儀器所能比。
本虛擬儀器系統(tǒng)主要用來(lái)實(shí)現(xiàn)數(shù)字存儲(chǔ)式示波器和頻譜分析儀等功能。系統(tǒng)的基本工作原理是對(duì)模擬信號(hào)進(jìn)行數(shù)據(jù)采集后存入數(shù)據(jù)文件,根據(jù)使用者的不同要求由軟件對(duì)數(shù)據(jù)進(jìn)行相應(yīng)分析、處理,最終在屏幕上顯示處理結(jié)果。
3 通用測(cè)試系統(tǒng)工作原理
本套系統(tǒng)的數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)如圖2所示。傳感器(或前端采集設(shè)備)把物理信號(hào)轉(zhuǎn)換成電信號(hào)(電壓或電流),例如熱電偶(溫度/電壓)、微音器(壓強(qiáng)/電壓)等。信號(hào)調(diào)理裝置能夠?qū)ξ⑷跣盘?hào)進(jìn)行放大、光電隔離、濾波等處理,以便更精確和更安全的測(cè)量,同時(shí)它還能夠激發(fā)和線性化某些傳感器及其信號(hào)。當(dāng)輸入信號(hào)被適當(dāng)調(diào)理后,即可輸給插入式數(shù)據(jù)采集卡進(jìn)行數(shù)字化。同時(shí)它也能產(chǎn)生控制信號(hào)。數(shù)據(jù)采集卡的程序設(shè)計(jì)依靠驅(qū)動(dòng)軟件進(jìn)行了簡(jiǎn)化,因而可以運(yùn)用傳統(tǒng)語(yǔ)言來(lái)設(shè)計(jì)(本系統(tǒng)運(yùn)用VC++6.0直接控制數(shù)據(jù)采集卡采集數(shù)據(jù))。計(jì)算機(jī)的性能決定了整個(gè)采集過(guò)程的速度。高速的處理器和協(xié)處理器或插入式輔助處理器,如DSP(Data Signal Process)芯片,對(duì)于實(shí)時(shí)采集系統(tǒng)是非常重要的。
圖2 基于PC-DAQ的數(shù)據(jù)采集系統(tǒng)結(jié)構(gòu)圖
3.1 硬件部分
系統(tǒng)硬件部分主要由數(shù)據(jù)采集系統(tǒng)組成。本系統(tǒng)是一個(gè)基于PCI總線的數(shù)據(jù)采集與處理系統(tǒng)。在軟件界面中設(shè)置好增益倍數(shù)、采樣頻率、采樣深度等參數(shù)后,可以輸入兩路模擬信號(hào),信號(hào)經(jīng)過(guò)增益控制電路后,送入低通濾波電路,對(duì)高頻噪聲進(jìn)行抑制,再經(jīng)過(guò)采樣保持電路和相互獨(dú)立的同步的A/D轉(zhuǎn)換電路,輸出8bit/Sample的數(shù)據(jù)且自動(dòng)存入FIFO RAM中,直到采樣結(jié)束,F(xiàn)IFO RAM發(fā)出結(jié)束信號(hào),通知計(jì)算機(jī)停止A/D轉(zhuǎn)換并進(jìn)行讀數(shù)據(jù)操作。
(1) 前端預(yù)處理電路 前端預(yù)處理電路包括增益控制電路、低通濾波電路。低通濾波電路起抑制高頻噪聲及對(duì)信號(hào)預(yù)處理功能。因?yàn)闀r(shí)域采樣引起頻譜的周期延拓,當(dāng)輸入信號(hào)頻譜中有高于1/2倍采樣頻率的成分,將引起信號(hào)頻譜的混迭,所以要先濾去信號(hào)中高于1/2倍采樣頻率的成分。這樣雖然會(huì)產(chǎn)生一定的波形失真,但有助于后續(xù)的信號(hào)分析和處理。
(2) 同步采樣轉(zhuǎn)換系統(tǒng) 要精確取得信號(hào)的幅度值和相位值,就必須采用兩個(gè)相互獨(dú)立的通道進(jìn)行采樣,而不能采用普通的多通道ADC芯片,因?yàn)檫@種芯片內(nèi)部一般只有一組AD轉(zhuǎn)換核心,而用分時(shí)采樣的辦法使其具有多通道的功能,每個(gè)通道之間必然存在相位差。本系統(tǒng)中每個(gè)通道用一片ADC芯片,兩個(gè)芯片的啟動(dòng)端由同一采樣信號(hào)控制,采用軟件啟動(dòng),采樣頻率可調(diào)。
(3) 數(shù)據(jù)存儲(chǔ)模塊 若采用軟件查詢的方式進(jìn)行每個(gè)樣點(diǎn)的采集,速度上可能達(dá)不到要求,所以采用硬件控制采樣過(guò)程,軟件提供采樣啟動(dòng)及結(jié)束信號(hào)。
(4) 時(shí)鐘發(fā)生模塊 本部分包括20MHz的振蕩電路及可編程分頻器,以產(chǎn)生一定范圍的采樣頻率。由于最低采樣頻率要求為幾K,分頻器的分頻數(shù)N最大要達(dá)到約幾萬(wàn),這里使用一個(gè)16位的分頻器,可由四個(gè)4位計(jì)數(shù)器級(jí)聯(lián)而成。這樣最低采樣頻率可達(dá)20M/216=0.3KHz,而且能得到2~65536之間可預(yù)置的任意分頻采樣時(shí)鐘。
(5) 計(jì)算機(jī)接口模塊 為通用計(jì)算機(jī)開(kāi)發(fā)的插卡在工業(yè)控制領(lǐng)域主要采用STD總線以及VME總線,應(yīng)用于數(shù)據(jù)處理及一般用途的設(shè)計(jì)主要采用 ISA 或PCI總線。在PC機(jī)方面,從低檔機(jī)到高檔機(jī)一般都配有ISA總線,而PCI總線一般應(yīng)用于486以上的機(jī)型。相比之下PCI總線的優(yōu)勢(shì)主要體現(xiàn)在傳輸速率上,可以達(dá)到33Mbps,所以本測(cè)試系統(tǒng)接口采用了PCI總線。
3.2 軟件部分
軟件的功能除了設(shè)計(jì)儀器面板外,最主要的就是進(jìn)行數(shù)據(jù)分析和處理,并在面板上顯示處理結(jié)果。系統(tǒng)軟件部分主要由數(shù)據(jù)采集模塊、數(shù)據(jù)分析模塊和數(shù)據(jù)顯示模塊三部分構(gòu)成。
數(shù)據(jù)采集模塊 負(fù)責(zé)驅(qū)動(dòng)儀器采集模擬信號(hào)并進(jìn)行模數(shù)轉(zhuǎn)化,并實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)的采集過(guò)程。
數(shù)據(jù)分析模塊 對(duì)數(shù)據(jù)采集模塊采集來(lái)的數(shù)據(jù)進(jìn)行專業(yè)處理,如計(jì)算波峰和面積、分析入流和出流時(shí)間等,并能將結(jié)果輸出。可提供的功能還有頻譜分析功能(幅頻譜、相頻譜、功率譜等)及各種濾波功能。在測(cè)量結(jié)果的數(shù)據(jù)處理、表達(dá)模式及其變換方面也做了許多函數(shù)庫(kù),建立了數(shù)據(jù)處理的高級(jí)分析庫(kù)和開(kāi)發(fā)工具庫(kù),因此本系統(tǒng)可以組建極為復(fù)雜的自動(dòng)測(cè)試系統(tǒng)。此外,如果輸入模擬信號(hào)是一隨機(jī)信號(hào)的話,可以用軟件實(shí)現(xiàn)各種相關(guān)性分析功能,比如計(jì)算信號(hào)的自相關(guān)、互相關(guān)、自協(xié)方差、互協(xié)方差等函數(shù)。只要適當(dāng)增加軟件的功能,系統(tǒng)還可以成為瞬態(tài)信號(hào)捕捉儀、波形仿真器等一系列信號(hào)分析儀器。對(duì)采樣數(shù)據(jù)進(jìn)行數(shù)字濾波處理,采用的濾波方法有程序判斷法中的限速濾波和限幅濾波、中值濾波、算術(shù)平均濾波、滑動(dòng)濾波等。
數(shù)據(jù)顯示模塊 完成數(shù)據(jù)分析后的顯示,顯示面板可提供用戶直觀的曲線圖表等。
由于測(cè)試儀器完成的數(shù)據(jù)處理功能繁雜,要求運(yùn)算速度要快,所以本軟件系統(tǒng)采用可視化編程語(yǔ)言VC++并配合Matlab軟件仿真,同時(shí)也利用VC++自己開(kāi)發(fā)了一些動(dòng)態(tài)鏈接庫(kù)(.dll)和ActiveX控件,增強(qiáng)了軟件系統(tǒng)的可重復(fù)使用性。同時(shí)也易于組建、修改及管理。
4 結(jié)語(yǔ)
本文運(yùn)用計(jì)算機(jī)軟硬件技術(shù)來(lái)組建虛擬儀器,開(kāi)發(fā)了基于PCI總線的虛擬儀器硬件板卡,并運(yùn)用VC++語(yǔ)言開(kāi)發(fā)了相關(guān)ActiveX控件及數(shù)據(jù)分析功能動(dòng)態(tài)鏈接庫(kù),最后利用這些自己設(shè)計(jì)的軟硬件實(shí)現(xiàn)了任意信號(hào)發(fā)生器、虛擬示波器、頻譜分析儀等功能,從而證實(shí)了這種開(kāi)發(fā)方法的優(yōu)越性及其實(shí)現(xiàn)途徑的可行性。
參考文獻(xiàn):
[1] Ning Jim Q. A component-based software development model[C]. 1996 IEEE, Annual International Computer Software & Applications Conference, 1996,389~394.
[2] Pasquarette John. Building virtual instruments with OLE controls[J]. Evaluation Engineering, 1996,(2):22~25.
[3] LabVIEW User Manual.National Instruments Corporation,1996.
[4] 林正盛. 虛擬儀器技術(shù)及其發(fā)展[J]. 國(guó)外電子測(cè)量技術(shù), 1997,(2)