虛擬儀器技術的特點
虛擬儀器(Virtual Instrument)的概念是美國于上世紀80年代中期提出來的。這一概念的核心是以計算機作為儀器的硬件支撐,充分利用計算機的運算、存儲、回放、調用、顯示以及文件管理等智能式的功能,把傳統儀器的專業化功能軟件化,使之與PC 機結合起來融為一體,這樣便構成了一臺從外觀到功能都完全與傳統硬件儀器相同,同時又充分享用了PC 機智能資源的全新的儀器系統[3]。虛擬儀器技術是將計算機技術、儀器技術和通信技術三者的有機結合,利用良好的虛擬儀器軟件開發平臺和數據采集卡,可以在屏幕上虛擬出與傳統儀器相似的顯示面板, 用戶通過點擊這個顯示面板, 來調控虛擬儀器的性能。與傳統儀器相比,雖然虛擬儀器也需要硬件支持, 但硬件僅僅是為了解決信號的輸入輸出,軟件才是整個系統的關鍵。也正是由于軟件是虛擬儀器的關鍵,所以當基本硬件確定以后, 就可以通過不同的軟件實現不同的功能。正是因為軟件就是儀器,所以用戶可以根據自己的需要,設計自己的儀器系統,滿足多種多樣的應用要求。另一方面,利用計算機豐富的軟、硬件資源,不僅可以大大突破傳統儀器在數據的處理、表達、傳遞、儲存等方面的限制,達到傳統儀器無法比擬的效果,而且為數據的快速共享提供了可能。
基于聲卡的虛擬示波器的設計
示波器是電子實驗室最為廣泛的測量儀器之一。傳統示波器外型笨重,功能單一,一些高性能的示波器加工工藝復雜,技術要求高,價格昂貴。隨著虛擬儀器技術的發展,基于虛擬儀器技術的示波器也應運而生[4]。虛擬示波器充分利用計算機的信息處理能力,能夠實現對多路輸入信號的實時采集和存儲,并且可以進行數據的離線分析和處理。
1.硬件實現
虛擬示波器的硬件核心是數據采集卡。目前市售的數據采集卡價格與性能基本成正比,一般比較昂貴。隨著DSP(數字信號處理)技術走向成熟,PC機聲卡可以成為一個優秀的數據采集系統,其數字信號處理器包括模數轉換器(ADC)和數模轉換器(DAC),ADC用于采集音頻信號,DAC用于重現這些數字聲音,轉換率達到44.1KHz。 在采樣頻率要求不高的情況下,可以利用計算機的聲卡作為數據采集的輸入和輸出。目前,聲卡已成為多媒體計算機的一個標準配置,利用聲卡進行采樣與輸出,就不需要購買專門的采集卡可以降低虛擬儀器的開發成本,且在音頻范圍內可以完全滿足實驗要求。由于計算機在各個高校已經普及,采用聲卡研制虛擬儀器能以很低的成本、在較短的時間內更新和擴充實驗室設備,在全新的實驗平臺上開發綜合性和設計性的實驗。
麥克風的工作原理是通過聲音振動的強弱來改變其結構,以輸出強弱不等的連續電流。在前面的系統中,麥克風的作用相當于一個傳感器,它將聲音的振動信號轉換成微弱的電信號后,流入聲片的輸入端。連續電流經過聲片的A/D轉換后,被采集到系統中加以動態顯示和分析。
經過以上分析得知:聲波的振動信號是經過麥克風轉換為電信號以后輸入聲片的。這樣就為通過聲片采集電信號提供了契機。為了保護聲片,在實際應用中,應當充分估計被測信號的大小。如果被測信號的幅度很小或者很大,就不能直接進入聲片,而是先經過一個信號調理電路,對信號進行“放大或限幅、濾波”等處理,經過處理后,幅度和頻率降到一定范圍內的信號才能輸入聲片。
聲卡一般有Line In和MIC In兩個信號輸入插孔,聲音傳感器(本文采用通用的麥克風)信號可通過這兩個插孔連接到聲卡。若由MIC In輸入,由于有前置放大器,容易引入噪聲且會導致信號過負荷,實際中常使用Line In,其噪聲干擾小且動態特性良好。本文使用Line In作為輸入端,引出兩根電纜,分別與信號發生器的兩個輸出端相連接。它可以接收幅值超過1.5 V的信號。
2.軟件設計
LabVIEW是一種基于G語言的圖形化虛擬儀器開發工具,主要用于數據的采集、分析、處理和表達,總線接口、VXI儀器以及GPIB與串口儀器的驅動程序編制和虛擬儀器驅動。它與C、Pascal等傳統編程語言有著諸多相似之處,如相似的數據類型、數據流控制結構、程序調試工具等。與傳統高級編程語言最大的差別在于編程方式一般高級語言采用文本編程,而LabVIEW采用圖形化編程語言(即各種圖標、圖形符號、連線等),以框圖的形式編寫程序。采用這種圖形化的編程方式,再加上大量專業控件(Controls)和函數(Functions)的提供,使之具有極高的編程效率和優秀的編程效果。
(1)虛擬示波器的前面板設計
前面板用來提供用戶與虛擬示波器的接口,通過一個友好的圖形界面,模擬傳統儀器操作,實現對虛擬示波器的控制,并且顯示數據處理結果。本文設計的虛擬示波器前面板如所示。根據儀器的功能,在虛擬示波器前面板上設置實時圖形顯示窗口(包括波形圖、頻譜圖),數據采集配置按紐(包括聲卡初始化配置、通道配置、觸發參數配置)、波形顯示調節按紐(水平調節、垂直調節、游標顯示)、參數動態顯示按紐(波形平均值、峰峰值、頻率)、錯誤信息顯示窗口、幫助窗口、暫停按鈕、保存按鈕、回讀按紐、停止按鈕等。
(2)程序框圖設計
程序設計的原理是讓信號通過聲卡采集進虛擬器中,通過聲卡的基本設置,設置聲卡的一些基本參數,聲卡的采樣頻率不能太低,如果頻率太低,采集過程中,不能連續地采集,示波器的輸出就會中斷。聲卡采集完信號數據后,聲卡開始讀取數據,通過對數據的讀取,虛擬示波器把波形顯示出來;在波形顯示的過程中,虛擬示波器還能通過頻譜分析,對波形的幅頻和相頻分析,顯示虛擬示波器的幅頻特性和相頻特性;最后再把頻率、幅頻、相頻的數據通過數組的分析,也顯示出來。在讀取過程中,還能把虛擬示波器的周期平均、峰峰值、負峰值、正峰值、周期均方根、直流、均方根的數值也顯示出來。而聲卡的讀取過程是通過一個While循環把這所有的過程連接起來。讀取過程完后,經過聲卡的清理后,再進行下一次的讀取過程。在聲卡的讀取過程中,如果聲卡觸發有差錯的話,聲卡的讀取就會停止,聲卡直接停止,While循環也就結束了。
3.虛擬示波器的測試
虛擬示波器測試時采用了固緯(Good Will)GFG—8250A函數信號發生器作為外部模擬信號輸入,用設計的虛擬示波器顯示正弦波的波形。測試結果表明虛擬示波器采集的信號與傳統函數發生器產生的信號吻合,參數測量精確,波形控制和觸發控制響應迅速,顯示正確,說明用LabVIEW開發的虛擬示波器的結果與傳統示波器結果相一致。