《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電源技術(shù) > 設(shè)計應(yīng)用 > 可用于電聲測試系統(tǒng)的專業(yè)音頻接口設(shè)計
可用于電聲測試系統(tǒng)的專業(yè)音頻接口設(shè)計
2019年電子技術(shù)應(yīng)用第1期
周靜雷,李騰飛,馮 源
西安工程大學(xué) 電子信息學(xué)院,陜西 西安710048
摘要: 針對電聲測試系統(tǒng)對低成本、高性能音頻接口的需求,設(shè)計了一種由下位機(jī)嵌入式系統(tǒng)和上位機(jī)計算機(jī)軟件組成的電聲測試系統(tǒng)專用音頻接口。音頻接口采用高速USB2.0接口傳輸音頻數(shù)據(jù),通過音頻編解碼器對音頻信號進(jìn)行D/A和A/D轉(zhuǎn)換,實現(xiàn)播放和錄音功能。經(jīng)測試音頻接口生成正弦信號的總諧波失真低于專業(yè)聲卡;信號采集通道的幅頻特性優(yōu)于專業(yè)聲卡;同步錄音功能能夠?qū)崿F(xiàn)錄音和播放完全同步。
中圖分類號: TN912.2
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.181931
中文引用格式: 周靜雷,李騰飛,馮源. 可用于電聲測試系統(tǒng)的專業(yè)音頻接口設(shè)計[J].電子技術(shù)應(yīng)用,2019,45(1):105-108.
英文引用格式: Zhou Jinglei,Li Tengfei,F(xiàn)eng Yuan. Design of professional audio interface available for electroacoustic testing system[J]. Application of Electronic Technique,2019,45(1):105-108.
Design of professional audio interface available for electroacoustic testing system
Zhou Jinglei,Li Tengfei,F(xiàn)eng Yuan
School of Electronic Information,Xi′an Polytechnic University,Xi′an 710048,China
Abstract: Aiming at low cost and high performance for audio interface requirements used in the electroacoustic testing system, a special audio interface is designed, which is composed of the slave computer embedded system and the host computer software. The audio interface uses high-speed USB2.0 interface to transmit audio data, and carries out D/A and A/D conversion through audio codec to achieve the function of playing and recording. By the test, the total harmonic distortion of sinusoidal signal generated by audio interface is lower than that of professional sound card; the amplitude frequency characteristic of the signal acquisition channel is better than that of the professional sound card; synchronous recording function enables full synchronization of recording and playing.
Key words : electroacoustic testing system;audio interface;USB;audio codec

0 引言

    電聲測試系統(tǒng)主要用于測試揚(yáng)聲器、傳聲器等產(chǎn)品的電聲性能,是電聲產(chǎn)品研發(fā)和生產(chǎn)過程中不可缺少的設(shè)備。電聲測試系統(tǒng)一般需要借助于聲卡來實現(xiàn)音頻信號的模數(shù)和數(shù)模轉(zhuǎn)換[1-2]。聲卡設(shè)計上更側(cè)重于音質(zhì)效果,聲卡的音效處理功能在電聲測試中是用不到的,使電聲測試系統(tǒng)增加了不必要的成本;一般聲卡需借助于同步協(xié)議才能完成連續(xù)掃頻測試[2]。開發(fā)電聲測試系統(tǒng)專用音頻接口,有利于提高電聲測試精度,簡化測試流程,并降低成本。本文設(shè)計的音頻接口上位機(jī)軟件使用C++程序設(shè)計語言設(shè)計,提供了接口函數(shù),可供電測量系統(tǒng)軟件調(diào)用。高速USB2.0接口通信,能夠以較快的速度傳輸音頻數(shù)據(jù)[3]。下位機(jī)以STM32F429作為主控芯片,該芯片有FMC接口,可擴(kuò)展SDRAM用于存儲音頻數(shù)據(jù)[4];使用WM8978音頻編解碼器實現(xiàn)對音頻信號的數(shù)模和模數(shù)轉(zhuǎn)換,該芯片采用了Δ-Σ技術(shù)[5],能夠?qū)崿F(xiàn)16位和24位采樣精度,最高支持192 kHz采樣率,滿足了電聲測試系統(tǒng)的需求[4-7]

1 音頻接口工作原理

    在電聲測試系統(tǒng)中,音頻接口的作用實現(xiàn)D/A和A/D轉(zhuǎn)換功能,為電聲測量儀器提供激勵信號,并將輸入的信號轉(zhuǎn)化為音頻數(shù)據(jù),供計算機(jī)軟件分析,音頻接口錄音和播放功能流程如圖1所示。下位機(jī)能夠通過識別不同采樣率、不同采樣精度、不同聲道數(shù)的wav文件對音頻編解碼器進(jìn)行配置,按上位機(jī)的要求執(zhí)行錄音或播放功能。

qrs5-t1.gif

2 音頻接口硬件設(shè)計

    如圖2所示,音頻接口由4路2通道音頻接口組成,總共有8個輸入通道和8個輸出通道,因此能夠用于揚(yáng)聲器功率試驗系統(tǒng)[8-9]等需要多通道測試的電聲測試系統(tǒng)中,軟件通過4個2位DIP開關(guān)分配的設(shè)備ID號對4路2通道音頻接口進(jìn)行區(qū)分,4路2通道音頻接口的USB接口匯總到一個USB HUB上,USB HUB通過1路USB接口與計算機(jī)相連,減少了對計算機(jī)USB接口數(shù)量的需求。

qrs5-t2.gif

    圖3是使用1路2通道音頻接口的電聲測試系統(tǒng),每個2通道音頻接口能夠?qū)崿F(xiàn)單聲道或立體聲錄音和播放,錄音和播放功能既能單獨進(jìn)行,又能同步進(jìn)行。音頻接口的主控芯片為STM32F429,通過I2C串行總線對音頻編解碼器的功能進(jìn)行設(shè)置;通過I2S內(nèi)置音頻總線與音頻編解碼器WM8978進(jìn)行音頻數(shù)據(jù)傳輸;通過ULPI接口外擴(kuò)1片USB PHY芯片USB3300,實現(xiàn)高速模式的USB2.0通信;通過FMC靈活存儲控制器接口外擴(kuò)1片內(nèi)存大小為32 MB的SDRAM芯片W9825G6KH-6,存儲音頻數(shù)據(jù)。

qrs5-t3.gif

3 音頻接口軟件設(shè)計

3.1 下位機(jī)軟件設(shè)計

    下位機(jī)軟件基于STM32標(biāo)準(zhǔn)庫設(shè)計,程序流程圖如圖4所示。實驗證明,硬件上電之后首先要延時一段時間才能對硬件進(jìn)行初始化,否則會導(dǎo)致音頻編解碼器初始化失敗,這是因為WM8978芯片上電后需要一定的時間啟動,硬件啟動之后I2C才能寫入配置命令。

qrs5-t4.gif

    硬件初始化配置如圖5所示。為了使錄音和播放能夠同步進(jìn)行,主I2S為從I2S提供時鐘,使主控芯片能夠與音頻編解碼器進(jìn)行同步全雙工通信,但是導(dǎo)致了錄音和播放的采樣率只能相同。為了不間斷地進(jìn)行錄音或播放,主I2S和從I2S都配置為DMA雙緩沖模式[6],CPU對DMA的一個緩沖區(qū)進(jìn)行讀寫時,不必停止錄音或播放,DMA可以使用另一個緩沖區(qū)。USB初始化為高速模式的USB2.0 CDC設(shè)備,USB接收音頻數(shù)據(jù)使用的是在SDRAM中申請的數(shù)據(jù)接收緩沖區(qū)。

qrs5-t5.gif

    硬件初始化完成后,下位機(jī)會等待USB連接,期間LED燈不斷閃爍。USB連接之后LED燈常亮,當(dāng)下位機(jī)接收到上位機(jī)的命令之后會根據(jù)命令值執(zhí)行相應(yīng)的功能,這些功能如下:

    (1)查詢設(shè)備狀態(tài)功能,能夠向上位機(jī)返回播放狀態(tài)、錄音狀態(tài)、設(shè)備ID號、播放音量、采樣率、采樣精度等信息。其中錄音狀態(tài)包括錄音關(guān)閉、錄音開啟、同步錄音、錄音完成4種狀態(tài),播放狀態(tài)包括播放關(guān)閉和播放開啟2種狀態(tài)。

    (2)設(shè)置采樣方式功能,設(shè)置錄音和播放的采樣精度為24位或16位,采樣率為8 kHz~192 kHz。

    (3)播放開關(guān)和錄音開關(guān)功能,從I2S使用的是主I2S的時鐘信號,這樣做可以保證錄音和播放的同步,但是造成了主I2S關(guān)閉后,從I2S不能使用的問題。解決這個問題的方法是,硬件初始化完成后,主I2S不斷發(fā)送DMA緩沖區(qū)的數(shù)據(jù)到音頻編解碼器,如果要打開播放功能,只需向主I2S的DMA緩沖區(qū)寫入音頻數(shù)據(jù)即可,如果要關(guān)閉播放功能,則寫入空數(shù)據(jù)。如果通過關(guān)閉從I2S的方法關(guān)閉錄音,會導(dǎo)致無法確定下一次從I2S開啟后,傳輸?shù)牡谝粋€數(shù)據(jù)屬于哪個輸入通道,造成錄音數(shù)據(jù)的左右聲道不確定,因此只能通過控制CPU是否讀取從I2S緩沖區(qū)數(shù)據(jù)的方式控制錄音功能的開啟或關(guān)閉,只需使用一個錄音開關(guān)標(biāo)志位就能做到這一點。

    (4)同步錄音功能,同時開啟播放和錄音功能,錄音和播放采用的是相同的時鐘信號,理論上能夠?qū)崿F(xiàn)錄音和播放的完全同步。

3.2 上位機(jī)軟件設(shè)計

    上位機(jī)軟件分為主線程和通信線程,主線程能夠查找接入計算機(jī)的USB設(shè)備,并將音頻接口的USB設(shè)備句柄添加到通信線程。主線程提供的接口函數(shù)能夠?qū)⒂脩魧υO(shè)備操作的信息發(fā)送到通信線程,通信線程根據(jù)查詢到的設(shè)備運(yùn)行狀態(tài)信息和從主線程接收的設(shè)備操作信息決定要向下位機(jī)發(fā)送的控制命令類型以及如何進(jìn)行數(shù)據(jù)傳輸。

    上位機(jī)軟件具體工作流程如圖6所示,為了實現(xiàn)熱插拔功能,上位機(jī)軟件開啟后首先向主窗體注冊USB CDC設(shè)備,上位機(jī)軟件就可以通過接收Windows操作系統(tǒng)的WM_DEVICECHANG消息識別USB插拔事件。上位機(jī)軟件通過調(diào)用libusb庫函數(shù)實現(xiàn)USB通信[10],主線程首先要初始化libusb庫,然后查找USB總線和總線上的設(shè)備,根據(jù)設(shè)備描述符篩選出音頻接口,依次打開所有的音頻接口獲得其USB設(shè)備的句柄,并查詢其設(shè)備號,通過設(shè)備號可以得知當(dāng)前句柄對應(yīng)的音頻接口通道。主線程將設(shè)備句柄和對應(yīng)的設(shè)備號傳送給通信線程,通信線程就可以對4路2通道音頻接口分別進(jìn)行操作了。最后軟件進(jìn)入等待操作狀態(tài),用戶對USB設(shè)備進(jìn)行插拔后軟件會重新查找設(shè)備。用戶通過設(shè)備接口函數(shù)進(jìn)行操作之后,主線程會將設(shè)備的操作信息發(fā)送到通信線程中。

qrs5-t6.gif

    通信線程建立后會不停地查詢設(shè)備狀態(tài)信息,判斷USB通信是否正常并查詢下位機(jī)的運(yùn)行狀態(tài)。接收到主線程的設(shè)備操作信息之后,通信線程會將其與設(shè)備狀態(tài)信息進(jìn)行對比,根據(jù)信息的不同之處,向下位機(jī)發(fā)送相應(yīng)的命令或進(jìn)行數(shù)據(jù)傳輸。這種設(shè)計方案保證了上位機(jī)和下位機(jī)運(yùn)行狀態(tài)的同步,使整個系統(tǒng)運(yùn)行更加穩(wěn)定。

4 性能測試

4.1 信號輸出性能測試

    計算機(jī)分別使用PreSonus AudioBox 1818 VSL專業(yè)聲卡和音頻接口輸出正弦信號,使用APx525音頻分析儀分別測量其總諧波失真,測量結(jié)果如圖7所示,音頻接口在整個音頻頻段輸出激勵信號的總諧波失真均低于專業(yè)聲卡,在1 000 Hz處的總諧波失真為-77 dB,而專業(yè)聲卡為-53.7 dB。

qrs5-t7.gif

4.2 信號采集性能測試

    分別將聲卡和音頻接口用于電聲測量系統(tǒng)中,采集由音頻分析儀信號源輸出的正弦信號,測量電壓如圖8所示,在10 Hz~20 kHz的范圍內(nèi),音頻接口的幅頻特性與專業(yè)聲卡類似,20 kHz以上性能優(yōu)于專業(yè)聲卡。

qrs5-t8.gif

4.3 同步錄音功能驗證

    上位機(jī)軟件讀取波形為1 kHz正弦信號,采樣率為48 000 Hz,采樣精度為16位,時長為1 s的wav文件之后,如圖9所示,在第1個和第48 000個音頻數(shù)據(jù)點處插入標(biāo)記。然后將音頻接口輸入和輸出通道相連,使用同步錄音功能直接對輸出信號進(jìn)行同步采集,采集到圖10所示的波形。圖9和圖10的標(biāo)記值在相同的位置,說明音頻接口的同步錄音功能能夠?qū)崿F(xiàn)錄音和播放完全同步。

qrs5-t9.gif

qrs5-t10.gif

5 結(jié)論

    本文設(shè)計的音頻接口與PreSonus AudioBox 1818 VSL專業(yè)聲卡相比,輸出通道的總諧波失真更低,輸入通道的幅頻特性更好,能夠?qū)崿F(xiàn)錄音和播放的完全同步,同時又具有成本低的優(yōu)點,完全可以取代專業(yè)聲卡用于電聲測量系統(tǒng)。

參考文獻(xiàn)

[1] 胡良紅.揚(yáng)聲器電聲參數(shù)綜合檢測系統(tǒng)研制[D].桂林:桂林電子科技大學(xué),2015.

[2] 郭慶,楊東奇,徐翠鋒.揚(yáng)聲器電聲參數(shù)自動測試系統(tǒng)的設(shè)計[J].科學(xué)技術(shù)與工程,2015,15(34):56-63.

[3] 馮劍鋒,張波,楊東凱.基于高速USB3300接口的FPGA數(shù)據(jù)采集器設(shè)計與實現(xiàn)[C].全國信號和智能信息處理與應(yīng)用學(xué)術(shù)會議會刊,2013.

[4] 田谞,王宏偉,其木蘇榮.基于STM32F429的音頻信號發(fā)生器[J].微型機(jī)與應(yīng)用,2014(24):87-90.

[5] 張瑜,孟慶楠,楊開宇,等.基于Δ-Σ技術(shù)和FPGA的數(shù)據(jù)采集系統(tǒng)[J].電子技術(shù)應(yīng)用,2011,37(6):141-144.

[6] 周靜雷,孫長城.基于STM32的音頻播放與記錄控制器設(shè)計[J].微處理機(jī),2017,38(1):67-70.

[7] 劉麗.嵌入式WM8960音頻驅(qū)動及多線程播放器的設(shè)計[D].哈爾濱:哈爾濱工業(yè)大學(xué),2015.

[8] 周靜雷,王浩,李倩,等.大功率揚(yáng)聲器單元的功率試驗系統(tǒng)設(shè)計[J].國外電子測量技術(shù),2018,37(5):89-92.

[9] 楊軍.關(guān)于揚(yáng)聲器功率試驗的一些新趨勢[J].電聲技術(shù),2017(Z4).

[10] 李生.基于SOPC的嵌入式數(shù)據(jù)傳輸系統(tǒng)設(shè)計[D].杭州:杭州電子科技大學(xué),2012.



作者信息:

周靜雷,李騰飛,馮  源

(西安工程大學(xué) 電子信息學(xué)院,陜西 西安710048)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。