曾明崗,賴萬昌,毛 偉,王廣西
(成都理工大學 核技術與自動化工程學院,四川 成都 610059)
示波器是現(xiàn)今電子行業(yè)測量最常用的儀器之一。盡管隨著現(xiàn)代科學技術的發(fā)展,傳統(tǒng)的示波器從外型笨重及功能單一,發(fā)展到了現(xiàn)在功能比較復雜的數(shù)字示波器。但是由于制作工藝水平的原因,導致示波器的價格比較昂貴。虛擬儀器技術的出現(xiàn),改變了現(xiàn)狀,我們可以利用虛擬儀器技術開發(fā)出操作界面友好操作簡單實用的廉價的虛擬示波器。針對于成本問題,文中采用的聲卡代替專業(yè)數(shù)據(jù)卡對數(shù)據(jù)進行采集,開發(fā)出一款虛擬示波器,完全能應付實驗室教學。
聲卡本身就是一個很有優(yōu)秀的數(shù)據(jù)采集系統(tǒng),它同時兼有A/D和D/A轉(zhuǎn)換功能,不僅價格低廉,而且性能穩(wěn)定,靈活通用。現(xiàn)如今市面上的聲卡多的采樣位數(shù)多為16位,高級一點的聲卡的采樣位甚至達到了32位。聲卡采用左右聲道的雙聲道設計方式,可以同時采集兩路信號,當要實現(xiàn)多通道采集數(shù)據(jù)時,可以考慮采用高級一些是聲卡或者配置多塊聲卡。特別注意的是聲卡的輸入端最高電壓限制為1 V,對于高于1 V的信號可以通過衰減電路度后輸入,這樣一來就能適合多種場合的需要。
LabVIEW(laboratory virtual instrument engineering work beneh—實驗室虛擬儀器工程平臺)是美國國家儀器公司(NI公司)推出的一種基于“圖形”方式的集成化程序開發(fā)環(huán)境,它是NI司開發(fā)的面向儀器與測控過程的圖形化開發(fā)平臺,它的概念,是直觀的前面板與流程圖式的編程方法的結合。本設計中采用最新版的LabVIEW2011。系統(tǒng)軟件總體上包括數(shù)據(jù)采集、波形顯示、參數(shù)測量、頻譜分析、功率譜分析以及數(shù)據(jù)存儲和讀取、截圖。
數(shù)據(jù)采集是虛擬示波器器軟件的核心部分,文中是主要實現(xiàn)對聲卡進行數(shù)據(jù)采集的配置以及數(shù)據(jù)的獲取。利用Labview2011自帶的豐富是數(shù)據(jù)采集函數(shù) (位于Function-Programming AGaphic&Sound sound子模板中)實現(xiàn)本課題的數(shù)據(jù)采集任務。調(diào)用了Acquire.vi,configure.vi,等函數(shù)實現(xiàn)信號的采集。為了防止在連續(xù)采集過程中數(shù)據(jù)的丟失,這里設置了一個緩沖區(qū)對才具的數(shù)據(jù)進行暫存。因為對于X86系列處理器而言,在保護模式下,內(nèi)存以8KB為單位被分成很多頁。對內(nèi)存的任意訪問都是按頁進行的,CPU保證了在讀寫8 kB長度的內(nèi)存緩沖區(qū)是,速度足夠快,并且一般不會被外來事件中斷。通常設置8 192字節(jié)或者其倍數(shù)(例如32 768字節(jié))大小的緩存,可以較好的保證聲卡與CPU的協(xié)調(diào)工作。
虛擬示波器的觸發(fā)控制模塊的輸入端有兩路波形數(shù)據(jù)輸入(通道 A、通道 B)、觸發(fā)極性(正觸發(fā)、負觸發(fā))、觸發(fā)電平、觸發(fā)源輸入(立即觸發(fā)、通道A、通道B)。程序運行時,很據(jù)用戶觸發(fā)源的選擇分別執(zhí)行相應的case,該過程運用到了子程序“觸發(fā)電平.vi”。
圖1 觸發(fā)電平.vi Fig.1 Trigger level.vi
在虛擬示波器中,時基的設置是為了保證對輸入信號采集到足夠數(shù)量的采樣值,并且每個采樣值取的正確的時刻。根據(jù):
采樣速率=1/采樣間隔
采樣間隔=實際設置(s/格)/采樣點數(shù)
設置每個采樣點數(shù),即可得到時基設置值。這里設置了5 ns/格,10 ns/格,20 ns/格,50 ns/格,20 ns/格,20 ns/格,5 ms/格,10 ms/格,20 ms/格。
在測量過程中,操作者往往需要觀察信號某一段幅值的細節(jié)變化,就需要細化幅值刻度,這里設置了2 mV/格,5 mV/格 ,10 mV/格 ,20 mV/格 ,50 mV/格 ,100 mV/格 ,200 mV/格 ,500 mV/格,1 V/格,2 V/格,5 V/格。
參數(shù)測量模塊包括峰峰值、頻率以及實現(xiàn)雙通道信號采集時的相位差測量并顯示結果。
圖2 參數(shù)測量Fig.2 Parameters measurement
程序利用case結構,實現(xiàn)單通道A,單通道B以及雙通道A&B 3種顯示方式的切換。然后將處理后的波形數(shù)據(jù)按序使用Bundle節(jié)點打包直接輸入波形顯示控件Waveform Graph,實現(xiàn)單通道波形顯示。對于雙通道顯示,采用Build Array節(jié)點把兩個通道的波形數(shù)據(jù)組成一個二維數(shù)組后再送入波形顯示控件Waveform Graph,從而實現(xiàn)雙通道波形的同時顯示。
因為時域分析工具較少,對于測量時采集到的時域信號,常常轉(zhuǎn)換到頻域進行處理。信號的頻域分析,即根據(jù)信號的頻域來估計和分析信號的組成及其特征量。通常頻域分析包括頻譜分析(Spectral Measurements.VI)、功率譜分析(FFT Power Spectrum.VI)以及相干函數(shù)分析。
圖3 通道選擇Fig.3 Channel selection
為了方便事后對測量結果的分析,本軟件分別設計了獨立的存儲和回讀功能。
保存按鈕:實現(xiàn)波形數(shù)據(jù)的存盤。LabVIEW支持兩種文件類型的保存方式:流文件(Byte Steam File)和塊記錄文件(Datalog File)。流文件的優(yōu)點在于除了G語言之外,使用任何文本編輯器都可以進行查看。塊記錄是LabVIEW獨有的一種文件形式,是將數(shù)據(jù)作為由相同結構的記錄組成的一個序列來保存。每一行是一個記錄(record),每一個記錄都必須包含相同的數(shù)據(jù)結構。LabVIEW把每一個記錄作為一個簇寫入文件,記錄每一個組成元素可以使任何類型的。
數(shù)據(jù)回讀按鈕:從存儲的波形數(shù)據(jù)文件中讀取獲得歷史波形進行分析。
截圖按鈕:可以方便的捕捉到信號波形圖,方便事后快捷查看歷史波形的形狀進行初步分析。
圖4 捕捉波形Fig.4 Capture of waveform
文中采用圖形化編程語言LabVIEW和面向?qū)ο缶幊碳夹g設計出了一款虛擬示波器,不僅能具有一般示波器的功能,而且實現(xiàn)了高級示波器上才有的頻譜分析充分發(fā)揮了PC機的強大功能,軟件的擴展性強,只需要通過對軟件簡單的的升級和擴展,示波器就可瞬間變成掃描儀等,大大縮短了研發(fā)周期,同時使原有的投入的資源被遺棄,減少了不必要的浪費,可替代實驗室傳統(tǒng)的示波器進行一般的實驗教學,從能節(jié)省實驗室的傳統(tǒng)設備資金投入,擁有很好的應用前景。
[1]楊樂平.LabVIEW高級程序設計[M].北京:清華大學出版社,2003.
[2]鄭繼明.聲卡在數(shù)據(jù)采集中的應用[J].國外電子測量技術,2000(5):28-29.
ZHENG Ji-ming.Sound card application in data acquisition[J].Foretgn Electronig Measurement Technology,2000(5):28-29.
[3]楊高科.LabVIEW虛擬儀器項目開發(fā)與管理[M].北京:機械工業(yè)出版社,2012.
[4]趙海龍.給LabVIEW中的對象添加自動打印功能[J].微計算機信息,2001,17(12):32-34.
ZHAO Hai-long.Adding automatically print function for objects in LabVIEW[J].MicroComputer Information,2001,17(12):32-34.
[5]王懷興.基于Labview的示波器仿真實驗程序設計[J].湖北第二師范學院學報,2008(8):80-81+92.
WANG Huai-xing.Simulation programming of oscillograph based on Labview[J].Journal of Hubei University of Education,2008(28):80-81+92.
[6]張立學.基于LabVIEW的虛擬數(shù)字示波器設計[J].長沙大學學報,2008(5):66-68.
ZHANG Li-xue.Simulation programming of virtual digital oscillograph based on Labview[J].Journal ofChangsha University,2008(5):66-68.