基于LabVIEW和USB聲卡的直流信號采集設(shè)計
摘要:針對普通聲卡無法采集直流信號現(xiàn)狀,文中介紹了在虛擬儀器LabVIEW環(huán)境下,以CM108音頻芯片為核心,結(jié)合A/D芯片PCM1801,通過I2S數(shù)據(jù)格式傳輸實現(xiàn)直流信號采集的一種方法。
關(guān)鍵詞:USB聲卡:LahVIEW;直流信號;I2S
作為多媒體計算機的基本硬件——聲卡,其A/D轉(zhuǎn)換功能已經(jīng)成熟,而且被廣泛作為數(shù)據(jù)采集器應(yīng)用。目前主流聲卡采樣精度為16位,比普通12位的數(shù)據(jù)采集卡的采樣精度還要高,而且采樣頻率也達到44.1K,完全滿足低頻信號的采集需要。USB聲卡是近年流行起來的產(chǎn)品,其通過USB接口與計算機連接進行數(shù)據(jù)的錄制或播放,A/D功能與電腦內(nèi)置聲卡相似。用聲卡作為數(shù)據(jù)采集卡,不僅價格低廉,兼容性好、性能穩(wěn)定、通用性強,軟件特別是驅(qū)動程序升級方便,而且在LabVIEW軟件中有現(xiàn)成的驅(qū)動程序,使用起來也十分方便。但是無論是電腦聲卡還是USB聲卡,都只能接受音頻范圍(20Hz~20k Hz)內(nèi)的交流信號,不能對直流信號進行采集。這是聲卡代替專用的數(shù)據(jù)采集卡的瓶頸所在。
鑒于聲卡采集的這一局限,本文介紹了在LabVIEW軟件環(huán)境下,結(jié)合USB聲卡,通過添加外圍電路實現(xiàn)USB聲卡采集直流信號的功能,并給出了實驗測試結(jié)果。
1 硬件組成與設(shè)計
該方法的硬件設(shè)計結(jié)構(gòu)原理如圖1所示。
硬件設(shè)計主要包括USB聲卡芯片CM108外圍電路、A/D芯片PCM1801電路和信號調(diào)理電路等三部分構(gòu)成。直流信號由信號調(diào)理電路進入外置的A/D轉(zhuǎn)換器——PCM1801,把模擬信號轉(zhuǎn)變?yōu)镮2S格式的數(shù)字信號,所得數(shù)據(jù)通過I2S總線傳送給聲卡,再經(jīng)USB總線傳送到PC機進行處理、顯示,從而達到直流信號采集的功能。
1.1 信號調(diào)理電路設(shè)計
在信號采集過程中,若直接把直流信號輸入到PCM1801的模擬通道,會出現(xiàn)直流信號被“湮沒”的現(xiàn)象。因為PCM1801的模擬輸入端是采用交流耦合輸入,要使得直流信號順利輸入,必須去掉隔離電容。但去掉隔離電容,模擬輸入端的電平會發(fā)生偏移。在與信號源直接相接時,信號電平不再適合此時PCM1801的輸入電平范圍要求了。因此需要在信號輸入PCM1801之前將輸入信號電平進行平移,提高到PCM1801的輸入電平范圍內(nèi)。本文利用NE5532運算放大器對輸入信號進行電平平移操作,并提供瞬態(tài)電流隔離功能,其電路圖如圖2所示。圖中的參考電壓VREF由PCM1801內(nèi)部提供,其中NE5532采用±5V電源供電。
1.2 A/D芯片PCM1801電路設(shè)計
鑒于CM108內(nèi)部只有一個ADC,支持單聲道錄音,其I2S數(shù)據(jù)輸入也只接受單聲道的數(shù)據(jù),因此本設(shè)計采取了單通道采集。CM108內(nèi)部ADC嵌入了低通數(shù)字濾波器,當(dāng)直流信號經(jīng)過濾波器后會完全被濾掉。鑒于這一情況,本文調(diào)用外部ADC對直流信號進行采集,含有直流信號的數(shù)據(jù)由I2S總線從外部傳送CM108。I2S總線擁有3條數(shù)據(jù)線進行傳輸:1條雙向數(shù)據(jù)傳輸線,1條命令選擇線和1條時鐘線。對應(yīng)有3個主要信號:串行時鐘SCLK,命令選擇信號WS(LRCK)和串行數(shù)據(jù)SD。為了實現(xiàn)兩個不同沒備之間的數(shù)據(jù)傳輸同步,還增加一個土?xí)r鐘信號MCLK。
要實現(xiàn)直流信號的采集,ADC的選擇是關(guān)鍵本文選用了PCM1801芯片作為外部的ADC。該芯片的采佯頻率為48K,采樣位數(shù)16位,支持I2S格式數(shù)據(jù)輸出。其最大特點就是可以通過硬件設(shè)置,關(guān)閉內(nèi)部低通數(shù)字濾波器,允許直流信號通過,從而實現(xiàn)直流信號采集的功能,而且該芯片工作電壓為+5V,可南電腦USB電源提供,使用方便。設(shè)計中PCM1801工作模式設(shè)置為從模式,所需要的時鐘信號全部由CM108提供,其工作的外部電路如圖3所示。
1.3 CM108音頻芯片外圍電路設(shè)計
CM108是高集成度的USB音頻芯片,其內(nèi)部嵌入了USB2.0接口電路,可把音頻數(shù)據(jù)轉(zhuǎn)變?yōu)閁SB數(shù)據(jù)流傳送到PC機中進行相關(guān)處理。該芯片支持即插即用,PC機上無需任何驅(qū)動,十分方便。而且CM108可以通過硬件設(shè)置,關(guān)閉其內(nèi)部的ADC,調(diào)用外部的ADC,可使聲卡的采集功能得到進一步擴展,這也是本文的設(shè)計思路。CM108芯片支持16佗的I2S格式數(shù)據(jù)輸入,工作模式為主模式,能夠向外提供I2S數(shù)據(jù)傳輸?shù)臅r鐘信號。外部ADC把含有直流信號的模擬信號轉(zhuǎn)變?yōu)镮2S格式的數(shù)字信口,數(shù)據(jù)冉以I2S的數(shù)據(jù)格式傳輸?shù)紺M108內(nèi)部由USB總線傳送到PC機進仃處理和顯示。這樣含有直流信號的數(shù)字信號就可以繞過CM108內(nèi)部的低通數(shù)字濾波器而被采集到并傳到PC機、CM108芯片電源直接由PC機USB接口+5V電源提供。
2 軟件設(shè)計
考慮到USB聲卡的軟件驅(qū)動問題,本文選用NI公司LabVIEW軟件來編寫PC機采集軟件。原因在于LabVIEW軟件函數(shù)庫豐富,配有聲卡驅(qū)動節(jié)點,直接調(diào)用即可,無需再次編寫,而且開發(fā)界面簡單,圖形語言編程,編程十分方便,再加上界面風(fēng)格與傳統(tǒng)儀器相似,人機交互界面直觀友好。
鑒于以上情況,本文使用了基于LabVIEW環(huán)境下的虛擬示波器作為PC機的采集軟件。它主要實現(xiàn)了數(shù)據(jù)的采集、存儲以及實時信號的顯示,其操作界面如圖4所示,功能按鍵類似真實示波器,操作方法與其實示波器一樣。
3 測試與結(jié)果
實驗測試所需的信號由DS345信號發(fā)生器來產(chǎn)生,利用PC機上的虛擬示波器對輸入信號進行記錄、顯示以及數(shù)據(jù)的儲存。測試時,在DS345上設(shè)置波形、頻率、幅度等參數(shù)。
首先直接輸入直流信號,利用改進后的USB聲卡對其進行采集,在電腦得到的圖像如圖5所示。圖5(a)是-0.1V的直流電壓信號,圖5 (b)是+0.1V的直流電壓信號。由圖可以看到直流電壓信號很好地得到了采集,而且圖像平直,噪聲干擾影響也比較小。圖表中每一格代表電壓大小為0.1V。
設(shè)置Upp—0.2V、f—100 Hz的三角波信號,并在原信號加上0.1V的直流偏置電壓,輸出混頻信號,運行虛擬示波器程序,觀察PC機上顯示的波形。測試過程中,分別利用原電腦聲卡和改進后的USB聲卡進行采集,比較所得到兩組波形,如圖6所示。圖6(a)是電腦聲卡采集到的波形,可以看到三角波形沒發(fā)生偏移,因為電腦自身聲卡采集不到含有混頻三角波信號的直流成分;而圖6(b)是改進后USB聲卡采集得到的波形,清晰地看到三角波形向上平移了0.1V,說明實現(xiàn)了混頻三角波信號的直流成分的采集。
4 結(jié)束語
本文設(shè)計基于虛擬儀器環(huán)境下,采用LabVIEW語言編寫PC機的信號采集程序,結(jié)合USB聲卡芯片CM108,利用I2S總線通過硬件設(shè)置擴展了外部ADC——PCM1801,擴展了USB聲卡的信號采集功能。改進后的USB聲卡與普通聲卡相比,采樣頻率達到了48K,采樣精度16位,不僅采樣頻率和采樣精度得到了提高,而且也克服了直流信號被濾掉問題,初步實現(xiàn)了直流信號采集功能。同時本設(shè)計結(jié)合虛擬儀器的實驗平臺,安裝方便,成本低廉,在采集低頻低壓信號實驗中得到很好的應(yīng)用。