基于PXI總線的虛擬數(shù)字示波器軟件設(shè)計
虛擬數(shù)字示波器應(yīng)用軟件設(shè)計
LabWindows/CVI是NI公司開發(fā)的基于C語言的軟件開發(fā)平臺,選用LabWindows/CVI用于虛擬示波器開發(fā)主要是基于LabWindows/CVI適用于各種測試、控制、故障分析及信息處理軟件的開發(fā),尤其是大型、復(fù)雜的測試軟件,使用LabWindows/CVI開發(fā)可獲得優(yōu)良的測試性能[3]。為方便用戶,設(shè)計的示波器面板使用方式與通用示波器無異,所有操作都與通用示波器類似,如圖2所示,它包含如下內(nèi)容:
(1) 控制設(shè)置區(qū):可由用戶控制相應(yīng)控件設(shè)置時基、量程、測量通道、觸發(fā)方式、觸發(fā)極性、觸發(fā)電平、觸發(fā)位置、觸發(fā)通道、耦合方式和是否平滑和反相顯示波形,另外還專門有一個自動設(shè)置按鈕,按下此按鈕,軟件將自動為用戶設(shè)定合適的以上參數(shù)。
(2) 波形顯示區(qū):軟面板左上部分按照標準示波器顯示規(guī)范,橫向分為10格,縱向分為8格;有可移動的兩個光標,可供用戶在波形顯示區(qū)任意拖動。
圖2示波器面板
(3) 光標及測量結(jié)果顯示區(qū):分別可顯示光標1、2位置,光標相對位置及相應(yīng)的時間/幅度差值。另外,還顯示出所測量信號的周期、頻率、峰峰值、有效值和平均值5個量值。
整個系統(tǒng)軟件總體模塊如圖3所示,主要包括:初始化模塊、結(jié)束程序模塊、控件消息處理模塊、波形數(shù)據(jù)采集處理顯示模塊、光標及測量結(jié)果顯示模塊。其中后兩部分軟件模塊嚴格說來也屬于一種特殊控件的消息處理。在CVI中有一類特殊控件稱為定時器(Timer),它在用戶界面上是隱藏的,根據(jù)預(yù)先設(shè)置的時間間隔不斷產(chǎn)生消息,利用其消息回調(diào)函數(shù)處理需要重復(fù)執(zhí)行的代碼。波形采集處理顯示程序和數(shù)據(jù)顯示程序分別為20 ms和1.2 s周期循環(huán)執(zhí)行。在執(zhí)行這兩部分循環(huán)程序的同時,如果示波器面板上有控件被操作,應(yīng)用程序?qū)⒃趦纱窝h(huán)中間處理控件消息,如需要還將調(diào)用底層驅(qū)動程序?qū)τ布M行相應(yīng)的設(shè)置,例如用戶通過鼠標改變量程控件檔位時,對該控件消息的處理是根據(jù)改變后的量程檔位設(shè)置數(shù)據(jù)采集板上模擬調(diào)理通道上相應(yīng)的衰減率。初始化模塊包括定位和開啟數(shù)據(jù)采集板、初始化用戶界面和設(shè)置相應(yīng)初始硬件參數(shù),然后可開始采集數(shù)據(jù)。另外,軟面板右下角有一個特殊按鍵“退出程序”,按下它則結(jié)束上述循環(huán),退出應(yīng)用程序。
圖3程序總框圖
要完成如圖2所示示波器功能,最終顯示波形和數(shù)據(jù),波形數(shù)據(jù)采集處理和顯示是最重要的過程。當(dāng)面板上“RUN/STOP”鍵狀態(tài)為“RUN”后,調(diào)用驅(qū)動程序開始數(shù)據(jù)采集過程,首先要根據(jù)觸發(fā)通道的不同和觸發(fā)方式的不同,選取不同的數(shù)據(jù)采集方式,同時根據(jù)用戶設(shè)置的觸發(fā)電平和觸發(fā)位置的不同也應(yīng)該選擇采集不同時間段的被測數(shù)據(jù)。得到的數(shù)據(jù)在送做顯示之前,采集回來的波形數(shù)據(jù)根據(jù)需要可能還要經(jīng)過一定的處理,如平滑、插值、防抖等。由于示波器的數(shù)字存儲功能、實時采樣特點,以及其單次觸發(fā)、滾動顯示、自動時基量程、波形停留、自動光標測量等特點,決定了此部分程序模塊時序復(fù)雜、分支龐多,是設(shè)計和調(diào)試的重點。
結(jié)束語
本文所述虛擬數(shù)字存儲示波器技術(shù)已運用在某自動測試系統(tǒng)中,其實現(xiàn)的示波器可雙通道同時工作于100MHz采樣頻率,檢測輸入范圍在10 mV~100V的信號(靈敏度為10mV)。該自動測試系統(tǒng)基于測試領(lǐng)域最先進的PXI總線技術(shù),體積小巧、使用方便,抗干擾能力強,能滿足軍用研究所、基地維修中心等需要。
評論