用 32 位元 MCU 打造低成本藍牙音訊應用

作者:Jack Shandle

資料提供者:Electronic Products


藍牙和音訊應用根本是天作之合。 藍牙市場能在初期十年成功崛起,絕大多數是因為與音訊耳機整合的緣故。 智慧型手機崛起後,藍牙理所當然地成為必備項目,幾乎是所有智慧型手機晶片組的內建功能。 人們喜歡從智慧型手機串流播放音樂。

藍牙和智慧型手機持續演進,但應用層面卻緩步發展,與常理逆向而行。 然而,隨著單一藍牙主要裝置對單一藍牙從屬裝置通訊的年代即將結束,此情況也正在改變。

對於設計工程師而言,這意味著將有多重通訊協定、多重連線、多重裝置以及龐大的音訊應用崛起。 智慧型手機使用者想要更多選擇,而藍牙已經準備好了。

出發點:A2DP

藍牙進階播音設定檔 (A2DP) 十多年來已經為眾多裝置促成便利的無線立體聲音訊。 但是,消費者現在想要使用自己的智慧型手機,以原本不曾想像的方式控制音訊娛樂。

在搭配音訊/視訊遙控設定檔 (AVRCP) 等額外設定檔後,智慧型手機即可當作無線遙控器,控制家中的其他藍牙音訊裝置,而且應用也能相當精細。

為了讓使用者享受無縫接軌的體驗,這些應用讓設計工程師在軟體開發和認證上遭遇艱困挑戰,實作到需與生態系統達到互通性的配件時更是如此。

設計人員有兩種架構選擇。 在過去十年,最常用的架構要求模組在硬體層級上執行絕大多數功能,包括配對、連線和音訊串流。 換句話說,藍牙模組成為執行這些功能的固線式音訊編解碼器。 另一種架構則是在軟體上執行幾乎所有的功能;32 位元 MCU 在此時就派得上用場。 在軟體中實作藍牙堆疊即可將實際的無線電轉換成架構中的超薄層。 因此設計人員可隨時隨地存取數據流,以及大量配置。

在傳統藍牙模組上無法同時使用藍牙的序列埠設定檔 (SPP) 和進階播音設定檔 (A2DP)。 若軟體有能力存取藍牙協定堆疊,設計人員就可打造出讓多個裝置保持音訊流連線的應用以進行聆聽,並且可控制串流,以及其他通常與音訊無關的功能。 也就是說,音訊流和控制數據流可同時操作,不會互相干擾。

音訊與數據控制的結合

有個相當容易明瞭的例子就是檯燈與喇叭系統的組合,使用者能透過智慧型手機在聆聽音樂時也能控制亮度。 此應用能透過智慧型手機控制照明系統,其精細延伸項目包括色彩、亮度、對音樂的反應等,並可控制音訊流。 在此應用上賦予「智慧家庭」概念後,控制層面即可擴大到恆溫器、咖啡機、車庫門開啟器以及其他具備藍牙功能的家電,而這些種種能力都是從傳統的音訊編解碼器衍生而來。

藍牙控制在這些應用中具有安全優勢,因為數據流可經過設定,獨立於物聯網 (IoT)。 很少人會想要將控制車庫門開啟器這種簡單的流程置於充滿不確定性的雲端中操作,例如搭配 Wi-Fi 解決方案就是很明顯的例子。

在已經同時運作多重設定檔的應用中結合音訊和數據控制,甚至會更進一步擴大新的應用。 在音訊娛樂領域中,一種稱為「侵入 (break-in)」的軟體功能概念,能讓多台手機控制相同的音訊流。 在派對中,人們可輪流從同一個藍牙功能音訊內容庫中選擇最喜愛的音樂。 啟用「自動播放機 (Juke-box)」模式能讓使用者在清單中新增其最喜愛的旋律。 MCU 方案能達到「侵入」模式,讓高達七台智慧型手機以不同的獨立音訊流和控制功能控制同一個音訊系統。

音訊搭配控制

即使藍牙技術聯盟 (Bluetooth SIG) 已經制定並認可超過 30 種設定檔,在藍牙音訊和控制的新型應用領域中,以下四種設定檔應該是最重要的創新先驅。
  • 序列埠設定檔 (SPP) — 無線 RS-232 數據傳輸的標準替代方案。
  • 進階播音設定檔 (A2DP) — 用來串流多媒體音訊的最常見設定檔。 可透過 SBC 編解碼器串流音訊並支援 MPEG 和 AAC 壓縮編解碼器。
  • 音訊視訊遙控設定檔 (AVRCP) — 用於電視、家庭劇院等設備遙控的標準化設定檔,通常會搭配 A2DP 使用。 音訊同步是近期獲得認可的功能。舉例來說,在手機上變更音量時,受控系統上的音量也會同時受到手機調整。
  • 免持聽筒設定檔 (HFP) — 遠端通話
在軟體實作中,可同時使用多重設定檔,因此設計人員在打造新應用時享有很大的彈性。 換句話說,數據流與音訊流的整合能促成進階系統的誕生。

在設計階段中,必須針對模擬、測試和(藍牙)認證需求,提供相關要件。 因此,完整的開發系統將不只含有音訊,更會整合用來控制顯示器、按鈕、LED、麥克風和音樂的功能。 此外也含有 DSP,可進行音訊處理功能。 系統的控制層面(不僅僅只是音樂而已),正是採用 32 位元 MCU 的絕佳動機。

圖 1 顯示出基本藍牙音訊系統的數據路徑和主要元件,初步說明了設計此類功能時的基本要件。

從音訊搭配控制的新應用組合觀點來檢視這張圖片,來源側是行動電話,會串流可能經過加密的編碼數據(音訊和控制)。 此數據最終會抵達基頻層(一種藍牙無線電)。 數據流會前往位於流入側的協定堆疊,而此流入側可以是上述的任何裝置/智慧型家電。

軟體方案含有多重設定檔堆疊以及可修改原始碼的應用程式層。 堆疊會處理設定檔通訊,並可跟多種額外的應用元件進行互動,包括音訊解碼器、數位濾波、訊號源產生率轉換以及控制功能。 有多種解碼器可用於支援藍牙 A2DP 音訊串流的音訊應用,包括 SBC、AAC 和 MP3。 此模組化方案能讓裝置製造商透過功能、控制和記憶體成本達到潛力方案的差異化。

Microchip 的基本藍牙通訊示意圖

圖 1:基本藍牙通訊(資料來源:Microchip Technology)。

廠商的開發套件

針對通訊鏈路流入側的系統打造開發和入門套件是一項重大任務。 除了讓設計人員能更輕易地開發應用外,相容性和互通性測試也是任何 MCU 廠商推出此類套件時的所面臨的重大問題。

目前有多種行動作業系統可供選擇,包括 Android、Apple 的 iOS、Microsoft 的 Embedded Windows 以及 Blackberry,而且各有多種版本。 為了確保提供使用者可用的產品,套件廠商必須執行數百次相容性和互通性測試。 選擇套件時,確保設計能在最少甚至無需重工的情況下即可通過這些測試,會是設計人員的優先考量項目。

Microchip Technology 是加入此設計領域的競爭廠商之一, 目前在藍牙音訊開發套件中採用其 PIC32MX3PIC32MX4 元件。 圖 2 顯示了基本的硬體配置。

Microchip 的基本套件硬體配置圖

圖 2:Microchip 的基本套件硬體配置(資料來源:Microchip Technology)。

在此以該公司的 DC320032 藍牙音訊開發套件為例。 其威力來自於 100 MHz 中距 32 位元 PIC 元件,具有高達 100 個 I/O 和 512 KB 快閃記憶體/128K RAM。 基本套件整合了藍牙 HCI 子板,支援 Cambridge Silicon Radio 的 CSR8811 藍牙收發器(亦提供更低成本的模組)。 此外,也含有 24 位元 192 KHz DAC 及耳機輸出的 DAC 子板、USB 主機和裝置介面、2 吋彩色 LCD 顯示器以及按鈕控制功能。 為了讓開發人員的作業更加簡易,此套件亦可驅動眾多功能,例如 Apple 的驗證配接器選項、偵錯介面以及 SPI 快閃記憶體。

可編程介面模組 (PIM) 位於 MCU 頂層,能讓開發人員自行選擇是否要替換處理器,且又不會浪費寶貴的設計時間。 此外也提供彈性,能讓設計人員在未來用更低成本或更高效能的元件替代標準 MCU。

韌體可用性對於開發套件而言,一直是關鍵問題。 Microchip 提供的韌體,如圖 3 所示。

Microchip 開發套件可用的韌體示意圖

圖 3:Microchip 開發套件可用的韌體(資料來源:Microchip Technology)。

Microchip 亦推出採用其旗艦款 32 位元 MCU 的 200 MHz 高階入門套件:PIC32MZ2048ECH144DM320006 PIC32MZ 嵌入式連線入門套件可搭配其他系統啟用藍牙功能。 多媒體擴充板 2 (DM320005-2) 含有無控制器的圖形驅動器、4.3 吋 WQVGA 顯示器、多點觸控投射式電容觸控 (PCAP) 按鈕控制、VGA 攝影機、Wi-Fi、藍牙 HCI 模組、AKM Semiconductor AK4953 架構的 24 位元立體聲音訊編解碼器、三軸加速計以及溫度感測器。 目前正在整合展示能力,可搭配 Microchip 的 MPLAB Harmony 軟體框架使用,藉此支援藍牙數據和音訊應用。

何者才是合適的方案?

我們不得不承認,藍牙音訊搭配控制應用的精細度和複雜性,會讓開發人員有點遲疑不知從何開始開發。 最關鍵的元件,當然就是 MCU。 如同之前所述,32 位元 MCU 及其 32 位元指令集非常適合同時用來結合音訊和控制。 若要開始選擇套件,開發人員可參考表 1,其中說明應用和其對應的記憶體與 MIPS 需求。

說明 資源需求 峰值 MIPS
快閃記憶體 (KB) RAM (KB)
藍牙堆疊 (A2DP+AVRSPP+SBC) 搭配 Android 開放式配件音訊 Type-A USB 連線支援,以及 Samsung 音訊搭配 mini-B USB 連線支援。 271.734 38.8 ~30
藍牙堆疊(A2DP+AVRCP+SPP+AAC 解碼器)+ 圖形。 此展示採用更高品質的 AAC 音訊解碼器取代 SBC 解碼器。 251.5 34.9 ~65
藍牙數據堆疊(僅 SPP)。 此僅有數據、無音訊的展示並不支援 USB 音訊。 139.6 7.12 ~8
藍牙堆疊(A2DP+AVRCP+SPP+SBC 解碼器)+ 繪圖。 190.58 34.6 ~30
藍牙堆疊 (A2DP+AVRCP+SPP+AAC) 搭配 Android 開放式配件音訊 Type-A USB 連線支援,以及 Samsung 音訊搭配 mini-B USB 連線支援。 此展示採用更高品質的 AAC 音訊解碼器取代 SBC 解碼器。 332.7 39.7 ~65

表 1:應用資源需求範例,包括應用程式、藍牙堆疊以及圖形顯示元件(資料來源:Microchip Technology)。

第一欄(說明)指出執行的藍牙設定檔和其他應用程式。 這些範例雖然僅是用於展示,但是在彙整後,也可看出從最簡易的應用(僅有藍牙數據堆疊)到最高要求的應用(多重設定檔與高品質 AAC 解碼器)之間,記憶體和峰值 MIPS 有多大的差異。

結論

藍牙開發邁入新紀元,結合了數據控制和音訊,能加速促成許多新式應用,同時啟用多種藍牙設定檔,並達到多點控制和多重連線。 這些應用並不容易開發,尤其是必須通過藍牙互通性和相容的測試。 在這些應用中,有許多都採用 32 位元 MCU 做為必備元件,但其實這並非達到數據深度的必要項目,而是為了運用指令集資源。

矽元件廠商推出的開發套件和韌體方案能大幅減輕工程負擔,但也沒有任何一個方案可以滿足所有需求。 開發人員必須針對其應用,謹慎選擇合適的方案,而且應注重韌體可用性以及硬體效能。

若要深入瞭解此文章所述之零件,請使用本文所示之連結進入 DigiKey 網站的產品資訊頁面。

(編輯註解:本文係以 Microchip Technology MCU32 部門應用工程團隊組長 Michael Skow 的簡報為基礎撰寫。 Skow 將在 Microchip 的 2014 年 MASTERs 技術精英年會中進行簡報,時間為八月,地點在美國亞利桑納州鳳凰城。)

聲明:各作者及/或論壇參與者於本網站所發表之意見、理念和觀點,概不反映 DigiKey 的意見、理念和觀點,亦非 DigiKey 的正式原則。

關於作者

Jack Shandle

Article authored by Jack Shandle of e-ContentWorks.

關於出版者

Electronic Products

Electronic Products 雜誌和 ElectronicProducts.com 網站能為工程師與工程管理人員在設計電子設備與系統時提供資源。