藍牙和音頻應用實際上就是互為對方而生。 藍牙市場成功的第一個十年幾乎完全得益于在音頻耳機中的集成藍牙技術。 當智能手機走進人們生活時,藍牙仍是一種自然選擇,幾乎在每一個部智能手機芯片中都能找到藍牙的蹤跡。 人們喜歡用智能手機傳輸音樂。
隨著藍牙和智能手機的不斷發展,應用已經有些跟不上速度了,盡管這在某種程度上有悖正常事物發展順序。 然而,隨著只能由一個藍牙主機設備到一個藍牙從設備單向通話時代的迅速完結,上述情況也在發生變化。
對設計工程師來說,這意味著多協議、多連接、多設備,以及一個嶄新而美妙的音頻應用世界已如黎明破曉般來臨。 智能手機用戶希望有更多選擇,而藍牙技術已為此做好了準備。
起點: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 所示為基本藍牙音頻系統的數據通道和主要元件,我們以此為起點詳細介紹創建此類功能的基本設計點。
從全新“音頻 + 控制”應用組合的角度看該圖,發送設備 (source) 側為手機,正在傳輸可以進行加密的編碼數據(音頻和控制)。 數據會最終找到進入基帶層(藍牙無線電)的途徑。 數據流執行接收設備 (sink) 側的協議堆棧,接收側設備可以是上文提到的任何設備/智能家電。
軟件解決方案同時包括多協議堆棧和一個可以在源代碼中修改的應用層。 堆棧處理規范通信,能與各種各樣附加應用元件進行互動,包括音頻解碼器、數字過濾、發送側速率轉換和控制特性。 有多個解碼器可用于支持藍牙 A2DP 音頻流的音頻,包括 SBC、AAC 和 MP3。 利用這種模塊化解決方案,設備制造商可按照特性、控制和存儲器成本區分各種潛在的解決方案。
??
圖 1:基本藍牙通信(感謝 Microchip Technology 提供此內容)。
供應商開發套件
為通信鏈路的接收 (sink) 側系統創建開發和入門套件是一項重要工作。 雖然兼容性和互操作性測試能讓設計人員更輕松地開發應用,但對于任何 MCU 供應商來說則是一個極為重要的問題。
目前有多種移動 OS,包括安卓 (Android)、蘋果的 IOS、微軟的嵌入式 Windows 以及黑莓 (Blackberry) 系統,且每個系統都有眾多 OS 版本。 為確保一款切實可行的最終用戶產品,套件供應商必須進行數百次兼容性和互操作測試。 根據列出的問題清單,設計人員在選擇套件時,必須可靠地保證其設計能通過這些測試且返工量最少或無需返工。
Microchip Technology便是該設計領域的競爭者之一。 該公司在藍牙音頻開發套件中采用了其PIC32MX3和PIC32MX4器件。 圖 2 所示為基本硬件配置。
??
圖 2:Microchip 套件的基本硬件配置(感謝 Microchip Technology 提供此內容)
我們具體看一下該公司的DV320032藍牙音頻開發套件。 該套件由 100 MHz 中級 32 位 PIC 器件提供動力,具有多達 100 個 I/O 和 512 KB 閃存/128K RAM。 這一基本套件集成了可支持 Cambridge Silicon Radio 的 CSR8811 收發器的藍牙 HCI 子板(也可提供低成本模塊)。 此外,還包括一個 DAC 子板,板上集成了一個 24 位 192 kHz DAC 和耳機輸出、USB 主機端口和設備接口、一個 2 英寸彩色 LCD 顯示屏以及按鈕控制功能。 為使開發工作變得更輕松,該套件可驅動許多不同的功能,如蘋果認證適配器 (Apple Authentication Adapter) 選項、一個調試接口、一個 SPI 閃存。
MCU 頂部有一個可編程接口模塊 (PIM),可讓開發人員可選擇改換處理器,而不必擔心失去寶貴的設計時間。 將來,設計人員利用該模塊還能用更低成本或更高性能的器件靈活地更換標準 MCU。
固件的可獲取性始終是套件開發的一個關鍵問題。 Microchip 提供如圖 3 所示固件。
??
圖 3:已面市的 Microchip 開發套件固件(感謝 Microchip Technology 提供此內容)。
Microchip 還把基于其 32 位旗艦 MCU 的更高端入門套件——200 MHzPIC32MZ2048ECH144推向市場。
DM320006 PIC32MZ
嵌入式連接入門套件也可與另一個系統配合來實現藍牙功能。 多媒體擴展板 2 (DM320005-2) 包括一個無控制器圖形驅動、4.3 英寸的 WQVGA 顯示屏、多點觸控投射式電容觸控 (PCAP) 按鈕控制、VGA 攝像頭、Wi-Fi、藍牙 HCI 模塊、基于 AKM Semiconductor AK4953 的 24 位立體聲音頻編解碼器、3 軸加速計和一個溫度傳感器。 一種能與 Microchip MPLAB Harmony 軟件架構配合工作的演示功能正被集成到該套件中,以支持藍牙數據和音頻應用。
哪個解決方案合適?
不可否認,藍牙“音頻 + 控制”應用的尖端性和復雜性令開發人員在如何開始開發方面感到些許困惑。 當然,關鍵器件就是 MCU 本身。 如前所述,32 位 MCU 及其 32 位指令集是同時組合音頻和控制功能的理想選擇。 在首次選擇使用哪個套件時,開發人員可以參考表 1。該表介紹了一些應用及相應的存儲器和 MIPS 要求。
??
表 1:應用資源要求示例,包括應用、藍牙堆棧、圖形顯示元件(感謝 Microchip Technology 提供此內容)。
第一欄(描述)說明所運行的藍牙規范和其它應用。
這些示例僅作演示之用,但組合在一起則說明一點,就是對于從最簡單(僅藍牙數據堆棧)到最苛刻的應用(多規范和高品質 ACC 解碼器)來說,存儲器和峰值 MIPS 會出現顯著變化。
結論
一個使用語音進行數據控制的藍牙開發新時代將孕育出許多全新的應用,讓多個藍牙規范同時激活并擁有多點控制、多線連接成為現實。 這些應用可能開發難度大,尤其因為它們必須通過藍牙交互操作和兼容性測試。 這些應用中的許多也將會把 32 位 MCU 作為必要器件,但這不是為了滿足數據深度之需,而是為了獲得指令集資源。
雖然硅器件供應商提供的開發套件和固件能顯著減少設計工作,但始終沒有一個萬能解決方案出現。 開發人員因此必須認真挑選適合自己應用的正確解決方案,同時還應考慮固件的可獲取性和硬件的性能。
評論
查看更多