音頻捕獲和回放正成為許多基于微控制器(MCU)的應用程序的必備條件。但是,在保真度和編解碼器方面的音頻支持范圍非常廣泛。您可以使用基于簡單8位MCU的平臺來托管支持音頻的應用程序,但高質量的音頻可能需要數字信號控制器(DSC)或32位MCU。本文將調查音頻空間的廣度,提出與不同級別的MCU性能相匹配的潛在應用,并指出可以幫助您開始使用音頻元素的項目的現成評估工具包。
讓我們首先看一下使用8位MCU可以實現的目標。過去,為使用數字信號處理器或專用音頻芯片的產品添加語音記錄和回放功能。現在,Microchip Technology發布了一份應用筆記,重點介紹如何使用自適應差分脈沖編碼調制(ADPCM)在8位PIC18F67J10 MCU上處理簡單的語音編碼和解碼。 ADPCM編碼基于連續語音樣本高度相關的事實。該算法基于先前的樣本預測每個后續樣本,并且僅編碼預測樣本和實際樣本之間的差異。您當然不會使用ADPCM來編碼音樂,但該算法在語音應用程序中非常有效。
您將找到基于浮點數學和精度數據轉換器的ADPCM實現。這樣的實現顯然超出了8位MCU的能力。 Microchip開發了基于4位ADPCM數據的實現。 8位MCU可以支持8 KHz采樣率的單調音頻。
ADPCM編碼
編碼器的設計(圖1)接受二進制補碼格式的16位數據流。您可以使用片上10位A/D轉換器(ADC)對來自麥克風的采樣進行編碼。解碼器采用4位ADPCM數據并生成16位二進制補碼輸出。您可以使用片內捕捉/比較/PWM(CCP)外設將PWM信號驅動至輸出濾波器。
圖1:ADPCM編碼器框圖,其中sp是預測樣本,si是線性輸入樣本,d是差值,t是4位ADPCM值。
有許多因素可能會限制此類應用程序在8位MCU上的性能,盡管CPU性能通常不是主要因素。例如,集成ADC的轉換速度和閃存的寫入速度將實現限制為8KHz速率。事實上,Microchip表示可以在性能較低的8位PIC16系列MCU上實現語音功能。 ADPCM應用程序可輕松適應PIC18F67J10 MCU的存儲器占用空間。例如,解壓縮算法僅使用可用于程序存儲的128千字節中的484個字節。
Microchip不為PIC18系列MCU提供以音頻為中心的開發套件,但您可以輕松地將其組合在一起。 PICDEM開發板包括PIC18 MCU和dsPIC30F DSP使能的MCU或數字信號控制器(DSC)。將演講回放PICtail Plus子板添加到套件中,您就可以進行音頻實驗了。
如果您將任務的編碼部分排除在等式之外,那么8位MCU的音頻任務能力就更強了。例如,您可以設計一種產品,播放預先錄制的語音片段,作為最終用戶的語音提示。您可以單獨創建樣本,只需使用MCU解碼數據并輸出PWM信號。
16位音頻應用程序
升級到16位MCU,您可能會發現可能會瞄準的音頻應用程序類型出現重大跳躍。然而,實際上,差異并不像你想象的那么大。正如我們剛才所討論的,數據轉換時間和內存訪問速度等特性可以控制音頻功能。你得到的是額外的免費MCU周期來托管應用程序的其他元素。
讓我們來看看瑞薩最新的16位MCU系列--RL78系列。該MCU系列針對低功耗應用進行了優化,包括用于電池供電設備。該設計提供41 Dhrystone MIPS(DMIPS),最高時鐘速度為32 MHz。這種性能水平使其落后于低端32位MCU,實際上比某些更快。
瑞薩發布了一份專注于在ADPCM應用程序中使用RL78的應用筆記。編碼器使用集成的10位A/D轉換器對輸入進行采樣。與我們之前討論過的Microchip示例一樣,該實現以8 KHz采樣率創建4位ADPCM數據。解碼器可以以11.025KHz的采樣率操作。
您可以使用RSK RL78/G13開發人員套件(圖2)試驗瑞薩的ADPCM應用程序。該套件不是特定于音頻的,但它集成了許多以音頻為中心的功能,包括單調和立體聲音頻放大器。該板還包括一個麥克風輸入和前置放大器以及一個用于數字麥克風的接口。
圖2:用于低功耗RL78 MCU的瑞薩開發套件包括單調和立體聲放大器以及麥克風輸入。
通過遷移到16位MCU可以獲得的另一個好處是更廣泛的編碼算法選擇,這些算法的CPU密集程度更高,可以提供更好的音頻質量或更高級別的壓縮,這意味著您可以存儲更多音頻可用的內存。
編解碼器選擇
例如,讓我們考慮一下Microchip PIC24系列MCU。對于編碼和解碼應用,Microchip提供對ADPCM,G.711,G.726A和Speex編解碼器的支持。實際上有更多的編解碼器選擇,但列出的編解碼器可以免費使用。
G.711是ITU(國際電信聯盟)標準,廣泛用于電話應用。該標準規定了8位采樣,8KHz采樣率,并使用PCM算法。
G.726A也是ITU標準,基于ADPCM。該標準規定了8 KHz的采樣率,但在樣本大小方面提供了靈活性,并提供16,24,32或40 Kbit/s數據速率的選擇。
Speex是一款開源編解碼器,專為IP語音(VoIP)應用而開發。編解碼器基于代碼激勵線性預測(CELP)算法。編解碼器可支持8,16和32 KHz采樣率。
一般來說,G.711提供了我們討論過的最佳選擇。 Microchip表示,相對于PIC24 MCU,它需要大約60 MIPS的數量級才能實現。根據所選的編碼選項,G.726A編解碼器可能需要16到40 MIPS。 Speex編解碼器在某些情況下可以在質量方面與G.726A匹配,并且需要不到16 MIPS。
根據Microchip的說法,G.711編解碼器需要8 KB才能存儲1秒的語音。 G.726A編解碼器的要求范圍為2到5千字節,可存儲一秒鐘。同時,Speex編解碼器只需要1 KB即可存儲一秒鐘的語音。
添加DSP功能
Microchip實際上將PCI24系列與dsPIC33 DSC系列組合在一起(圖3),因為IC共享相同的CPU架構,盡管后者增加了對DSP應用的數學支持。在音頻應用方面,通過轉移到DSC可以看到您添加的內容很有趣。
dsPIC33在支持的編解碼器方面沒有太多增加,但同樣,您將釋放可用于應用程序其他方面的CPU周期。但是,DSC允許您使用Microchip的自動增益控制庫,它可以在編碼過程之前自動調整語音信號的幅度。該功能在揚聲器和麥克風之間的距離變化的應用中特別有用,例如在揚聲器電話中。
Microchip dsPIC33 IC還可以使用該公司的語音和音頻快進工具。設計團隊在開發過程中使用該工具實時控制以音頻為中心的算法,如噪聲抑制,回聲消除和均衡。先前的特征也在庫中實現。此外,基于GUI的語音工具生成可以移植到PIC33 DSC的代碼。
Microchip提供了一個全面的以音頻為中心的開發工具集(圖3),用于基于PIC24和dsPIC33的設計。 Explorer 16通用開發板支持兩個MCU系列。您可以通過音頻PICtail Plus子卡和該產品附帶的軟件添加音頻支持。該組合支持16位和24位音頻,包括用于存儲音頻的4 Mbits串行閃存,并包含一個低通濾波器,用于解調MCU的PWM輸出。
圖3:對于dsPIC MCU系列,Microchip提供了一組強大的以音頻為中心的庫,可通過基于GUI的語音和音頻快進開發工具進行管理。
32位和音樂
現在讓我們繼續前進到32位空間。正如您所料,音樂通過32位MCU進入畫面。通常,MCU不能實時將音樂編碼為MP3或WMA(Windows Media Audio)等格式。但32位MCU可以處理完美的音樂解碼,以及我們之前討論過的所有音頻應用。如果要實現編碼,則需要使用專用的編解碼器IC。
當您進入音樂區域時,您通常會超越片上外設的功能,以產生所需的音頻質量。 MCU和DAC的組合可以處理16至24位音頻,采樣速率為32至48 KHz。一旦考慮32位空間,您還將看到以音頻為中心的MCU產品。例如,Atmel提供AT32UC3系列32位MCU,包括通用和音頻專用版本。這些產品基于AVR MCU內核。
音頻MCU的一個例子是AT32UC3A0512AU MCU,它集成了512 KB的閃存和64 KB的RAM。音頻MCU攜帶設備執行許可算法(如MP3,WMA和AAC解碼器)所需的標識號。 MCU集成了便攜式音樂播放器所需的完整功能集,例如支持閃存卡和強大的USB堆棧。
Microchip還在其基于MIPS內核的32位PIC32 MCU系列上支持音樂應用。 32位MCU不支持DSPIC33可用的增益控制庫或語音和音頻快進開發工具。但是,32位產品支持我們在此討論的與Microchip MCU相關的所有其他編解碼器。
正如您所料,Microchip為32位MCU提供了許多開發工具,這些工具將在音頻和音樂項目中派上用場。 PIC32音頻開發板(圖4)集成了PIC32MX795F512 MCU,512 KB閃存和128 KB SRAM。該板還包括一個Wolfson編解碼器,可以處理實時音樂編碼和解碼。 Microchip還支持通過開源Helix MP3解碼器庫在PIC32上進行解碼
圖4:Microchip的基于PIC32的音頻開發板與iPod PICtail配對,其中包括用于Apple iPod的對接連接。
開發板包括一個與iPod上使用的Apple MFi接口兼容的連接器。 Microchip還提供名為iPod PICtail Plus的配套產品,其中包括iPod的底座。
如您所見,鑒于MCU供應商提供的工具和庫的廣泛性,為基于MCU的系統設計添加音頻功能相對簡單。您必須接近這樣的設計,并對某一類MCU可以支持的音頻質量抱有現實的期望。您會發現即使是非常低端的MCU也可以處理短音頻片段的播放。隨著處理能力的提升,您可以為音樂添加編碼并最終支持。
-
微控制器
+關注
關注
48文章
7547瀏覽量
151331 -
解碼器
+關注
關注
9文章
1143瀏覽量
40721 -
音頻
+關注
關注
29文章
2870瀏覽量
81497
發布評論請先 登錄
相關推薦
評論