目前正在要求為許多消費產品和嵌入式系統供電的MCU支持以前由DSP,ASSP或其他專用芯片處理的各種數字音頻功能。幸運的是,許多16位MCU的功能和復雜性可以支持基本的音頻處理功能,并允許它們執行諸如音頻錄制/回放,音頻流轉換和其他創新音頻應用程序之類的任務。但是,您如何選擇能夠為您的產品提供所需價格,性能和設計靈活性的MCU呢?繼續閱讀這些設計問題的答案,以及最新的音頻應用芯片和開發套件。
音頻特性
您為音頻應用選擇的處理能力的類型和數量是解決方案成本,所需音頻質量和可用存儲空間之間關系網絡中的一個方面。雖然特定應用程序使用的實際樣本大小可以在8到24位之間,但我們假設我們在這里處理的大多數使用12到16位樣本。由于采樣率是您將要處理的聲音質量的主要決定因素)我們提供了有用的音頻源細分和通常用于捕獲或重現它們的采樣率(表1)。
音頻源頻率流行的采樣率音調,蜂鳴器通常是3 kHz范圍內的單頻正弦波,具有最大頻率的音調的2到4倍DTMF在500 Hz和3 kHz之間的特定標準頻率下兩個正弦波的加權和7.2 kHz或更高的報警通常是一系列頻率的時變掃描最大頻率的兩倍人類語音/語音可以被視為300 Hz至3.3 kHz之間信號的加權和。人聲能夠產生8kHz,11.02kHz,16kHz音頻和頻率。樂器可以被視為20 Hz和20 kHz之間信號的加權和。人耳可以感知這些頻率32 kHz(大多數樂器足夠好),44.1 kHz(CD質量),48 kHz(PC聲卡)
用于語音級應用的MCU
由于存儲空間(和傳輸帶寬)通常在嵌入式系統中非常重要,因此數字壓縮應用于數據流,要么丟棄部分它包含的信息或使用更復雜的編碼算法以更緊湊的方式表示它。可以使用外部編解碼器或在MCU本身上運行的軟件編解碼器來完成壓縮/解壓縮。圖1說明了使用最常用的ITU(G.7xx)算法以及Speex1開源編解碼器壓縮標準128-k/s音頻流的質量/數據速率權衡。
圖1:常用語音編解碼器的比特率與音頻質量。 (由Microchip Technology提供。)
特定編解碼器所需的處理能力(MIPS)與壓縮比和它提供的音頻質量大致成比例,如表2所示。幸運的是,即使是便宜的16-位通用MCU可以輕松支持用于語音處理的簡單軟件編解碼器,例如自適應差分脈沖編碼調制(ADPCM)或更簡單的G.7xx ITU標準。 G.711算法需要大約1MIPS來以2:1的壓縮比處理中等質量的人類語音。 G.722寬帶算法提供更好的音頻質量和4:1壓縮比,同時僅消耗5 MIPS。兩種編解碼器均可在16位MCU上輕松支持,例如飛思卡爾的HC12系列,Microchip的PIC24F/PIC24H系列或德州儀器廣泛的MSP430 MCU系列,并為監控代碼或其他應用提供足夠的保留。除了通常的電話和VoIP應用之外,這些廉價的技術還可以利用許多嵌入式系統中潛伏的多余MIPS來為煙霧探測器,報警系統或運動和工業設備添加音頻警報(甚至語音合成)。
算法G.711 G.726A Speex MIPS 1 13 20閃存(KB)3.5 6 30 RAM(KB)3.5 4 7存儲1秒編碼語音所需的存儲器8 KB 2,3,4或5 KB 1 KB
表2:常用語音編解碼器的處理要求。 (由Microchip Technology提供)。
用于音樂應用的MCU
用于解碼大多數流行媒體播放器中使用的MP3/4流的處理和內存要求明顯高于前面討論的語音級應用。對于光盤(CD)質量的音頻,標準是16位分辨率,采樣率為44.1 kHz,許多應用使用24位,采樣率為96 kHz或更高。許多設計也需要支持微軟的WMA和Apple的AAC解碼,這需要更強大的處理能力。因此,使用專用音頻解碼器(如ROHM的BU9457KV或Cirrus Logic音頻解碼器)實現這些復雜的編碼方案通常更具成本效益,該解碼器可生成饋送到集成D/A級或片外的串行PCM數據音頻編解碼器,例如Cirrus Logic的CS4270或NXP的UDA1341TS。然而,低成本的MCU仍然可以在消費類音頻中發揮重要作用,通常是通過管理音頻配件中的數字音樂流,例如擴展塢和數字揚聲器組(圖2)。在這些應用中,PCM音頻數據幀(封裝在USB音頻類格式中)通過處理器的SPI/I2C串行通道之一每1 ms到達一次。 USB音頻類數據格式還提供對音量,音調,增益控制和均衡器等常用功能的控制。
圖2:在音頻擴展塢中,低成本MCU可用于執行格式轉換,采樣率調整和流管理,以及支持擴展塢的用戶界面。 (由Microchip Technology提供。)
根據信號源的不同,音頻流可能會以多種格式之一(即左對齊,右對齊,I2S等)到達,而一些低成本的編解碼器只能接受特定的格式。在這些情況下,MCU必須確保數據在送入編解碼器之前已正確對齊。由于并非所有音頻源都使用相同的采樣率,因此編解碼器必須使其采樣頻率適應源或依靠MCU將采樣數據流轉換為通用數據速率。在使用低成本編解碼器的情況下,它通常缺少自己的緩沖區,因此MCU還必須管理流以避免運行不足或過度運行的情況,否則會導致出現靜音,爆音和音頻不連續數據丟失。
一些提供40 MIPS或更高容量的16位MCU和幾乎任何32位MCU都具有處理容量,可支持音頻擴展塢中的流管理,緩沖和格式轉換。像Microchip這樣的一些制造商增加了特殊功能,可以降低實施成本。例如,Microchip MX2系列中的某些MCU具有專門針對這些類型應用的存儲器,并具有I2C參考時鐘輸出。這允許MCU提供采樣速率時鐘(主時鐘),從而無需使用集成或外部PLL的更昂貴的編解碼器。
在需要完全可編程解決方案的應用中,可以使用通用MCU(通常為16位)執行MP3/4,AAC或WMA解碼,該MCU可提供40 MIPS或更高的通用功能 - 目的RISC處理。這些應用程序的應用程序代碼通常占用128k的閃存,可能需要高達48k的RAM,以及用于其他功能的內存,例如用戶界面或用于播放器的小型LCD的簡單圖形處理。例如,Atmel的AT32UC3系列MCU也專為各種消費類音頻應用而設計,包括擴展塢,解碼器/播放系統和USB音頻類設備(圖3)。
圖3:Atmel的多功能AT32UC3系列可用作音頻擴展塢,MP3,WMA和AAC音頻解碼器/播放系統或USB音頻類設備的基礎。 (由Atmel提供。)另一種選擇是使用所謂的數字信號控制器(DSC),它具有支持乘法累加(MAC)操作的擴展指令集和支持類DSP功能的硬件加速器。 DSP增強型MCU,如飛思卡爾的56800/E,Microchip的dsPIC 30系列,STMicro的ST10處理器,需要更少的指令來執行等效的代碼/解碼功能,從而節省資源,用于其他一些功能,如速率適配,高級濾波和均衡算法。
入門大多數制造商通過在一個方便的軟件包中提供包含所有必需的硬件,軟件和開發工具的特定應用開發套件,使數字音頻項目的入門變得簡單。其中一個例子是Microchip針對PIC32 MX1和MX2系列的DM320013音頻開發套件(圖4)。這款靈活的USB供電平臺預裝了演示代碼,用于具有高品質音頻功能的音頻播放器,包括24位音頻記錄和播放,USB數字音頻,MP3解碼和采樣率轉換,以及支持開發基本用戶界面。
圖4:PIC32 MX1/MX2入門工具包(DM320013)專為使用mTouch按鈕開發高質量音頻應用和基本用戶界面而設計。 (由Microchip Technology提供。)
Atmel還提供多種專用開發套件,包括EVK1104,其中包含Hi-Fi音頻解碼和流媒體應用的所有元素。該板采用Atmel的AT32UC3A3256AU 32位微控制器構建,包括一個高速USB On-The-Go(OTG)接口,一個雙SD卡接口,ECC NAND閃存和一個立體聲16位DAC。該套件還包含用于從大容量存儲設備播放MP3文件的參考固件,并演示了Atmel的專利QTouch電容式觸摸控制。對于擴展塢,Atmel的EVK1105包含所有必需的參考硬件和軟件,用于從iPod,iPhone和iPad設備進行控制和數字音頻流。
-
dsp
+關注
關注
553文章
8027瀏覽量
349301 -
解碼器
+關注
關注
9文章
1144瀏覽量
40794 -
微處理器
+關注
關注
11文章
2269瀏覽量
82543
發布評論請先 登錄
相關推薦
評論