基于LabVIEW和聲卡的虛擬儀器設計與實現
本文引用地址:http://www.j9360.com/article/255832.htm

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

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

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

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

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