基于USB的音頻信號分析儀設(shè)計
摘要:為了對鐵路信號進(jìn)行分析,系統(tǒng)采用一種基于USB接口的虛擬信號分析儀實現(xiàn)方法。以FPGA為主控芯片,采用高速A/D轉(zhuǎn)換器進(jìn)行音頻信號采集,USB接口傳輸,LabVIEW平臺實現(xiàn)信號分析。具有開發(fā)成本低,便于重構(gòu)的優(yōu)點。測試結(jié)果表明,系統(tǒng)功能正常,性能穩(wěn)定。
關(guān)鍵詞:音頻分析;虛擬儀器;FPGA;USB
0 引言
音頻分析儀是一種利用頻譜分析原理,以數(shù)字信號處理為分析手段,提取信號在時域、頻域內(nèi)一系列特性的過程,是對音頻信號進(jìn)行頻率、頻譜及波形分析的一種測量工具,應(yīng)用于電聲測量、音頻制作、信號分析乃至振動測試等領(lǐng)域。
早期的音頻測量一般是利用頻率計、示波器及頻譜儀等組合成一套測試系統(tǒng)。這種測試系統(tǒng)中間環(huán)節(jié)多,各環(huán)節(jié)之間接口匹配較為困難,使用起來比較麻煩,測量結(jié)果往往也不精確。目前雖然大部分的音頻分析儀已向集成化方向發(fā)展,但仍以硬件電路實現(xiàn)傳統(tǒng)意義上的音頻分析,有著自身無法克服的缺點。為此,本文提出了一種利用虛擬儀器技術(shù)來實現(xiàn)音頻分析的設(shè)計方案。
1 系統(tǒng)總體設(shè)計
本設(shè)計采用FPGA為系統(tǒng)的主控制芯片,完成音頻信號采集,數(shù)模轉(zhuǎn)換,數(shù)據(jù)傳輸?shù)裙δ?,并在虛擬儀器軟件的基礎(chǔ)上確定了一種方便可行的音頻分析儀的設(shè)計方法。
系統(tǒng)總體設(shè)計框圖如圖1所示。音頻信號經(jīng)過前置放大器進(jìn)行放大后進(jìn)入A/D轉(zhuǎn)換器,經(jīng)過轉(zhuǎn)換得到數(shù)字信號,存入FIFO緩存區(qū),數(shù)據(jù)在FPGA主芯片中進(jìn)行編排控制,經(jīng)過USB接口傳送給計算機(jī),最后由LabVIEW來完成音頻信號的處理并顯示結(jié)果。
2 系統(tǒng)硬件設(shè)計
系統(tǒng)硬件電路的核心芯片選用Altera公司CycloneⅢ系列FPGA EP3C25,該器件密度為18萬門,最高工作頻率高達(dá)300 MHz,完全可滿足高速數(shù)據(jù)采樣速率時序要求。
2.1 前置放大電路設(shè)計
前置放大電路用于將信號放大到A/D轉(zhuǎn)換器要求的電壓范圍。為保證放大電路的性能指標(biāo),采用AD公司的高頻寬帶運放AD811為核心進(jìn)行設(shè)計,如圖2所示。AD811 3 dB帶寬高達(dá)140 MHz,并且具有2 500 V/μs的速度,差分增益誤差小于0.01%,0.01°差分相位,電流噪聲為1.9 nV。
前置放大電路的VIN為信號輸入口,U3和U4設(shè)計為反相和同相放大電路,以構(gòu)成單端輸入至差分平衡輸入轉(zhuǎn)換電路,以滿足A/D轉(zhuǎn)換器對信號形式的要求。
2.2 高速A/D轉(zhuǎn)換電路
A/D轉(zhuǎn)換電路采用TI公司的雙通道高速A/D轉(zhuǎn)換器ADS2807。ADS2807集成了高帶寬跟蹤保持電路,即使在高達(dá)或超出奈斯奎特速率的情況下,同樣具有優(yōu)秀的噪聲性能。該跟蹤保持電路和ADC電路的差動特性不僅能夠最大程度地減小偶階諧波,而且可提供優(yōu)秀的共模噪聲抑制性能。ADS2807的信噪比為65 dB,無雜散信號動態(tài)范圍為70 dB。高速A/D轉(zhuǎn)換電路如圖2所示。
2.3 USB接口
USB接口芯片選用CYPRESS公司的EZ-USBFX2芯片CY7C68013。CY7C68013有Slave FIFO和GPIF兩種接口方式,本設(shè)計采用Slave FIFO模式,F(xiàn)PGA與USB硬件接口如圖3所示。
圖中D0~D7為數(shù)據(jù)總線,用于數(shù)據(jù)傳輸;INTI為中斷標(biāo)志,當(dāng)傳輸完一組數(shù)據(jù)時產(chǎn)生一次中斷。IFCLK為外部時鐘輸入;FIFOADR[1:0]選擇四個FIFO中的一個,本設(shè)計中FIFOADR[1]直接接+3.3 V,F(xiàn)IFOADR[0]直接接地,選擇用EP6傳輸數(shù)據(jù),4倍緩存;FULL為FIFO滿狀態(tài)標(biāo)志,低電平有效;SLWR為數(shù)據(jù)寫入FIFO使能,低電平有效;FD[7:0]為8位數(shù)據(jù)線。
如上所述,系統(tǒng)選擇了FIFO的異步模式進(jìn)行數(shù)據(jù)傳輸?shù)姆绞健T贗FCLK的上升沿,如果SLWR有效(低電平有效),而數(shù)據(jù)有滿足建立保持時間,數(shù)據(jù)就被寫入FIFO,同時,若內(nèi)部控制器發(fā)現(xiàn)FIFO己滿,經(jīng)過大約為10 ns的延時,F(xiàn)ULL標(biāo)志會被置成有效。
3 系統(tǒng)軟件設(shè)計
3.1 USB固件設(shè)計
固件是在USB接口芯片加電后,由其他設(shè)備加載到CY7C68013中并在其中運行完成接口數(shù)據(jù)傳輸功能的一段程序,其作用是控制硬件來完成預(yù)期的設(shè)備功能。固件的主要功能包括:初始化工作、輔助硬件完成設(shè)備的重枚舉過程、對主機(jī)的設(shè)備響應(yīng)做出適當(dāng)?shù)捻憫?yīng)、對中斷的處理、數(shù)據(jù)的接收與發(fā)送、對外圍電路的控制。
本系統(tǒng)固件程序采用Cypress公司提供的固件程序框架,在其初始化函數(shù)中添加了用戶配置代碼。該設(shè)計中異步自動從屬FIFO數(shù)據(jù)傳輸?shù)某跏蓟a如下:
3.2 USB驅(qū)動程序設(shè)計
USB驅(qū)動程序處于應(yīng)用程序和設(shè)備端固件之間,使操作系統(tǒng)識別USB設(shè)備,并建立起主機(jī)端和設(shè)備端之間的通信。
VISA(Virtual Instrument SoftWare Architecture)是美國NI公司開發(fā)用來與各種儀器總線進(jìn)行通信的高級應(yīng)用程序編程接口(API)。它不受平臺、總線和環(huán)境的限制,可用來對USB、GPIB、串口、VXI、PXI及以太網(wǎng)等進(jìn)行配置、編程和調(diào)試。因此本系統(tǒng)利用LabVIEW的VISA來對USB的底層驅(qū)動經(jīng)行開發(fā),具體步驟如下:
(1)使用Driver Development Wizard創(chuàng)建INF文檔。
(2)安裝INF文檔,并安裝使用INF文檔的USB設(shè)備。
(3)使用NI-VISA Interactive Control對設(shè)備進(jìn)行測試。
USB底層配置正確以后,選擇VISA類為USBRaw,計算機(jī)會自動刷新選擇的USB設(shè)備,利用VISAOpen,VISA Close,VISA Write和VISA Read
四個節(jié)點即可實現(xiàn)和USB設(shè)備的雙向通信。與USB設(shè)備的通信過程分為4個步驟:
(1)由VISAOpen函數(shù)打開VISA resource name端口指定的USB設(shè)備;
(2)通過VISA Write函數(shù)向USB設(shè)備發(fā)送控制命令啟動設(shè)備工作,USB設(shè)備接收到控制命令后開始采集數(shù)據(jù)并將采集到的數(shù)據(jù)按要求發(fā)送到數(shù)據(jù)緩沖區(qū);
(3)通過VISA Read函數(shù)將數(shù)據(jù)讀出;
(4)通過VISA Close函數(shù)關(guān)閉設(shè)備。
3.3 LabVIEW程序設(shè)計
LabVIEW是美國NI公司開發(fā)的一種圖形化編程軟件,具有良好的圖形顯示功能,提供種類齊全的各種波形圖和波形圖表控件,能夠以多樣化的方式直觀地顯示各種信號波形。其次LabVIEW擁有數(shù)量眾多、功能齊全的信號分析與處理子VI,供用戶調(diào)用,從而組合實現(xiàn)出所需要的信號處理功能。同時LabVIEW具有良好的擴(kuò)展性,無論是通過附加工具包擴(kuò)展,還是通過其他平臺(如Matlab/Simulink)的接口擴(kuò)展,都能很方便地進(jìn)一步擴(kuò)展其信號處理功能。
本音頻分析儀主要包括音頻信號采集與存儲模塊,音頻信號功率譜分析模塊,音頻信號頻譜分析模塊和波形顯示模塊。其中頻譜分析采用快速傅里葉變換算法(FFT),經(jīng)過FFT變換后,可以十分直觀地觀察信號所包含的頻率信息。其中信號采集與存儲模塊,功率譜分析模塊如圖4,圖5所示。
4 系統(tǒng)測試
聯(lián)機(jī)進(jìn)行實驗測試,得出音頻分析結(jié)果如圖6所示。
從測試結(jié)果中可以直接觀察到信號的頻譜分析、諧波分析、信號功率譜以及功率譜密度等信息,實現(xiàn)了對音頻信號的分析。
5 結(jié)語
以FPGA為主控芯片的采集系統(tǒng)可實現(xiàn)對音頻信號的采集和預(yù)處理,而采用USB傳輸數(shù)據(jù)可以保證較高的帶寬和高速穩(wěn)定的傳輸速率,利用LabVIEW強(qiáng)大的信號處理能力,很好地實現(xiàn)了音頻分析儀的功能。