<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何使用編解碼器加速開發音頻播放應用

電子設計 ? 來源:中電網 ? 作者:中電網 ? 2021-01-19 11:41 ? 次閱讀

嵌入式系統中,越來越需要提供高保真音頻而不是蜂鳴器來實現用戶反饋,包括報警和警報。雖然過去嗶嗶聲或者鳴叫聲很有效,但用戶期望通過播放 MP3 等文件格式音頻才能產生的高級聲音。問題是,音頻播放可能會讓人緊張,并增加系統成本和復雜性。第一直覺是找到可以播放 MP3 的微控制器,但這往往會使物料清單 (BOM) 增加幾美元并需要相當復雜的嵌入式軟件。

音頻編解碼器就是一個特別能平衡額外成本和軟件復雜性的解決方案。音頻編解碼器不僅能接受來自微控制器的音頻數據流,往往還具有多種功能,使得開發人員可以對音頻播放系統進行精心調校,提高系統播放音質。

本文將討論音頻編解碼器的作用、開發者在選擇時應考慮的主要特點以及如何有效使用。本文將以 AKM Semiconductor、Texas Instruments 和 Maxim Integrated 的解決方案為例進行介紹和說明,同時也會介紹其他廠商的解決方案。最后將介紹如何使用編解碼器加速開發音頻播放應用并降低系統成本的小竅門和小技巧。

什么是音頻編解碼器?

音頻編解碼器是一種硬件組件,能夠對包含音頻信息的數字數據流進行編碼或解碼 1。音頻編解碼器能夠分擔微控制器的音頻處理任務,因此非常有用。這樣可以大大降低軟件復雜性,也可以在具體應用中采用成本較低、性能較低的微控制器。

典型的音頻編解碼器會包含幾個功能塊:

一個用于傳輸或接收經過編碼處理的數字音頻數據的 I2S 接口。

一個用于配置和讀取音頻編解碼器的控制寄存器的 I2C 接口。

一個連接到模數轉換器ADC) 的麥克風輸入。

至少一個音頻輸出通道,如揚聲器輸出,但大多數還包括一個線路輸出,也可能包括多個揚聲器輸出,用于立體聲播放。

一個包含高通、低通、缺口和均衡器濾波器的數字功能塊,用于調節音頻播放和錄音。

我們以 AKM Semiconductor 的 AK4637EN 24 位音頻編解碼器為例,這是一款憑借成本低、音頻能力強大而頗受歡迎的音頻編解碼器(圖 1)。AK4637EN 具有所有這些功能,還配有一個蜂鳴器輸入,可以使用所需頻率的脈寬調制 (PWM) 信號來產生蜂鳴。

開發者會發現,音頻編解碼器的主要區別在于提供輸出單聲道音頻還是立體聲音頻,以及數字塊功能。例如,AK4637EN 采用了一個高通濾波器、一個低通濾波器、一個四段均衡器、一個自動調平通道功能和一個單段均衡器。后者可作為陷波濾波器使用。開發者如何設置這些數字濾波器會極大地影響系統的聲音。

剛接觸音頻播放的開發者有時會對音頻編解碼器感到恐懼。例如,雖然 AK4637EN 是一款簡單的音頻編解碼器,但快速瀏覽規格書會發現它有 64 個可配置寄存器。乍一看好像很多,但這些寄存器大多是用來設置各種可用數字濾波器的濾波系數的。要想讓系統正常輸出音頻,只需使用少量寄存器,這使得音頻編解碼器的驅動開發遠比新手想象的簡單。

如何選擇音頻編解碼器

產品開發過程中,選擇任何器件的關鍵因素之一就是成本,音頻編解碼器也不例外。不過需要牢記的是,開發人員得到的東西物有所值,所以當涉及到音頻時,團隊必須在設計要求和解決方案的關鍵參數之間仔細權衡。

首先考慮的是音頻編解碼器的輸出要求。有幾種不同的選擇。例如,AK4637EN 有一個線路輸出和一個單聲道揚聲器輸出。還有其他編解碼器,比如 Texas Instruments 的 TLV320AIC3110IRHBR 立體聲音頻編解碼器,可以 1.29 W 的功率驅動兩個揚聲器(圖 2)。

如 Maxim Integrated MAX9867 等其他音頻編解碼器都設計成只驅動一對耳機(圖 3)。MAX9867 具有典型的 I2S 和 I2C 數字接口,還包含立體聲麥克風輸入和兩個數字化選擇線路輸入。

在這三種解決方案中,確定采用什么樣的輸出類型(甚至輸入類型)是早期的關鍵決策。

開發者還需要考慮他們將驅動什么負載。音頻編解碼器將要直接驅動耳機、一個音箱還是一對音箱,并提供何種輸出等級?如果系統要驅動一個 5 W 揚聲器,那么沒有多少嵌入式系統的編解碼器能做到這一點。相反,開發人員可能希望選擇線路輸出,并使用單獨的 D 類放大器直接驅動揚聲器。這樣既能節省一些成本,又能帶來設計靈活性。

最后兩個考慮因素是內部布線和數字濾波能力。這里是決定音頻編解碼器實現真正差異化和成本差異的地方。例如,TLV320AIC311IRHBR 具有去爆音和軟啟動功能,可以將揚聲器的爆音降到最低,并使其平穩過渡到音頻播放。該器件的每個輸出通道還配備了一個內部混音器和數字音量控制器。

開發者應在音頻編解碼器需求、BOM 以及電路所需電路板空間之間進行仔細平衡。

音頻播放系統

在使用音頻編解碼器時,務必考慮到除音頻編解碼器之外還有幾個不同的功能塊是成功播放音頻所必需的。具體的功能塊會根據應用和決定采取的播放方法略有不同,圖 4 所示只是一個概括說明。

在這張圖中有幾點值得討論一下。首先,需要有一些存儲音頻播放文件的方法。有兩種選擇,一是以內部方式存儲文件,即存儲在微控制器閃存中,二是存儲在外部閃存中。如何選擇取決于音頻文件的大小,以及微控制器的內部閃存容量。

開發者還需要考慮采用什么樣的音頻播放格式。最常見的格式是 MP3。在這種情況下,所選的單片機需要有一個支持 MP3 解碼的軟件棧。這樣就可以打開 MP3 文件,然后使用動態內存訪問 (DMA) 控制器通過 I2S 接口將音頻信號推送出去。即使是 I2S 端口也可以配置為主 / 從和其他幾種模式,因此需要仔細檢查,以確保數據以正確的速率傳輸到編解碼器。

如前所述,根據應用確定需不需要外部音頻放大器。典型的編解碼器輸出功率約為 1 - 1.5 W,這對驅動小型揚聲器很有用。如果要驅動 3 W 或功率更高的揚聲器,則需要使用外部放大器。同樣,應用最廣泛的是 D 類音頻放大器。放大器也不一定需要具有可變增益。音頻編解碼器可以通過數字方式調節音量控制器,提供較寬的輸出功率范圍。

經常被忽視的一個方面是大容量電容器。當播放音頻時,會嚴重拉動電源軌。如果電路板上的電容不足,會極大影響輸出質量,并會出現一種類似鼻音的聲音以及其他一些不必要的噪聲。在測試過程中,可以通過仔細監控電源軌來檢測這些聲音。在 PC 板開發過程中,為了能調節輸出電路而通過在電路板上預留更多的空間來嘗試不同的電容值,是一個不錯的想法。

選擇和使用音頻編解碼器的小竅門和小技巧

音頻編解碼器可以極大地簡化嵌入式軟件,為應用提供良好的音質。如果開發人員之前沒有使用過音頻編解碼器,那么音頻編解碼器可能會很棘手。為了成功地利用音頻編解碼器,研發團隊應記住如下幾個“小技巧和小竅門”:

在微控制器內使用直接內存訪問控制器 (DMA) 功能,以最少的 CPU 干預來供給音頻編解碼器。這將有助于確保編解碼器具有充足的數據來處理。

不播放音頻時,請使用編解碼器靜音功能,以防止低電平輸出噪音進入揚聲器。

在禁用或啟用播放時,請使用音頻編解碼器的軟靜音功能,以防止揚聲器爆音和其他不必要的噪音。

編解碼器初始化后,使用終端應用輸出編解碼器寄存器。當嘗試調試問題或調節揚聲器輸出電路和箱體時,這一點特別有用。

充分利用編解碼器中的內部數字濾波機制。通過數字濾波器,開發人員可實現均衡輸出,過濾掉不需要的高頻和低頻信號,最大限度地提高音響系統音質。

請不要忘了,只有當電路板和揚聲器安裝在箱體內時,調音才是一項有用的工作,因為箱體和安裝會造成巨大差異。

要想入門,開發人員可以使用 Maxim Integrated 的 MAX9867EVKIT+ 評估套件進行實驗(圖 5)。

該套件由電路板和相關軟件組成,配置為使用 Sony/Philips 數字接口 (S/PDIF) 發送和接收音頻數據,但也可以設置為使用 I2S。該套件有兩個 RCA 輸入插孔,兩個 3.5 毫米 (mm) 模擬輸出耳機插孔,以及光纖接收和發射模塊。該軟件兼容 Windows,通過 USB 電纜連接 PC 時會打開一個圖形用戶界面 (GUI),開發人員可在該界面中對 MAX9867 的設置進行實驗(圖 6)。

結論

嵌入式系統用戶已經習慣了高質量音頻,以至于現在已經不愿意使用蜂鳴器和蜂鳴聲來代替報警、警報和其他用戶音頻反饋。這使得開發團隊有責任在其系統中實現 MP3 播放功能。乍看起來這是一項復雜的工作。然而,通過在微控制器旁邊使用正確的音頻編解碼器,并遵循一些設計最佳實踐,開發人員就可以平衡與音頻應用相關的成本和復雜性。
編輯:hfy

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編解碼器
    +關注

    關注

    0

    文章

    229

    瀏覽量

    24024
  • 音頻編解碼器

    關注

    4

    文章

    118

    瀏覽量

    55733
  • 音頻播放
    +關注

    關注

    0

    文章

    8

    瀏覽量

    7735
收藏 人收藏

    評論

    相關推薦

    音頻編解碼器AC'97電壓轉換收發器數據表

    電子發燒友網站提供《音頻編解碼器AC'97電壓轉換收發器數據表.pdf》資料免費下載
    發表于 05-28 10:52 ?0次下載
    <b class='flag-5'>音頻</b><b class='flag-5'>編解碼器</b>AC'97電壓轉換收發器數據表

    集成電源管理和音頻編解碼器TPS65950數據表

    電子發燒友網站提供《集成電源管理和音頻編解碼器TPS65950數據表.pdf》資料免費下載
    發表于 03-06 11:15 ?0次下載
    集成電源管理和<b class='flag-5'>音頻</b><b class='flag-5'>編解碼器</b>TPS65950數據表

    TPS65920和TPS65930集成電源管理/音頻編解碼器數據表

    電子發燒友網站提供《TPS65920和TPS65930集成電源管理/音頻編解碼器數據表.pdf》資料免費下載
    發表于 03-06 10:55 ?0次下載
    TPS65920和TPS65930集成電源管理/<b class='flag-5'>音頻</b><b class='flag-5'>編解碼器</b>數據表

    視頻編解碼器-晶振應用選型方案簡介

    隨著科技的日新月異,視頻編解碼技術也將迎來新的發展機遇,5G網絡的普及將進一步提升視頻傳輸速度和質量,為視頻編解碼器的發展提供更廣闊的空間。
    的頭像 發表于 12-09 10:55 ?539次閱讀
    視頻<b class='flag-5'>編解碼器</b>-晶振應用選型方案簡介

    使用具備SigmaDSP內核的編解碼器是否必須載入SigmaDSP程序才能使用?

    目前預計使用ADAU1761連接兩個MEMS數字麥克風, ADAU1761與ADAU1361相比, ADAU1761多了SigmaDSP內核. 使用具備SigmaDSP內核的編解碼器是否必須
    發表于 11-30 07:31

    密勒調制副載波編解碼器的FPGA實現

    電子發燒友網站提供《密勒調制副載波編解碼器的FPGA實現.pdf》資料免費下載
    發表于 10-26 11:10 ?0次下載
    密勒調制副載波<b class='flag-5'>編解碼器</b>的FPGA實現

    基于VHDL語言的HDB3碼編解碼器設計

    電子發燒友網站提供《基于VHDL語言的HDB3碼編解碼器設計.doc》資料免費下載
    發表于 10-13 09:22 ?0次下載
    基于VHDL語言的HDB3碼<b class='flag-5'>編解碼器</b>設計

    如何在嵌入式系統中使用音頻編解碼器更輕松地優化音頻性能?

    ,即使有好的編解碼器和揚聲器,也可能會讓應用聽起來很平淡或音質很差。問題是每個揚聲器都有自己的頻率響應,因此編解碼器應該根據揚聲器的特性進行調校,同時要考慮到將要播放音頻種類和所需的
    的頭像 發表于 10-03 14:34 ?670次閱讀
    如何在嵌入式系統中使用<b class='flag-5'>音頻</b><b class='flag-5'>編解碼器</b>更輕松地優化<b class='flag-5'>音頻</b>性能?

    使用STM32L1xx微控制器與外部I2S音頻編解碼器播放音頻文件

    電子發燒友網站提供《使用STM32L1xx微控制器與外部I2S音頻編解碼器播放音頻文件.pdf》資料免費下載
    發表于 09-21 11:30 ?2次下載
    使用STM32L1xx微控制器與外部I2S<b class='flag-5'>音頻</b><b class='flag-5'>編解碼器</b><b class='flag-5'>播放音頻</b>文件

    RZ/V2MA 視頻編解碼器集成指南(Rev.0.95)

    RZ/V2MA 視頻編解碼器集成指南 (Rev.0.95)
    發表于 06-30 19:23 ?0次下載
    RZ/V2MA 視頻<b class='flag-5'>編解碼器</b>集成指南(Rev.0.95)

    RZ/V2MA 視頻編解碼器集成指南(Rev.0.96)

    RZ/V2MA 視頻編解碼器集成指南 (Rev.0.96)
    發表于 06-29 19:18 ?0次下載
    RZ/V2MA 視頻<b class='flag-5'>編解碼器</b>集成指南(Rev.0.96)

    ES8336低功耗音頻編解碼器規格書

    ES8336低功耗音頻編解碼器規格書
    發表于 06-13 18:13 ?3次下載

    ES8388音頻編解碼器規格書

    ES8388是一種高性能、低功率和低成本音頻編解碼器。它由2路ADC、2路DAC、3路DAC組成,耳機麥克風放大器放大器、數字音效,以及模擬混頻和增益功能。該設備使用高級多位Δ-∑調制技術在數字和模擬多位delta-sigma調制器使該設備對時鐘抖動的低靈敏度和低帶外噪聲
    發表于 06-13 18:11 ?7次下載

    如何獲得ESP8266上的opus編解碼器?

    我想要 ESP8266 上的 opus 編解碼器(尤其是解碼器),因為 128 kbps 應該足夠用便宜的 I2S DAC 來傳輸音頻。我認為這非常重要,因為 opus 可以讓人們從互聯網上獲取
    發表于 06-12 06:54

    imx8mp - wm8962編解碼器音頻的問題求解

    我的音頻編解碼器 - WM8962 有問題。 我在自己的平臺上工作,以 imx8mp-devkit 為模型。 圖表: 將設備添加到設備樹: reg_audio_pwr: 調節
    發表于 06-09 07:50
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>