基于LabVIEW和聲卡的虛擬儀器設計與實現(xiàn)
本文引用地址:http://m.ptau.cn/article/255832.htm

2.3 虛擬信號發(fā)生器的程序框圖設計
程序框圖是圖形化的源代碼,前面板中的每個控件在程序框圖中都有相應的接線端與之對應,通過數(shù)據(jù)連線和不同的程序結構即可控制整個程序的流程和數(shù)據(jù)傳遞。虛擬信號發(fā)生器的程序框圖主要包括3個模塊:聲卡配置模塊、波形設置模塊和波形輸出模塊,如圖3所示。

聲卡配置模塊首先設置“配置聲音輸出”函數(shù),本設計將聲卡設置為連續(xù)采樣,每通道緩沖數(shù)和聲音格式都可以在前面板進行設置。然后將采樣信息傳輸?shù)?ldquo;波形設置模塊”,選擇所要產生波形的類型。
波形設置模塊使用條件結構選擇不同類型的波形,可以分別選擇正弦波、方波、鋸齒波、三角波、高斯白噪聲、疊加正弦波以及自定義波形。該模塊還可以設置相應的波形參數(shù),包括頻率、幅度、偏移量和方波占空比。
數(shù)據(jù)輸出模塊調用“寫入聲音輸出”函數(shù),通過聲音輸出設備輸出聲音信號。最后由“聲音輸出清零”清空緩沖區(qū),結束任務。
3 虛擬示波器設計
本文利用LabVIEW中的數(shù)字聲音記錄節(jié)點,設計并實現(xiàn)了基于聲卡的虛擬雙蹤數(shù)字存儲示波器,采樣頻率為44.1 kHz,線路輸入端口最高電壓限制為1 V,對高于1 V的信號采用比例運算放大電路衰減后輸入,能適合很多場合的需要。
設計的虛擬示波器的技術指標如下:
1)輸入頻率范圍:10~20 000 Hz;
2)通道數(shù):2;
3)采樣頻率:44.1 kHz;
4)ADC分辨率:16位。
虛擬示波器的兩個重要指標分別是分辨力(指能辨別一個物體不同部分的能力)和精度。其中分辨力包括水平分辨力和垂直分辨力,精度也包括水平和垂直兩種精度。虛擬示波器的水平分辨力是由時鐘信號采樣點的時間間隔決定的。采樣頻率越高,水平分辨力就越高。虛擬示波器的垂直分辨力是由模數(shù)轉換器的位數(shù)決定的,n位的轉換器有2-n的分辨力。因為所采用的聲卡是16位的,其在垂直方向上可以分辨出65536個數(shù)據(jù)點,分辨力為1/65536。虛擬示波器的垂直精度受模數(shù)轉換器精度的限制,一般要比分辨力低。
3.1 LabVIEW中有關聲卡信號采集的主要函數(shù)
在LabVIEW的函數(shù)選板下有“聲音”選項,在該選項下,LabVIEW提供了一系列使用Windows底層函數(shù)編寫的與聲卡有關的函數(shù),這些函數(shù)主要分為兩大模塊:聲音輸入和聲音輸出。在虛擬示波器程序設計中主要用到的是“聲音輸入”模塊,如圖4所示。

1)“配置聲音輸入”函數(shù)。該函數(shù)的作用是配置聲音輸入設備,采集數(shù)據(jù),并把數(shù)據(jù)存放到緩沖區(qū),后面使用“讀取聲音輸入”VI將數(shù)據(jù)從緩沖區(qū)讀入。
2)“讀取聲音輸入”函數(shù)。該函數(shù)的作用是將數(shù)據(jù)從緩沖區(qū)讀入。在使用該VI之前,必須使用“配置聲音輸入”VI來配置設備。
3)“聲音輸入清零”函數(shù)。一般聲音輸出設備不可共享,若在某個程序運行之前,設備已經被其他程序占用,則此應用程序不能再使用該設備,所以,在程序中一旦對聲卡使用完畢,應該立即釋放。該函數(shù)的主要作用是使設備停止聲音數(shù)據(jù)采集,清空緩存,從任務返回至默認的未配置的狀態(tài),并清空與任務相關的資源,任務變?yōu)闊o效。
3.2 虛擬示波器的前面板設計
前面板用來提供用戶與虛擬示波器的接口,通過一個友好的圖形界面,模擬傳統(tǒng)儀器操作,實現(xiàn)對虛擬示波器的控制,并且顯示數(shù)據(jù)處理結果。
本文設計的虛擬示波器的前面板如圖5所示,按照功能來分,顯示屏可以分別顯示原信號波形圖和信號的頻譜圖,波形圖開關、頻譜圖開關可以暫停畫面便于保存截圖,保存圖像按鈕可以將截圖保存為bmp圖像,通道選擇部分可以選擇單通道或是雙通道一起顯示,觸發(fā)部分可以調控信號的觸發(fā)源、觸發(fā)極性以及觸發(fā)電位,標定比率便于標定電壓,采樣數(shù)用于確定采樣精度,定位部分可以分別調節(jié)顯示精度、幅度和偏移,信息按鈕可以顯示相關制作信息。

3.3 虛擬示波器的程序框圖設計
3.3.1 總體設計
虛擬示波器的程序框圖主要包括數(shù)據(jù)采集模塊,波形顯示模塊,頻譜分析模塊,XY軸設置模塊,觸發(fā)設置模塊,圖像暫停與截圖模塊和信息顯示模塊7大部分,如圖6所示。下面結合虛擬示波器的相關功能模塊來分別介紹對應的程序框圖。

3.3.2 數(shù)據(jù)采集模塊
數(shù)據(jù)采集模塊利用聲卡數(shù)據(jù)采集函數(shù)完成聲卡采集時一些必要參數(shù)的設置,如聲卡采樣模式、采樣數(shù)、設備ID等,并將聲卡采集到的信號(已由模擬信號轉換為數(shù)字信號)傳送給波形顯示模塊。其工作流程如下:
1)使用配置聲音輸入函數(shù)確定聲卡的參數(shù)和數(shù)字聲音格式,如緩沖區(qū)大小、采樣速率、采樣模式(固定點數(shù)采樣或連續(xù)采樣)、采樣通道數(shù)、樣本位數(shù)(16 bit或8 bit),本設計的虛擬示波器采用雙通道連續(xù)采樣,采樣頻率為44100,樣本位數(shù)為16,每通道采樣數(shù)可以在前面板上設置。
2)使用讀取聲音輸入函數(shù)從緩沖區(qū)中讀取采樣數(shù)據(jù),從采集到的波形數(shù)組中選擇一個波形送到波形顯示模塊,使用while循環(huán)使采樣連續(xù)進行。
dc相關文章:dc是什么
c++相關文章:c++教程
模數(shù)轉換器相關文章:模數(shù)轉換器工作原理
負離子發(fā)生器相關文章:負離子發(fā)生器原理 離子色譜儀相關文章:離子色譜儀原理
評論