當(dāng)前位置:歐亞貿(mào)易網(wǎng) > 技術(shù)中心 > 所有分類
2 虛擬儀器軟件開發(fā)工具LabVIEW介紹
LabVIEW是一種基于G語言(Graphical programming language)的可視化(圖形化)優(yōu)秀開發(fā)平臺,主要用于數(shù)據(jù)的采集、分析、處理和表達(dá),總線接口、VXI儀器以及GPIB與串口儀器的驅(qū)動程序編制和驅(qū)動虛擬儀器。它與C、Pascal等傳統(tǒng)編程語言有著諸多相似之處,如相似的數(shù)據(jù)類型、數(shù)據(jù)流控制結(jié)構(gòu)、程序調(diào)試工具等。與傳統(tǒng)編程語言的區(qū)別是LabVIEW使用圖形語言(即各種圖標(biāo)、圖形符號、連線等),以框圖的形式編寫程序。
一個(gè)LabVIEW程序包括三個(gè)主要部分:前面板、框圖程序、圖標(biāo)/接線端口。前面板是交互式圖形化用戶界面,用于設(shè)置輸入數(shù)值和觀察輸出量。框圖程序是利用圖形語言對前面板的控制量和指示量進(jìn)行控制。圖標(biāo)/接線端口用于把LabVIEW程序定義成一個(gè)子程序,以便在其它程序中加以調(diào)用[1]。
3 虛擬示波器的設(shè)計(jì)與實(shí)現(xiàn)
本虛擬數(shù)字示波器主要由普通的聲卡和相應(yīng)的軟件組成。其操作與顯示主面板如圖1所示。
圖1 虛擬示波器前面板圖
3.1數(shù)據(jù)采集的實(shí)現(xiàn)
在一塊聲卡上有晶振、AD/DA轉(zhuǎn)換芯片和數(shù)字信號處理芯片及其他輔助電路。因此,它可以作為數(shù)據(jù)采集卡使用,不過被采信號的頻率被限制在音頻范圍之內(nèi)。設(shè)定了采樣頻率、采樣位數(shù)、緩沖區(qū)大小之后,再利用聲卡的DMA方式進(jìn)行數(shù)據(jù)采集工作[2]。本文在LabVIEW環(huán)境下,借助硬件驅(qū)動程序?qū)β暱ǖ牟蓸宇l率、采樣位數(shù)、緩沖區(qū)大小等分別進(jìn)行控制,根據(jù)用戶的需要調(diào)整波形顯示,進(jìn)行波形分析,從而構(gòu)成功能*的虛擬存儲示波器。
本虛擬示波器所能測量的信號全部為弱電,大約為1 VAC以下的信號(一般由聲卡的性能決定),如果需要測量更大的信號,需要將信號衰減到量程以內(nèi)。
3.2 軟件設(shè)計(jì)
虛擬示波器主要由軟件控制完成參數(shù)的設(shè)置,信號的采集、處理和顯示。系統(tǒng)軟件總體上包括音頻參數(shù)的設(shè)置,音頻信號的采集、波形顯示、頻譜分析及波形存儲和回放等五大模塊,功能結(jié)構(gòu)框圖如圖2所示。
3.2.1 音頻格式設(shè)置模塊
由于本軟件設(shè)置了一塊聲卡,所以只能實(shí)現(xiàn)單蹤數(shù)字示波器。本模塊主要完成對聲卡采樣頻率、采樣位數(shù)、緩沖區(qū)大小等參數(shù)的設(shè)置。其中:
·采樣頻率(Hz):8000、11025、22050、44100
·采樣位數(shù):8位、16位
3.2.2 數(shù)據(jù)采集模塊
LabVIEW環(huán)境下的功能模板中提供了聲卡的相關(guān)VIs,如SI Config、SI Start、SI Read、SI Stop等。當(dāng)設(shè)定好聲卡的音頻格式并啟動了聲卡后,聲卡就可以實(shí)現(xiàn)數(shù)據(jù)采集,采集到的數(shù)據(jù)通過DMA傳送到內(nèi)存中指定的緩沖區(qū),當(dāng)緩沖區(qū)滿后,再通過查詢或中斷機(jī)制通知CPU執(zhí)行顯示程序顯示緩沖區(qū)數(shù)據(jù)的波形。數(shù)據(jù)采集的部分G代碼如圖3所示。
圖3 數(shù)據(jù)采集的部分G代碼
3.2.3 波形顯示和頻譜分析模塊
通過幅值和基準(zhǔn)時(shí)間兩個(gè)旋鈕分別實(shí)現(xiàn)波形橫縱坐標(biāo)的變化范圍。頻譜分析測量音頻信號的、最小幅值和頻率。采用快速FFT算法,完成頻域信號分析,顯示自功率譜波形。