在嵌入式系統(tǒng)中,越來越需要提供高保真音頻而不是蜂鳴器來實(shí)現(xiàn)用戶反饋,包括報(bào)警和警報(bào)。雖然過去嗶嗶聲或者鳴叫聲很有效,但用戶期望通過播放 MP3 等文件格式音頻才能產(chǎn)生的高級(jí)聲音。問題是,音頻播放可能會(huì)讓人緊張,并增加系統(tǒng)成本和復(fù)雜性。第一直覺是找到可以播放 MP3 的微控制器,但這往往會(huì)使物料清單 (BOM) 增加幾美元并需要相當(dāng)復(fù)雜的嵌入式軟件。 音頻編解碼器就是一個(gè)特別能平衡額外成本和軟件復(fù)雜性的解決方案。音頻編解碼器不僅能接受來自微控制器的音頻數(shù)據(jù)流,往往還具有多種功能,使得開發(fā)人員可以對(duì)音頻播放系統(tǒng)進(jìn)行精心調(diào)校,提高系統(tǒng)播放音質(zhì)。
本文將討論音頻編解碼器的作用、開發(fā)者在選擇時(shí)應(yīng)考慮的主要特點(diǎn)以及如何有效使用。本文將以 AKM Semiconductor、Texas Instruments和 Maxim Integrated 的解決方案為例進(jìn)行介紹和說明,同時(shí)也會(huì)介紹其他廠商的解決方案。最后將介紹如何使用編解碼器加速開發(fā)音頻播放應(yīng)用并降低系統(tǒng)成本的小竅門和小技巧。
什么是音頻編解碼器?
音頻編解碼器是一種硬件組件,能夠?qū)Π纛l信息的數(shù)字?jǐn)?shù)據(jù)流進(jìn)行編碼或解碼1。音頻編解碼器能夠分擔(dān)微控制器的音頻處理任務(wù),因此非常有用。這樣可以大大降低軟件復(fù)雜性,也可以在具體應(yīng)用中采用成本較低、性能較低的微控制器。 典型的音頻編解碼器會(huì)包含幾個(gè)功能塊:
一個(gè)用于傳輸或接收經(jīng)過編碼處理的數(shù)字音頻數(shù)據(jù)的 I2S 接口。
一個(gè)用于配置和讀取音頻編解碼器的控制寄存器的 I2C 接口。
一個(gè)連接到模數(shù)轉(zhuǎn)換器 (ADC) 的麥克風(fēng)輸入。
至少一個(gè)音頻輸出通道,如揚(yáng)聲器輸出,但大多數(shù)還包括一個(gè)線路輸出,也可能包括多個(gè)揚(yáng)聲器輸出,用于立體聲播放。
一個(gè)包含高通、低通、缺口和均衡器濾波器的數(shù)字功能塊,用于調(diào)節(jié)音頻播放和錄音。
我們以 AKM Semiconductor 的 AK4637EN 24 位音頻編解碼器為例,這是一款憑借成本低、音頻能力強(qiáng)大而頗受歡迎的音頻編解碼器(圖 1)。AK4637EN 具有所有這些功能,還配有一個(gè)蜂鳴器輸入,可以使用所需頻率的脈寬調(diào)制 (PWM) 信號(hào)來產(chǎn)生蜂鳴。
開發(fā)者會(huì)發(fā)現(xiàn),音頻編解碼器的主要區(qū)別在于提供輸出單聲道音頻還是立體聲音頻,以及數(shù)字塊功能。例如,AK4637EN 采用了一個(gè)高通濾波器、一個(gè)低通濾波器、一個(gè)四段均衡器、一個(gè)自動(dòng)調(diào)平通道功能和一個(gè)單段均衡器。后者可作為陷波濾波器使用。開發(fā)者如何設(shè)置這些數(shù)字濾波器會(huì)極大地影響系統(tǒng)的聲音。
剛接觸音頻播放的開發(fā)者有時(shí)會(huì)對(duì)音頻編解碼器感到恐懼。例如,雖然 AK4637EN 是一款簡(jiǎn)單的音頻編解碼器,但快速瀏覽規(guī)格書會(huì)發(fā)現(xiàn)它有 64 個(gè)可配置寄存器。乍一看好像很多,但這些寄存器大多是用來設(shè)置各種可用數(shù)字濾波器的濾波系數(shù)的。要想讓系統(tǒng)正常輸出音頻,只需使用少量寄存器,這使得音頻編解碼器的驅(qū)動(dòng)開發(fā)遠(yuǎn)比新手想象的簡(jiǎn)單。
如何選擇音頻編解碼器
在產(chǎn)品開發(fā)過程中,選擇任何器件的關(guān)鍵因素之一就是成本,音頻編解碼器也不例外。不過需要牢記的是,開發(fā)人員得到的東西物有所值,所以當(dāng)涉及到音頻時(shí),團(tuán)隊(duì)必須在設(shè)計(jì)要求和解決方案的關(guān)鍵參數(shù)之間仔細(xì)權(quán)衡。 首先考慮的是音頻編解碼器的輸出要求。有幾種不同的選擇。例如,AK4637EN 有一個(gè)線路輸出和一個(gè)單聲道揚(yáng)聲器輸出。還有其他編解碼器,比如 Texas Instruments 的 TLV320AIC3110IRHBR 立體聲音頻編解碼器,可以 1.29 W 的功率驅(qū)動(dòng)兩個(gè)揚(yáng)聲器(圖 2)。
如 Maxim IntegratedMAX9867等其他音頻編解碼器都設(shè)計(jì)成只驅(qū)動(dòng)一對(duì)耳機(jī)(圖 3)。MAX9867 具有典型的 I2S和 I2C數(shù)字接口,還包含立體聲麥克風(fēng)輸入和兩個(gè)數(shù)字化選擇線路輸入。 在這三種解決方案中,確定采用什么樣的輸出類型(甚至輸入類型)是早期的關(guān)鍵決策。 開發(fā)者還需要考慮他們將驅(qū)動(dòng)什么負(fù)載。音頻編解碼器將要直接驅(qū)動(dòng)耳機(jī)、一個(gè)音箱還是一對(duì)音箱,并提供何種輸出等級(jí)?
如果系統(tǒng)要驅(qū)動(dòng)一個(gè) 5 W 揚(yáng)聲器,那么沒有多少嵌入式系統(tǒng)的編解碼器能做到這一點(diǎn)。相反,開發(fā)人員可能希望選擇線路輸出,并使用單獨(dú)的 D 類放大器直接驅(qū)動(dòng)揚(yáng)聲器。這樣既能節(jié)省一些成本,又能帶來設(shè)計(jì)靈活性。 最后兩個(gè)考慮因素是內(nèi)部布線和數(shù)字濾波能力。這里是決定音頻編解碼器實(shí)現(xiàn)真正差異化和成本差異的地方。例如,TLV320AIC311IRHBR 具有去爆音和軟啟動(dòng)功能,可以將揚(yáng)聲器的爆音降到最低,并使其平穩(wěn)過渡到音頻播放。該器件的每個(gè)輸出通道還配備了一個(gè)內(nèi)部混音器和數(shù)字音量控制器。 開發(fā)者應(yīng)在音頻編解碼器需求、BOM 以及電路所需電路板空間之間進(jìn)行仔細(xì)平衡。
音頻播放系統(tǒng)
在使用音頻編解碼器時(shí),務(wù)必考慮到除音頻編解碼器之外還有幾個(gè)不同的功能塊是成功播放音頻所必需的。具體的功能塊會(huì)根據(jù)應(yīng)用和決定采取的播放方法略有不同,圖 4 所示只是一個(gè)概括說明。
在這張圖中有幾點(diǎn)值得討論一下。首先,需要有一些存儲(chǔ)音頻播放文件的方法。有兩種選擇,一是以內(nèi)部方式存儲(chǔ)文件,即存儲(chǔ)在微控制器閃存中,二是存儲(chǔ)在外部閃存中。如何選擇取決于音頻文件的大小,以及微控制器的內(nèi)部閃存容量。 開發(fā)者還需要考慮采用什么樣的音頻播放格式。最常見的格式是 MP3。在這種情況下,所選的單片機(jī)需要有一個(gè)支持 MP3 解碼的軟件棧。
這樣就可以打開 MP3 文件,然后使用動(dòng)態(tài)內(nèi)存訪問 (DMA) 控制器通過 I2S 接口將音頻信號(hào)推送出去。即使是 I2S 端口也可以配置為主/從和其他幾種模式,因此需要仔細(xì)檢查,以確保數(shù)據(jù)以正確的速率傳輸?shù)骄幗獯a器。 如前所述,根據(jù)應(yīng)用確定需不需要外部音頻放大器。典型的編解碼器輸出功率約為 1 - 1.5 W,這對(duì)驅(qū)動(dòng)小型揚(yáng)聲器很有用。如果要驅(qū)動(dòng) 3 W 或功率更高的揚(yáng)聲器,則需要使用外部放大器。
同樣,應(yīng)用最廣泛的是 D 類音頻放大器。放大器也不一定需要具有可變?cè)鲆妗R纛l編解碼器可以通過數(shù)字方式調(diào)節(jié)音量控制器,提供較寬的輸出功率范圍。 經(jīng)常被忽視的一個(gè)方面是大容量電容器。當(dāng)播放音頻時(shí),會(huì)嚴(yán)重拉動(dòng)電源軌。如果電路板上的電容不足,會(huì)極大影響輸出質(zhì)量,并會(huì)出現(xiàn)一種類似鼻音的聲音以及其他一些不必要的噪聲。在測(cè)試過程中,可以通過仔細(xì)監(jiān)控電源軌來檢測(cè)這些聲音。在 PC 板開發(fā)過程中,為了能調(diào)節(jié)輸出電路而通過在電路板上預(yù)留更多的空間來嘗試不同的電容值,是一個(gè)不錯(cuò)的想法。
選擇和使用音頻編解碼器的小竅門和小技巧
音頻編解碼器可以極大地簡(jiǎn)化嵌入式軟件,為應(yīng)用提供良好的音質(zhì)。如果開發(fā)人員之前沒有使用過音頻編解碼器,那么音頻編解碼器可能會(huì)很棘手。為了成功地利用音頻編解碼器,研發(fā)團(tuán)隊(duì)?wèi)?yīng)記住如下幾個(gè)"小技巧和小竅門":
在微控制器內(nèi)使用直接內(nèi)存訪問控制器 (DMA) 功能,以最少的 CPU 干預(yù)來供給音頻編解碼器。這將有助于確保編解碼器具有充足的數(shù)據(jù)來處理。
不播放音頻時(shí),請(qǐng)使用編解碼器靜音功能,以防止低電平輸出噪音進(jìn)入揚(yáng)聲器。
在禁用或啟用播放時(shí),請(qǐng)使用音頻編解碼器的軟靜音功能,以防止揚(yáng)聲器爆音和其他不必要的噪音。
編解碼器初始化后,使用終端應(yīng)用輸出編解碼器寄存器。當(dāng)嘗試調(diào)試問題或調(diào)節(jié)揚(yáng)聲器輸出電路和箱體時(shí),這一點(diǎn)特別有用。
充分利用編解碼器中的內(nèi)部數(shù)字濾波機(jī)制。通過數(shù)字濾波器,開發(fā)人員可實(shí)現(xiàn)均衡輸出,過濾掉不需要的高頻和低頻信號(hào),最大限度地提高音響系統(tǒng)音質(zhì)。
請(qǐng)不要忘了,只有當(dāng)電路板和揚(yáng)聲器安裝在箱體內(nèi)時(shí),調(diào)音才是一項(xiàng)有用的工作,因?yàn)橄潴w和安裝會(huì)造成巨大差異。
要想入門,開發(fā)人員可以使用 Maxim Integrated 的 MAX9867EVKIT+評(píng)估套件進(jìn)行實(shí)驗(yàn)(圖 5)。
該套件由電路板和相關(guān)軟件組成,配置為使用 Sony/Philips 數(shù)字接口 (S/PDIF) 發(fā)送和接收音頻數(shù)據(jù),但也可以設(shè)置為使用 I2S。該套件有兩個(gè) RCA 輸入插孔,兩個(gè) 3.5 毫米 (mm) 模擬輸出耳機(jī)插孔,以及光纖接收和發(fā)射模塊。該軟件兼容 Windows,通過 USB 電纜連接 PC 時(shí)會(huì)打開一個(gè)圖形用戶界面 (GUI),開發(fā)人員可在該界面中對(duì) MAX9867 的設(shè)置進(jìn)行實(shí)驗(yàn)(圖 6)。
結(jié)論
嵌入式系統(tǒng)用戶已經(jīng)習(xí)慣了高質(zhì)量音頻,以至于現(xiàn)在已經(jīng)不愿意使用蜂鳴器和蜂鳴聲來代替報(bào)警、警報(bào)和其他用戶音頻反饋。這使得開發(fā)團(tuán)隊(duì)有責(zé)任在其系統(tǒng)中實(shí)現(xiàn) MP3 播放功能。乍看起來這是一項(xiàng)復(fù)雜的工作。然而,通過在微控制器旁邊使用正確的音頻編解碼器,并遵循一些設(shè)計(jì)最佳實(shí)踐,開發(fā)人員就可以平衡與音頻應(yīng)用相關(guān)的成本和復(fù)雜性。 作者:Jacob Beningo 來源:Digi-Key
責(zé)任編輯:xj
原文標(biāo)題:如何選擇和使用嵌入式音頻反饋文件的音頻編解碼器和微控制器?
文章出處:【微信公眾號(hào):電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
微控制器
+關(guān)注
關(guān)注
48文章
7555瀏覽量
151436 -
嵌入式
+關(guān)注
關(guān)注
5082文章
19126瀏覽量
305304 -
音頻編解碼器
+關(guān)注
關(guān)注
4文章
139瀏覽量
55887
原文標(biāo)題:如何選擇和使用嵌入式音頻反饋文件的音頻編解碼器和微控制器?
文章出處:【微信號(hào):elecfans,微信公眾號(hào):電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論