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