許多消費產品和嵌入式系統所采用的 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。人類聲音 能夠生成這些頻率 |
8 kHz,11.02 kHz,16 kHz |
音樂和 音樂 樂器 |
可視為信號的加權和 20Hz 至 20 kHz。人耳 可以感知這些頻率 |
32 kHz(對大多數 樂器來說已經足夠),44.1 kHz(CD 品質),48 kHz(PC 聲卡) |
Audio Source | Frequencies | Popular Sampling Rates |
Tones,Buzzers | Usually a sinusoid of single frequency within the 3 kHz range |
2 to 4 times the tone with the largest frequency |
DTMF | A weighted sum of two sinusoids at specific standard frequencies between 500 Hz and 3 kHz |
7.2 kHz or greater |
Alarms | Usually a time-varying sweep of a range of frequencies |
Twice the largest frequency |
Human Speech /Voice |
Can be viewed as a weighted sum of signals between 300 Hz to 3.3 kHz.A human voice is capable of generating these frequencies |
8 kHz,11.02 kHz,16 kHz |
Music & Musical Instruments |
Can be viewed as a weighted sum of signals between 20Hz and 20 kHz.A human ear can perceive these frequencies |
32 kHz(Good enough for most instruments),44.1 kHz(CD quality),48 kHz (PC soundcards) |
用于語音級應用的 MCU 由于嵌入式系統中的內存空間(和傳輸帶寬)通常非常寶貴,因此對數據流應用數字壓縮,要么丟棄其中包含的部分信息,要么使用更復雜的編碼算法以更緊湊的方式表示它。壓縮/解壓縮可以使用外部編解碼器或在 MCU 本身上運行的軟件編解碼器來完成。
圖 1 說明了使用最常用的 ITU (G.7xx) 算法以及 Speex¹ 開源編解碼器壓縮標準 128 kbit/s 音頻流所涉及的質量/數據速率權衡。
特定編解碼器所需的處理能力 (MIPS) 數量與其提供的音頻的壓縮比和質量大致成正比,如表 2 所示。
幸運的是,即使是廉價的 16 位通用 MCU 也可以輕松支持用于語音處理的簡單軟件編解碼器,例如自適應差分脈沖編碼調制 (ADPCM) 或更簡單的 G.7xx ITU 標準。G.711 算法需要大約 1 MIPS 來處理 2:1 壓縮比的中等質量人類語音。
G.722 寬帶算法提供更好的音頻質量和 4:1 的壓縮比,同時僅消耗 5 MIPS。這兩種編解碼器都可以輕松地在 16 位 MCU 上得到支持,例如 Freescale 的 HC12 系列、Microchip 的 PIC24F/PIC24H 系列或德州儀器的 MSP430 MCU 系列,并為監控代碼或其他應用提供足夠的儲備。
除了常見的電話和 VoIP 應用之外,這些廉價的技術還可以利用許多嵌入式系統中剩余的 MIPS,為煙霧探測器、報警系統或運動和工業設備添加音頻警報(甚至語音合成)。
表 2:常用語音編解碼器的處理要求。(由 Microchip Technology 提供)。 用于音樂應用的 MCU 解碼大多數流行媒體播放器中使用的 MP3/4 流的處理和內存要求明顯高于前面討論的語音級應用。
對于光盤 (CD) 質量的音頻,標準是 16 位分辨率和 44.1 kHz 采樣率,許多應用使用 24 位,采樣率為 96 kHz 或更高。許多設計還需要支持 Microsoft 的 WMA 和 Apple 的 AAC 解碼,這需要更多的處理能力。
因此,使用專用音頻解碼器(如 ROHM 的 BU9457KV 或 Cirrus Logic 音頻解碼器)實現這些復雜的編碼方案通常更具成本效益,該解碼器產生串行 PCM 數據,饋送到集成 D/A 級或片外音頻編解碼器,如 Cirrus Logic 的 CS4270 或 NXP 的 UDA1341TS。
盡管如此,低成本 MCU 仍可在消費音頻領域發揮重要作用,通常是通過管理音頻配件(如擴展塢和數字揚聲器組)中的數字音樂流(圖 2)。在這些應用中,每 1 毫秒就會通過處理器的 SPI/I²C 串行通道之一到達一幀 PCM 音頻數據(封裝在 USB 音頻類格式中)。
USB 音頻類數據格式還提供對音量、音調、增益控制和均衡器等常見功能的控制。
圖 2:在音頻基座中,低成本 MCU 可用于執行格式轉換、采樣率調整和流管理,以及支持基座的用戶界面。(由 Microchip Technology 提供。)
根據源的不同,音頻流可能以幾種格式之一到達(即左對齊、右對齊、I2S 等),并且一些低成本編解碼器只能接受特定格式。在這些情況下,MCU 必須確保數據在饋送到編解碼器之前正確對齊。由于并非所有音頻源都使用相同的采樣率,因此編解碼器必須根據源調整其采樣頻率或依靠 MCU 將采樣數據流轉換為通用數據速率。
在這些使用低成本編解碼器的情況下,它通常沒有自己的緩沖區,因此 MCU 還必須管理流以避免出現過低或過高的運行條件,否則會導致數據丟失導致的靜音、爆音和音頻不連續。
一些 16 位 MCU 和幾乎任何 32 位 MCU 都能夠提供 40 MIPS 或更高的處理能力,支持音頻底座中的流管理、緩沖和格式轉換。一些制造商(如 Microchip)增加了特殊功能,可以降低實施成本。例如,Microchip 的 MX2 系列中的一些 MCU 具有專門針對此類應用的內存大小,并具有 I²C 參考時鐘輸出。這使 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(如 Freescale 的 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 設備進行數字音頻流傳輸的所有必需參考硬件和軟件。
我們推薦一款應廣科技語音單片機,
應廣單片機語音控制IC芯片開發應用設計 語音OTP燒錄芯片
廣PMS132/B單片機簡介
通用 OTP 系列
不建議使用于AC 阻容降壓供電或有高EFT要求之應用
工作溫度范圍: -20°C ~ 70°C
應廣PMS132/B單片機特性
- 2KW OTP 程序儲存器;
- 128 Bytes 數據儲存器;
- 一個16位定時器;
- 兩個8位定時器(可做為PWM產生器);
- 三個11位硬件PWM生成器;
- 提供一個比較器;
- 支持乘法指令 (1T 8×8);
- 14 個IO 引腳帶有上拉電阻選項;
- 每個IO 引腳都可設定喚醒功能
- Band-gap 電路提供1.2V 參考電壓;
- 12信道12位ADC,其中一個通道來自于內部 band-gap 參考電壓或 0.25*VDD;
- 提供ADC 參考電壓:外部輸入,內部VDD,Band-gap 1.2V,4V,3V,2V;
- 時鐘源:內部高頻RC震蕩器,內部低頻RC震蕩器和外部晶體震蕩;
- 對所有帶有喚醒功能的IO,都支持2種可選擇地喚醒速度:正常喚醒與快速喚醒;
- 八段LVR 復位電壓設定: 4.0V, 3.5V, 3.0V, 2.75V, 2.5V, 2.2V, 2.0V, 1.8V;
- 四個可選擇的外部中斷引腳。
應廣PMS132/B單片機CPU 特性
- 單一處理單元工作模式;
- 提供87 個有效指令;
- 1T(單周期)指令;
- 可程序設定的堆棧指針和堆棧深度;
- 數據存取支持直接和間接尋址模式,用數據存儲器即可當作間接尋址模式的數據指針(index pointer);
- IO 地址以及儲存地址空間互相獨立