0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何選擇可用于音頻捕獲與回放的微控制器

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-02-13 08:19 ? 次閱讀

音頻捕獲和回放正成為許多基于微控制器MCU)的應(yīng)用程序的必備條件。但是,在保真度和編解碼器方面的音頻支持范圍非常廣泛。您可以使用基于簡(jiǎn)單8位MCU的平臺(tái)來托管支持音頻的應(yīng)用程序,但高質(zhì)量的音頻可能需要數(shù)字信號(hào)控制器(DSC)或32位MCU。本文將調(diào)查音頻空間的廣度,提出與不同級(jí)別的MCU性能相匹配的潛在應(yīng)用,并指出可以幫助您開始使用音頻元素的項(xiàng)目的現(xiàn)成評(píng)估工具包。

讓我們首先看一下使用8位MCU可以實(shí)現(xiàn)的目標(biāo)。過去,為使用數(shù)字信號(hào)處理器或?qū)S靡纛l芯片的產(chǎn)品添加語音記錄和回放功能?,F(xiàn)在,Microchip Technology發(fā)布了一份應(yīng)用筆記,重點(diǎn)介紹如何使用自適應(yīng)差分脈沖編碼調(diào)制(ADPCM)在8位PIC18F67J10 MCU上處理簡(jiǎn)單的語音編碼和解碼。 ADPCM編碼基于連續(xù)語音樣本高度相關(guān)的事實(shí)。該算法基于先前的樣本預(yù)測(cè)每個(gè)后續(xù)樣本,并且僅編碼預(yù)測(cè)樣本和實(shí)際樣本之間的差異。您當(dāng)然不會(huì)使用ADPCM來編碼音樂,但該算法在語音應(yīng)用程序中非常有效。

您將找到基于浮點(diǎn)數(shù)學(xué)和精度數(shù)據(jù)轉(zhuǎn)換器的ADPCM實(shí)現(xiàn)。這樣的實(shí)現(xiàn)顯然超出了8位MCU的能力。 Microchip開發(fā)了基于4位ADPCM數(shù)據(jù)的實(shí)現(xiàn)。 8位MCU可以支持8 KHz采樣率的單調(diào)音頻。

ADPCM編碼

編碼器的設(shè)計(jì)(圖1)接受二進(jìn)制補(bǔ)碼格式的16位數(shù)據(jù)流。您可以使用片上10位A/D轉(zhuǎn)換器ADC)對(duì)來自麥克風(fēng)的采樣進(jìn)行編碼。解碼器采用4位ADPCM數(shù)據(jù)并生成16位二進(jìn)制補(bǔ)碼輸出。您可以使用片內(nèi)捕捉/比較/PWM(CCP)外設(shè)將PWM信號(hào)驅(qū)動(dòng)至輸出濾波器

如何選擇可用于音頻捕獲與回放的微控制器

圖1:ADPCM編碼器框圖,其中sp是預(yù)測(cè)樣本,si是線性輸入樣本,d是差值,t是4位ADPCM值。

有許多因素可能會(huì)限制此類應(yīng)用程序在8位MCU上的性能,盡管CPU性能通常不是主要因素。例如,集成ADC的轉(zhuǎn)換速度和閃存的寫入速度將實(shí)現(xiàn)限制為8KHz速率。事實(shí)上,Microchip表示可以在性能較低的8位PIC16系列MCU上實(shí)現(xiàn)語音功能。 ADPCM應(yīng)用程序可輕松適應(yīng)PIC18F67J10 MCU的存儲(chǔ)器占用空間。例如,解壓縮算法僅使用可用于程序存儲(chǔ)的128千字節(jié)中的484個(gè)字節(jié)。

Microchip不為PIC18系列MCU提供以音頻為中心的開發(fā)套件,但您可以輕松地將其組合在一起。 PICDEM開發(fā)板包括PIC18 MCU和dsPIC30F DSP使能的MCU或數(shù)字信號(hào)控制器(DSC)。將演講回放PICtail Plus子板添加到套件中,您就可以進(jìn)行音頻實(shí)驗(yàn)了。

如果您將任務(wù)的編碼部分排除在等式之外,那么8位MCU的音頻任務(wù)能力就更強(qiáng)了。例如,您可以設(shè)計(jì)一種產(chǎn)品,播放預(yù)先錄制的語音片段,作為最終用戶的語音提示。您可以單獨(dú)創(chuàng)建樣本,只需使用MCU解碼數(shù)據(jù)并輸出PWM信號(hào)。

16位音頻應(yīng)用程序

升級(jí)到16位MCU,您可能會(huì)發(fā)現(xiàn)可能會(huì)瞄準(zhǔn)的音頻應(yīng)用程序類型出現(xiàn)重大跳躍。然而,實(shí)際上,差異并不像你想象的那么大。正如我們剛才所討論的,數(shù)據(jù)轉(zhuǎn)換時(shí)間和內(nèi)存訪問速度等特性可以控制音頻功能。你得到的是額外的免費(fèi)MCU周期來托管應(yīng)用程序的其他元素。

讓我們來看看瑞薩最新的16位MCU系列--RL78系列。該MCU系列針對(duì)低功耗應(yīng)用進(jìn)行了優(yōu)化,包括用于電池供電設(shè)備。該設(shè)計(jì)提供41 Dhrystone MIPS(DMIPS),最高時(shí)鐘速度為32 MHz。這種性能水平使其落后于低端32位MCU,實(shí)際上比某些更快。

瑞薩發(fā)布了一份專注于在ADPCM應(yīng)用程序中使用RL78的應(yīng)用筆記。編碼器使用集成的10位A/D轉(zhuǎn)換器對(duì)輸入進(jìn)行采樣。與我們之前討論過的Microchip示例一樣,該實(shí)現(xiàn)以8 KHz采樣率創(chuàng)建4位ADPCM數(shù)據(jù)。解碼器可以以11.025KHz的采樣率操作。

您可以使用RSK RL78/G13開發(fā)人員套件(圖2)試驗(yàn)瑞薩的ADPCM應(yīng)用程序。該套件不是特定于音頻的,但它集成了許多以音頻為中心的功能,包括單調(diào)和立體聲音頻放大器。該板還包括一個(gè)麥克風(fēng)輸入和前置放大器以及一個(gè)用于數(shù)字麥克風(fēng)的接口。

如何選擇可用于音頻捕獲與回放的微控制器

圖2:用于低功耗RL78 MCU的瑞薩開發(fā)套件包括單調(diào)和立體聲放大器以及麥克風(fēng)輸入。

通過遷移到16位MCU可以獲得的另一個(gè)好處是更廣泛的編碼算法選擇,這些算法的CPU密集程度更高,可以提供更好的音頻質(zhì)量或更高級(jí)別的壓縮,這意味著您可以存儲(chǔ)更多音頻可用的內(nèi)存。

編解碼器選擇

例如,讓我們考慮一下Microchip PIC24系列MCU。對(duì)于編碼和解碼應(yīng)用,Microchip提供對(duì)ADPCM,G.711,G.726A和Speex編解碼器的支持。實(shí)際上有更多的編解碼器選擇,但列出的編解碼器可以免費(fèi)使用。

G.711是ITU(國(guó)際電信聯(lián)盟)標(biāo)準(zhǔn),廣泛用于電話應(yīng)用。該標(biāo)準(zhǔn)規(guī)定了8位采樣,8KHz采樣率,并使用PCM算法。

G.726A也是ITU標(biāo)準(zhǔn),基于ADPCM。該標(biāo)準(zhǔn)規(guī)定了8 KHz的采樣率,但在樣本大小方面提供了靈活性,并提供16,24,32或40 Kbit/s數(shù)據(jù)速率的選擇。

Speex是一款開源編解碼器,專為IP語音(VoIP)應(yīng)用而開發(fā)。編解碼器基于代碼激勵(lì)線性預(yù)測(cè)(CELP)算法。編解碼器可支持8,16和32 KHz采樣率。

一般來說,G.711提供了我們討論過的最佳選擇。 Microchip表示,相對(duì)于PIC24 MCU,它需要大約60 MIPS的數(shù)量級(jí)才能實(shí)現(xiàn)。根據(jù)所選的編碼選項(xiàng),G.726A編解碼器可能需要16到40 MIPS。 Speex編解碼器在某些情況下可以在質(zhì)量方面與G.726A匹配,并且需要不到16 MIPS。

根據(jù)Microchip的說法,G.711編解碼器需要8 KB才能存儲(chǔ)1秒的語音。 G.726A編解碼器的要求范圍為2到5千字節(jié),可存儲(chǔ)一秒鐘。同時(shí),Speex編解碼器只需要1 KB即可存儲(chǔ)一秒鐘的語音。

添加DSP功能

Microchip實(shí)際上將PCI24系列與dsPIC33 DSC系列組合在一起(圖3),因?yàn)镮C共享相同的CPU架構(gòu),盡管后者增加了對(duì)DSP應(yīng)用的數(shù)學(xué)支持。在音頻應(yīng)用方面,通過轉(zhuǎn)移到DSC可以看到您添加的內(nèi)容很有趣。

dsPIC33在支持的編解碼器方面沒有太多增加,但同樣,您將釋放可用于應(yīng)用程序其他方面的CPU周期。但是,DSC允許您使用Microchip的自動(dòng)增益控制庫(kù),它可以在編碼過程之前自動(dòng)調(diào)整語音信號(hào)的幅度。該功能在揚(yáng)聲器和麥克風(fēng)之間的距離變化的應(yīng)用中特別有用,例如在揚(yáng)聲器電話中。

Microchip dsPIC33 IC還可以使用該公司的語音和音頻快進(jìn)工具。設(shè)計(jì)團(tuán)隊(duì)在開發(fā)過程中使用該工具實(shí)時(shí)控制以音頻為中心的算法,如噪聲抑制,回聲消除和均衡。先前的特征也在庫(kù)中實(shí)現(xiàn)。此外,基于GUI的語音工具生成可以移植到PIC33 DSC的代碼。

Microchip提供了一個(gè)全面的以音頻為中心的開發(fā)工具集(圖3),用于基于PIC24和dsPIC33的設(shè)計(jì)。 Explorer 16通用開發(fā)板支持兩個(gè)MCU系列。您可以通過音頻PICtail Plus子卡和該產(chǎn)品附帶的軟件添加音頻支持。該組合支持16位和24位音頻,包括用于存儲(chǔ)音頻的4 Mbits串行閃存,并包含一個(gè)低通濾波器,用于解調(diào)MCU的PWM輸出。

如何選擇可用于音頻捕獲與回放的微控制器

圖3:對(duì)于dsPIC MCU系列,Microchip提供了一組強(qiáng)大的以音頻為中心的庫(kù),可通過基于GUI的語音和音頻快進(jìn)開發(fā)工具進(jìn)行管理。

32位和音樂

現(xiàn)在讓我們繼續(xù)前進(jìn)到32位空間。正如您所料,音樂通過32位MCU進(jìn)入畫面。通常,MCU不能實(shí)時(shí)將音樂編碼為MP3或WMA(Windows Media Audio)等格式。但32位MCU可以處理完美的音樂解碼,以及我們之前討論過的所有音頻應(yīng)用。如果要實(shí)現(xiàn)編碼,則需要使用專用的編解碼器IC。

當(dāng)您進(jìn)入音樂區(qū)域時(shí),您通常會(huì)超越片上外設(shè)的功能,以產(chǎn)生所需的音頻質(zhì)量。 MCU和DAC的組合可以處理16至24位音頻,采樣速率為32至48 KHz。一旦考慮32位空間,您還將看到以音頻為中心的MCU產(chǎn)品。例如,Atmel提供AT32UC3系列32位MCU,包括通用和音頻專用版本。這些產(chǎn)品基于AVR MCU內(nèi)核。

音頻MCU的一個(gè)例子是AT32UC3A0512AU MCU,它集成了512 KB的閃存和64 KB的RAM。音頻MCU攜帶設(shè)備執(zhí)行許可算法(如MP3,WMA和AAC解碼器)所需的標(biāo)識(shí)號(hào)。 MCU集成了便攜式音樂播放器所需的完整功能集,例如支持閃存卡和強(qiáng)大的USB堆棧。

Microchip還在其基于MIPS內(nèi)核的32位PIC32 MCU系列上支持音樂應(yīng)用。 32位MCU不支持DSPIC33可用的增益控制庫(kù)或語音和音頻快進(jìn)開發(fā)工具。但是,32位產(chǎn)品支持我們?cè)诖擞懻摰呐cMicrochip MCU相關(guān)的所有其他編解碼器。

正如您所料,Microchip為32位MCU提供了許多開發(fā)工具,這些工具將在音頻和音樂項(xiàng)目中派上用場(chǎng)。 PIC32音頻開發(fā)板(圖4)集成了PIC32MX795F512 MCU,512 KB閃存和128 KB SRAM。該板還包括一個(gè)Wolfson編解碼器,可以處理實(shí)時(shí)音樂編碼和解碼。 Microchip還支持通過開源Helix MP3解碼器庫(kù)在PIC32上進(jìn)行解碼

圖4:Microchip的基于PIC32的音頻開發(fā)板與iPod PICtail配對(duì),其中包括用于Apple iPod的對(duì)接連接。

開發(fā)板包括一個(gè)與iPod上使用的Apple MFi接口兼容的連接器。 Microchip還提供名為iPod PICtail Plus的配套產(chǎn)品,其中包括iPod的底座。

如您所見,鑒于MCU供應(yīng)商提供的工具和庫(kù)的廣泛性,為基于MCU的系統(tǒng)設(shè)計(jì)添加音頻功能相對(duì)簡(jiǎn)單。您必須接近這樣的設(shè)計(jì),并對(duì)某一類MCU可以支持的音頻質(zhì)量抱有現(xiàn)實(shí)的期望。您會(huì)發(fā)現(xiàn)即使是非常低端的MCU也可以處理短音頻片段的播放。隨著處理能力的提升,您可以為音樂添加編碼并最終支持。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    7399

    瀏覽量

    150677
  • 解碼器
    +關(guān)注

    關(guān)注

    9

    文章

    1128

    瀏覽量

    40596
  • 音頻
    +關(guān)注

    關(guān)注

    29

    文章

    2818

    瀏覽量

    81108
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    選擇最佳微控制器的10個(gè)步驟

    生產(chǎn)的器件。步驟8:選擇開發(fā)套件選擇一種新的微控制器的一個(gè)重要步驟是找到一款配套的開發(fā)套件,并學(xué)習(xí)控制器的內(nèi)部工作原理。一旦工程師熱衷于某種器件,他們應(yīng)尋找有什么
    發(fā)表于 10-21 15:18

    IR數(shù)據(jù)庫(kù)可用于PIC24微控制器嗎?

    我們正在為紅外控制設(shè)備工作,我們希望用PIC24設(shè)計(jì)紅外發(fā)射和紅外學(xué)習(xí)。是否存在相同的應(yīng)用程序注釋。IR數(shù)據(jù)庫(kù)可用于PIC24微控制器
    發(fā)表于 08-14 12:30

    如何選擇最佳微控制器

    為產(chǎn)品選擇正確的微控制器可能是項(xiàng)令人怯步的任務(wù)。您不僅要思考許多技術(shù)特性,還要考慮成本和備貨時(shí)間等會(huì)削弱項(xiàng)目的業(yè)務(wù)方面問題。在項(xiàng)目初期,您會(huì)有立即動(dòng)手的沖動(dòng),想要在商定系統(tǒng)的細(xì)節(jié)之前開始選擇
    發(fā)表于 01-26 07:29

    微控制器MCU是什么

    在開發(fā)嵌入式系統(tǒng)時(shí),其中一個(gè)選擇是將計(jì)算硬件基于微控制器,而不是微處理MPU。這兩種方法都有其吸引力,但通常它們將在不同的應(yīng)用中找到。通常,微控制器MCU
    發(fā)表于 11-03 06:45

    微控制器MCU的相關(guān)資料推薦

    在開發(fā)嵌入式系統(tǒng)時(shí),其中一個(gè)選擇是將計(jì)算硬件基于微控制器,而不是微處理MPU。這兩種方法都有其吸引力,但通常它們將在不同的應(yīng)用中找到。通常,微控制器MCU
    發(fā)表于 11-11 09:09

    什么是微控制器MCU

    在開發(fā)嵌入式系統(tǒng)時(shí),其中一個(gè)選擇是將計(jì)算硬件基于微控制器,而不是微處理MPU。這兩種方法都有其吸引力,但通常它們將在不同的應(yīng)用中找到。通常,微控制器MCU
    發(fā)表于 10-29 10:56

    STM8L和STM32L系列微控制器可用封裝匯總

    本資料是關(guān)于意法半導(dǎo)體的STM8L和STM32L系列微控制器可用封裝匯總。 圖 STM8L系列微控制器的部分可用封裝
    發(fā)表于 09-20 16:40 ?269次下載
    STM8L和STM32L系列<b class='flag-5'>微控制器</b>的<b class='flag-5'>可用</b>封裝匯總

    選擇最佳微控制器的10個(gè)步驟

    選擇最佳微控制器的10個(gè)步驟
    發(fā)表于 01-24 16:54 ?3次下載

    選擇一個(gè)用于音頻捕獲回放的MCU

    音頻捕獲回放成為許多基于微控制器(MCU)的應(yīng)用程序的必要條件。然而,音頻支持的保真度和編解碼
    發(fā)表于 07-03 11:41 ?7次下載
    <b class='flag-5'>選擇</b>一個(gè)<b class='flag-5'>用于</b><b class='flag-5'>音頻</b><b class='flag-5'>捕獲</b><b class='flag-5'>回放</b>的MCU

    微控制器音頻編碼與壓縮

    將語音和聲音生成添加到產(chǎn)品中可以大大提高產(chǎn)品的可用性和可銷售性,并且不需要添加單獨(dú)的數(shù)字信號(hào)處理(DSP)或?qū)iT的音頻處理來實(shí)現(xiàn)。微控制器
    發(fā)表于 07-17 10:11 ?2次下載
    <b class='flag-5'>微控制器</b>的<b class='flag-5'>音頻</b>編碼與壓縮

    如何設(shè)計(jì)微控制器開發(fā)板

     您可以在接口上添加芯片使用您選擇微控制器來增強(qiáng)您的開發(fā)板為其用戶提供的可用性或功能。
    的頭像 發(fā)表于 08-29 11:04 ?3729次閱讀
    如何設(shè)計(jì)<b class='flag-5'>微控制器</b>開發(fā)板

    如何選擇最佳微控制器

    在對(duì)微控制器進(jìn)行任何思考之前,硬件和軟件工程師應(yīng)當(dāng)先制定出系統(tǒng)的高水平規(guī)格,畫好框圖和流程圖,只有這時(shí)才有充足的信息對(duì)微控制器選擇做出理性的決定。達(dá)到這一階段時(shí),可以遵循 10 個(gè)簡(jiǎn)單步驟,確保做出正確的
    的頭像 發(fā)表于 02-18 14:10 ?1258次閱讀

    STM32-32位微控制器產(chǎn)品選擇指南

    STM32-32位微控制器產(chǎn)品選擇指南
    發(fā)表于 12-17 16:42 ?2次下載

    選擇微控制器的幾個(gè)步驟和注意事項(xiàng)

    選擇合適的微控制器非常重要,它將直接影響到你的設(shè)計(jì)成果以及后續(xù)的開發(fā)過程。下面將介紹選擇微控制器的幾個(gè)步驟和注意事項(xiàng)。
    發(fā)表于 08-16 17:11 ?649次閱讀

    如何選擇微控制器?

    干貨 | 如何選擇微控制器?
    的頭像 發(fā)表于 09-21 17:23 ?588次閱讀