<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 虛擬數(shù)字示波器的設(shè)計與實現(xiàn)

          虛擬數(shù)字示波器的設(shè)計與實現(xiàn)

          作者: 時間:2006-05-07 來源:網(wǎng)絡(luò) 收藏

          摘 要: 結(jié)合一個虛擬數(shù)字的設(shè)計開發(fā),介紹了虛擬儀器的基本組成,并重點介紹了基于圖形化編程語言LabVIEW的虛擬儀器編程方法與實現(xiàn)技術(shù)。

          本文引用地址:http://www.ex-cimer.com/article/255642.htm

          關(guān)鍵詞: 虛擬儀器 數(shù)字 LabVIEW

          隨著計算機技術(shù)的發(fā)展,傳統(tǒng)儀器開始向計算機化的方向發(fā)展。虛擬儀器是90年代提出的新概念。虛擬儀器技術(shù)的提出與發(fā)展,標志著二十一世紀自動測試與電子測量儀器領(lǐng)域技術(shù)發(fā)展的一個重要方向。所謂虛擬儀器,就是在通用的計算機平臺上定義和設(shè)計儀器的測試功能,使用者操作這臺計算機,就象是在使用一臺專門設(shè)計的電子儀器。

          傳統(tǒng)臺式儀器是由儀器廠家設(shè)計并定義好功能的一個封閉結(jié)構(gòu),它有固定的輸入/輸出接口和儀器操作面板,每種儀器實現(xiàn)一類特定的測量功能,并以確定的方式提供給用戶。從一般的儀器設(shè)計模型看,一種儀器無非是由數(shù)據(jù)采集、分析處理、人機交互和顯示等幾部分功能模塊組成的整體。因此,我們可以設(shè)想在必要的數(shù)據(jù)采集硬件和通用計算機支持下,通過軟件設(shè)計實現(xiàn)儀器的全部功能,這就是虛擬儀器設(shè)計的核心。與傳統(tǒng)儀器相比,虛擬儀器除了在性能、易用性、用戶可定制性等方面具有更多優(yōu)點外,在工程應(yīng)用和社會經(jīng)濟效益方面也具有突出優(yōu)勢。一方面,目前我國高檔臺式儀器如數(shù)字、頻譜分析儀、邏輯分析儀等還主要依賴進口,這些儀器加工工藝復雜、對制造水平要求高,生產(chǎn)突破有困難,采用虛擬儀器技術(shù)可以通過只采購必要的通用數(shù)據(jù)采集硬件來設(shè)計自己的儀器系統(tǒng);另一方面,用戶可以將一些先進的數(shù)字信號處理算法應(yīng)用于虛擬儀器設(shè)計,提供傳統(tǒng)臺式儀器不具備的功能,而且完全可以通過軟件配置實現(xiàn)多功能集成的儀器設(shè)計。因此,可以說虛擬儀器代表了未來測量儀器設(shè)計發(fā)展的方向。

          虛擬儀器技術(shù)目前在國外發(fā)展很快,以美國國家儀器公司(NI公司)為代表的一批廠商已經(jīng)在市場上推出了基于虛擬儀器技術(shù)而設(shè)計的商品化儀器產(chǎn)品。數(shù)字示波器是在科學研究和工程設(shè)計中廣泛應(yīng)用的一種通用儀器。下面結(jié)合一個虛擬數(shù)字示波器的設(shè)計開發(fā)具體介紹虛擬儀器的基本組成和基于圖形化編程語言LabVIEW的虛擬儀器編程方法與實現(xiàn)技術(shù)。

          1 虛擬示波器的結(jié)構(gòu)與組成

          本虛擬數(shù)字示波器主要由一塊PCI總線的多功能數(shù)據(jù)采集卡和相應(yīng)的軟件組成。將它們安裝在一臺運行Windows95/98/NT的PC機上(建議配置在PENTIUMⅡ/233以上),即構(gòu)成一個功能強大的可存儲數(shù)字示波器。該數(shù)字示波器操作與顯示主面板如圖1所示。

          1.1 數(shù)據(jù)采集卡

          PCI總線傳輸速率高數(shù)據(jù)吞吐量大是今后數(shù)據(jù)采集板卡設(shè)計的主流。本設(shè)計采用的PCI-1200數(shù)據(jù)采集卡是一塊性價比較好的產(chǎn)品,支持DMA方式和雙緩沖區(qū)模式,保證了實時信號不間斷采集與存儲。它支持單極和雙極性模擬信號輸入,信號輸入范圍分別為-5~+5V和0~10V。提供16路單端/8路差動模擬輸入通道、2路獨立的DA輸出通道、24線的TTL型數(shù)字I/O、3個16位的定時計數(shù)器等多種功能。這些功能使得我們不僅可以用該卡設(shè)計虛擬示波器,也可以設(shè)計虛擬函數(shù)發(fā)生器或虛擬計數(shù)器,做到一卡多用。當然,限于經(jīng)費條件,我們選擇的PCI-1200卡的采樣速率只能達到100kS/s,對實際示波器而言,這遠不能滿足信號帶寬的要求。目前市場上采樣速率達200MS/s的PCI數(shù)據(jù)采集卡已有成熟產(chǎn)品,技術(shù)上實現(xiàn)高帶寬的虛擬示波器不存在問題。實際測量時輸入信號通過BNC接頭從輸入端子進入數(shù)據(jù)采集卡進行采集。

          1.2 儀器功能

          本虛擬數(shù)字示波器設(shè)計參考了HP公司的雙通道臺式數(shù)字存儲示波器HP54603B的功能,并在儀器分析和處理功能上有所擴展。儀器主要功能包括:雙通道信號輸入、觸發(fā)控制、通道控制、時基控制、波形顯示、參數(shù)自動測量、頻譜分析、波形存儲和回放等。本虛擬數(shù)字示波器還提供網(wǎng)絡(luò)接口,允許通過TCP/IP協(xié)議實現(xiàn)網(wǎng)絡(luò)儀器共享或遠程控制。表1是本虛擬數(shù)字示波器與HP54603B的功能對照表。

          由表1可以看出,除了由于經(jīng)費原因使得所選數(shù)據(jù)采集卡采樣速率低于HP54603B外,本虛擬示波器在顯示、測量、分析、存儲和外部連接等方面的功能都不低于甚至高于HP54603B

          2 軟件的設(shè)計與實現(xiàn)

          2.1 軟件開發(fā)環(huán)境

          虛擬數(shù)字示波器軟件設(shè)計采用了先進的圖形化編程語言工具LabVIEW 5.1 for Windows98/NT。LabVIEW編程的主要特點就是將虛擬儀器分解為若干基本的功能模塊(相當于硬件設(shè)計中的集成電路),模塊的引腳代表輸入/輸出接口。編程者可以通過交互式手段,采用圖形化框圖設(shè)計的方法,完成虛擬儀器的邏輯和測量分析功能設(shè)計。圖2是虛擬數(shù)字示波器頻譜分析模塊程序。

          由圖2可以看出,LabVIEW程序設(shè)計過程與人們設(shè)計儀器的思維過程十分相近,程序框圖就實現(xiàn)了程序代碼功能,避免了一般程序設(shè)計從框圖構(gòu)思到程序表示的繁瑣。LabVIEW編程的另一個優(yōu)點是將軟件的界面設(shè)計與功能設(shè)計獨立開來,修改人機交互界面無需對整個程序進行調(diào)試,這對設(shè)計像儀器操作面板這樣復雜的人機界面而言是十分方便的。LabVIEW還為用戶提供了函數(shù)擴展功能,利用LabVIEW中的Code Interface Node(CIN),可以調(diào)用用C等傳統(tǒng)編程語言寫的程序代碼;利用LabVIEW中的Call Library Function可以調(diào)用標準動態(tài)鏈接庫(.DLL)。總之,LabVIEW 作為圖形化編程語言環(huán)境,為虛擬儀器開發(fā)提供了一種快捷、方便和功能強大的軟件工具。

          2.2 主要功能模塊

          概括地講,虛擬示波器主要由軟件控制完成信號的采集、處理和顯示。系統(tǒng)軟件總體上包括數(shù)據(jù)采集、波形顯示、參數(shù)測量、頻譜分析及波形存儲和回放等五大模塊,其功能結(jié)構(gòu)框圖如圖3所示。

          2.2.1 數(shù)據(jù)采集模塊

          數(shù)據(jù)采集模塊主要完成數(shù)據(jù)采集的控制,包括觸發(fā)控制、通道選擇控制、時基控制等。其中:

          ·觸發(fā)控制包括觸發(fā)模式、觸發(fā)斜坡、觸發(fā)電平控制;

          ·通道選擇主要控制單通道或雙通道測量;

          ·時基控制主要控制采集卡掃描率、每一通道掃描次數(shù)(取樣數(shù))。

          2.2.2 波形顯示模塊

          軟件提供了三種波形顯示模式:

          ·A B A&B模式:通過顯示通道選擇按鍵摚翑和摚聰,可以任意顯示某一通道或兩通道輸入信號的波形;

          ·X Y模式:當兩通道都處于選通狀態(tài)時,使用此模式來顯示李沙育(Lissajous)圖形、測量相位差或頻率;

          ·A+B A-B模式:當兩通道都處于選通狀態(tài)時,使用此模式來顯示兩通道信號代數(shù)相加、相減后的波形。

          2.2.3 參數(shù)測量模塊

          參數(shù)測量模塊主要模擬HP54603B的參數(shù)測量功能,完成包括Vrms等12個電壓參數(shù)和頻率、周期等7個時間參數(shù)的測量并顯示其測量結(jié)果。

          2.2.4 頻譜分析模塊

          頻譜分析模塊采用快速FFT算法,完成頻域信號分析??蓪崿F(xiàn)的頻譜分析控制包括:

          ·Windows選擇,提供了9種頻譜分析窗口;

          ·Log/Linear選擇,提供了2種坐標顯示模式;

          ·Display Unit選擇,提供了8種單位。

          2.2.5 數(shù)據(jù)存儲和回放模塊

          按鍵撔磁虜控制是否進行數(shù)據(jù)存儲按鍵摱僚虜控制是否從數(shù)據(jù)文件中讀取數(shù)據(jù)。主面板提供了兩個文件名輸入框,前一個為信號波形數(shù)據(jù)文件名輸入框,后一個為采樣周期文件名輸入框,這兩個文件由寫盤功能和讀盤功能共用。從軟盤或硬盤上讀取的數(shù)據(jù)同實時采集的數(shù)據(jù)一樣,能夠進行自動參數(shù)測量以及顯示波形并保留在顯示窗口(顯示模式可以設(shè)置為三種模式中的任意一種),還可以根據(jù)需要設(shè)置進行頻譜分析。

          2.3 主要控制結(jié)構(gòu)

          2.3.1 測量控制結(jié)構(gòu)

          通過邏輯按鍵“測量”控制是否進行測量;通過邏輯按鍵“通道”控制通道選擇。

          2.3.2 自動調(diào)整掃描率控制結(jié)構(gòu)

          由邏輯按鍵組“自動”、“手動”來控制是自動調(diào)整掃描率還是手動調(diào)整掃描率。

          2.3.3 正常顯示、記憶顯示控制結(jié)構(gòu)

          由雙功能邏輯驅(qū)動鍵“正常/記憶”控制,缺省為正常顯示。處于正常狀態(tài)時,最多只能顯示A、B兩通道輸入的2個信號的波形;處于記憶狀態(tài)時,最多可以記憶顯示A、B兩通道輸入的17個信號的波形(A通道可記憶顯示16組信號數(shù)據(jù),B通道只能記憶顯示1組信號數(shù)據(jù))。在實際應(yīng)用中,記憶顯示功能主要用于測量信號的抖動情況或比較分析兩個以上的信號波形。

          本文介紹的虛擬數(shù)字示波器不僅具有一般臺式數(shù)字存儲示波器的功能,而且充分發(fā)揮了微機強大的功能和軟件設(shè)計的靈活性,主要技術(shù)特點表現(xiàn)在:

          (1)采用圖形化編程語言LabVIEW和面向?qū)ο缶幊碳夹g(shù),軟件開發(fā)效率高,可操作性和可維護性好;

          (2)為數(shù)字存儲示波器增加了頻域分析功能;

          (3)充分利用了計算機的存儲與外設(shè)連接的能力,測量結(jié)果和波形可直接打印輸出或通過網(wǎng)絡(luò)共享;

          (4)硬件具有開放性,允許通過升級硬件來提高其性能;

          (5)在相同硬件條件下,可以通過修改或增加軟件模塊,形成新的儀器功能。

          虛擬儀器設(shè)計已經(jīng)成為測試與儀器技術(shù)發(fā)展的一個重要方向。隨著高速A/D芯片和電路的進一步集成化,可以設(shè)想在不遠的將來,一臺安裝有虛擬儀器軟件的標準微機成為一個多功能的測量儀器站,從根本上改變目前專用儀器的研制和生產(chǎn)方式,具有廣闊的應(yīng)用前景和巨大的潛在經(jīng)濟效益。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();