<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > 基于意法半導(dǎo)體STM32WBA55G-DK1 無線藍牙LE audio解決方案

          基于意法半導(dǎo)體STM32WBA55G-DK1 無線藍牙LE audio解決方案

          作者: 時間:2024-06-24 來源:大大通 收藏

          低功耗藍牙 音訊是一項新功能,可透過低功耗藍牙進行音訊串流。

          本文引用地址:http://www.ex-cimer.com/article/202406/460255.htm

          現(xiàn)在幾乎所有藍牙裝置都在使用藍牙低功耗。需要雙模式控制器透過經(jīng)典藍牙傳輸音訊的音訊串流裝置除外。藍牙特別興趣小組 (Bluetooth? SIG) 提出了一種透過藍牙低功耗啟用和增強音訊串流的解決方案。

          經(jīng)典藍牙(BR/EDR) 音訊已經(jīng)是當(dāng)今世界上最常用的音訊無線系統(tǒng)。下一代藍牙低功耗音訊即將到來。與傳統(tǒng)的藍牙相比,低功耗藍牙降低了功耗,并為音訊串流帶來了全新的可能性。

          其中之一是Auracast?廣播音訊。 Auracast? 是新的藍牙標準。它使聽眾能夠向多個用戶共享音訊。它是根據(jù)以下三個基本原理定義的:

          • 分享您的音訊:Auracast? 廣播可讓您邀請其他人分享您的音訊體驗,并拉近我們之間的距離

          • 讓世界變得安靜:Auracast? 廣播音訊讓您能夠在公共場所充分享受電視節(jié)目,解除曾經(jīng)的靜音并創(chuàng)造更完整的觀看體驗

          • 聽到最好的聲音:Auracast? 廣播讓您可以在任何地方聽到最好的聲音。


          有關(guān) Bluetooth? 低功耗音訊和 Auracast? 的更多資訊: [1] [2] [3] [4]

          MicroElectronics 推出的 M32WBA 可透過 M32 實現(xiàn)藍牙?低功耗音訊。透過STM32WBA55G-DK開發(fā)套件,使用者可以存取嵌入式藍牙?低功耗音訊軟體,從而允許用戶對其進行測試和使用。有四個可用的演示,可以在用例設(shè)定檔中找到。這些應(yīng)用程式包含在 STM32CubeWBA MCU 套件中。

           

          2. LC3編解碼器

          藍牙低功耗音訊基于新的音訊編解碼器:LC3,用于低復(fù)雜性通訊編解碼器。它是由弗勞恩霍夫 (Fraunhofer)設(shè)計的。這款編解碼器可以在藍牙低功耗音訊產(chǎn)品中免費使用,這意味著藍牙低功耗音訊是完全可互通的,而不依賴供應(yīng)商特定的編解碼器。

          LC3 帶來了新的質(zhì)量,高于經(jīng)典藍牙音訊上使用的強制編解碼器。這款編解碼器主要是為嵌入式產(chǎn)品設(shè)計的,具有較低的復(fù)雜性和較低的記憶體占用,但仍具有較高的品質(zhì)。

          LC3:

          • 通道獨立:可設(shè)定/用于單聲道或立體聲流

          • 適用于音樂和語音(從窄帶:8kHz 到全帶:48kHz)

          • 與行動編解碼器完美配合(減少音訊損失)。

          • 允許非常低的延遲(在音訊設(shè)定檔中定義)

          將 LC3 與經(jīng)典藍牙音訊的典型編解碼器進行比較:

          • LC3 的品質(zhì)比 SBC 高得多,但復(fù)雜性更高

          • LC3 的品質(zhì)比 OPUS 更好,但復(fù)雜性更低

          • LC3 的品質(zhì)低于 LDAC 或 aptX(及其無損版本),因為它們的復(fù)雜性要高得多。

          有關(guān) LC3 及其在我們解決方案中的整合的相關(guān)資訊可以在這里找到:LC3 編解碼器。

          如果您需要更多信息,請參閱以下由藍牙 SIG 進行的有關(guān) LC3 的一些研究: [5] [6]

           

          3.鏈路層和同步通道Link Layer and isochronous channels

          藍牙低功耗音訊也基于藍牙 5.2 選擇的功能:同步通道。這是鏈路層功能。此功能允許透過新連接傳輸:同步流。

          有兩種類型的同步流:

          • 連接同步串流(CIS):使用戶能夠透過藍牙連線獲得音訊串流。這是處理藍牙低功耗音訊的經(jīng)典方法(一臺設(shè)備一個連接,例如耳機)。透過兩個 CIS,使用者可以將同步音訊串流傳輸?shù)絻蓚€不同的裝置(用于耳塞或助聽器)

          • 廣播等時流(BIS):使用戶能夠向任何能夠接收該音訊串流的接收器廣播一個或兩個音訊串流。它不需要連接,這意味著可以有無限數(shù)量的接收器。

          這兩種類型的同步流為藍牙低功耗添加了新功能:

          • 它定義了整個串流媒體時間的系統(tǒng)延遲(沒有任何漂移)。此延遲低于經(jīng)典藍牙音訊。

          • 同時它也定義了重傳。應(yīng)用程式可以請求優(yōu)先考慮盡可能低的延遲的系統(tǒng)(這可能會導(dǎo)致由于最小重傳而丟失一些資料包),或者優(yōu)先考慮更好的品質(zhì)的系統(tǒng)(這確保接收所有資料包,但可能導(dǎo)致更高的延遲)。

          將同步串流與經(jīng)典藍牙音訊進行比較,可以注意到一些重要的差異:

          HFP/HSPA2DP帶有 BAP 的藍牙 LE 音頻
          資料透過 SCO(面向同步連線)傳送資料透過 ACL(面向異步連線)傳送資料透過同步資料流(CIS 或 BIS)發(fā)送
          數(shù)據(jù)是連續(xù)的數(shù)據(jù)是連續(xù)的資料按時間戳同步
          SCO中沒有重傳所有資料包都會被傳輸,如果鏈路品質(zhì)較差,則會導(dǎo)致無限重傳數(shù)據(jù)可以重傳,但有時間有效性,過了一定時間就過時了
          延遲始終相同但未定義延遲未定義,可能會有一些滯后或漂移。延遲始終在系統(tǒng)中定義,并且在串流傳輸期間不能更改。

          它使發(fā)送者能夠以無線電方式“傳輸”音訊。為了透過 ACL 連線啟動單播音訊串流,單播用戶端和服務(wù)器交換有關(guān)串流品質(zhì)、重傳、音訊通道數(shù)量(單聲道/立體聲)和延遲的資訊。


          除了同步頻道之外,Bluetooth? 低功耗音訊還需要兩個功能:

          • 擴展廣告:例如,它可以提供公開某些音訊功能所需的更多信息

          • 定期廣告:此功能啟用廣告,這是周期性的而不是隨機的。觀察者可以同步獲取一些信息,并查看一段時間內(nèi)的任何變化。

           

          4.音訊簡介

          現(xiàn)在,藍牙低功耗音訊的基礎(chǔ)(LC3 和同步通道)已啟用,藍牙SIG 開發(fā)了一個全新的框架,能夠配置所有類型的音訊串流:
          藍牙SIG 開發(fā)了一個全新的框架

          音訊框架的基礎(chǔ)是音訊串流管理,由基本音訊設(shè)定檔 (BAP) [7]定義。它是藍牙?低功耗音訊的強制性設(shè)定檔。它定義了流類型、配置、功能、品質(zhì)、延遲等。

          BAP 與三種服務(wù)一起使用:

          • 發(fā)布的音訊功能服務(wù)(PACS)Published audio capabilities service:用于公開設(shè)備的音訊功能。

          • 音訊串流控制服務(wù)(ASCS)Audio stream control service :啟用設(shè)定單播流。

          • 廣播音訊掃描服務(wù)(BASS)Broadcast audio scan service:允許請求客戶端代表服務(wù)器掃描廣播音訊串流。

          BAP 定義了兩種類型的串流:單播和廣播,如下所列。

           

          5.單播Unicast

          單播是基于連線的同步串流 (CIS) 的連線音訊串流。這意味著透過單播,您可以透過 CIS 建立連接的音訊串流。要建立單播流,首先需要一個 ACL 連線來透過 GATT 和 LLCP 交換所有有用資訊。單播分為兩個角色:

          • 單播客戶端:建立與單播服務(wù)器的連接,發(fā)現(xiàn)其功能并配置音訊流。該角色由智能手機、筆記型電腦、電視等使用。

          • 單播服務(wù)器:通告其角色,公開其功能,接受單播服務(wù)器設(shè)定音訊串流。耳機、揚聲器、某些助聽器、某些耳塞甚至麥克風(fēng)都可以使用此角色。

          此外,單播客戶端可以同步串流傳輸?shù)絻蓚€單播服務(wù)器。

          為了透過 ACL 連線啟動單播音訊串流,單播用戶端和服務(wù)器交換有關(guān)串流品質(zhì)、重傳、音訊通道數(shù)量(單聲道/立體聲)和延遲的資訊。

          流可以是

          • 單向(用于音樂)或雙向(用于通話)。這稱為音頻流的拓撲。它們是由單播客戶端從單播服務(wù)器公開的內(nèi)容中選擇的。 BAP 規(guī)格中列出了所有可能的拓樸。[7]

          • 低品質(zhì)或高品質(zhì)。單播客戶端還根據(jù)單播服務(wù)器公開的內(nèi)容選擇品質(zhì)。所有這些可能性也列在 BAP 規(guī)格中。[7]

          • 低延遲或高可靠性。這是在單播客戶端和單播服務(wù)器之間交換的。 BAP 規(guī)范中對此進行了描述。[7]

          主要用例是:

          • 1 部電話連接到 1 個耳機/揚聲器(請參閱圖 5.1)

          • 1 支手機連接 2 個耳塞/助聽器(見圖 5.2)

          圖 5.1 帶耳機的單播
          帶耳機的單播


          圖 5.2 使用某些耳塞進行單播
          使用某些耳塞進行單播

           

          6.播出 Broadcast

          廣播是一種非連接的音訊串流,基于廣播等時流(BIS)。任何能夠掃描并同步到該音訊串流的接收器都可以聽到它。這是一個新的用例,允許無限數(shù)量的用戶收聽相同的音訊串流。

          它可以是手機上與朋友分享的音樂,也可以是直接翻譯成另一種語言的會議通知,也可以是直接在耳塞中接收的火車通知。

          該流是公開的,但可以加密,并且需要密碼才能同步。由于串流是廣播的,因此只能是單向的。

          BAP 還增加了另一個功能。由于廣播沒有連接,用戶需要一種方法來直接在接收器上同步到串流。但大多數(shù)時候,這些設(shè)備沒有任何螢?zāi)换虬粹o太少,無法有效地選擇音訊串流。這個角色稱為廣播助理,可以是電話,例如控制聽力設(shè)備。手機將掃描所選流的資訊并將其發(fā)送到聽力設(shè)備。

          廣播定義了四種角色:

          • 廣播來源:建立BIS并透過擴展廣告和定期廣告來廣告所有資訊。

          • 廣播接收器:掃描廣告找到廣播來源,并同步接收音訊串流

          • 掃描委托者:公開其功能并等待廣播助理接收廣播源的一些資訊和命令。掃描委托者還具有廣播接收器角色,以同步到所選的廣播來源。

          • 廣播助理:掃描廣告尋找廣播來源,發(fā)現(xiàn)掃描委托人功能。它將廣播來源的資訊傳送給掃描委托者。


          主要用例是:

          • 1 部電話/筆記型電腦/電視將相同的音訊傳送到多個音訊裝置。

          • 公共場所向任何想要透過藍牙接收的人發(fā)布 1 個公告。

          • 1 段為聽力損失人士播放的影片或會議,或翻譯成其他語言。

          以下是火車站向任何人廣播的公告范例。揚聲器(或任何音訊設(shè)備)可以將自身同步到廣播來源(請參閱圖 6.1)?;虻靡嬗诰哂袕V播助理角色的智能手機(見圖 6.2)。

          圖 6.1 廣播接收器架構(gòu)

          廣播接收器架構(gòu)

          圖6.2 直播助手架構(gòu)
          直播助手架構(gòu)

           

          7.遠端控制設(shè)定檔 Remote control profiles

          通用音訊框架也定義了新的設(shè)定檔來控制一些音訊連結(jié)進程:

          現(xiàn)在音訊串流已啟動,裝置需要其他設(shè)定檔來設(shè)定收聽部分。我們在聽音樂、打電話嗎?這就是這些其他配置文件的作用,增加了與任何設(shè)備的更多互通性。

          • 媒體控制設(shè)定檔(MCP)Media control profile 及其服務(wù)((通用)媒體控制服務(wù) - GMCS 和 MCS):外圍設(shè)備將能夠透過任何操作來控制中央設(shè)備:啟動、暫停、播放、停止媒體以及讀取一些資訊如曲目名稱、曲目位置、下一首曲目等

          • 呼叫控制設(shè)定檔(CCP) Call control profile及其服務(wù)((通用)電話承載服務(wù) - GTBS 和 TBS):外設(shè)能夠執(zhí)行電話可以執(zhí)行的任何操作:接聽、拒絕、保持、終止呼叫,并且還可以查看一些諸如呼叫姓名、訊號、提供者等資訊。

          • 協(xié)調(diào)集識別設(shè)定檔(CSIP) Coordinated set identification profile及其服務(wù)(協(xié)調(diào)集識別服務(wù) - CSIS):它使多個裝置能夠識別為協(xié)調(diào)集(例如耳塞或音響系統(tǒng))。有了這種訊息,中央設(shè)備就能夠連接到該組的所有設(shè)備并將它們配置在一起,以進行音訊串流和控制。[10]

          • 麥克風(fēng)控制設(shè)定檔(MICP)Microphone control profile 及其服務(wù)(麥克風(fēng)控制服務(wù) - MICS):它允許使用者控制音訊輸入選擇及其屬性,例如音量偏移、靜音和取消靜音等[11]

          • 音量控制設(shè)定檔(VCP)Volume control profile 及其服務(wù)(音量控制服務(wù) - VCS、音量偏移控制服務(wù) - VOCS、音訊輸入控制服務(wù) - AICS):它允許使用者控制音訊串流的音量、偏移量、目前音量音量位置、靜音和取消靜音等。[12]

          通用音訊設(shè)定檔( CAP)Common audio profile 能夠透過以下所有設(shè)定檔控制 BAP,從而建立處理音訊串流的完整框架。它可以將呼叫或媒體的某些命令與音訊串流的開始/停止連結(jié)起來,或讀取其資訊(音樂標題、呼叫者姓名...)。也可以將指令連結(jié)在一起放在一組協(xié)調(diào)的耳機中(如兩個耳塞)。[13]

          有關(guān)配置文件及其參數(shù)/可能性的更多詳細資訊在架構(gòu)和整合中列出。


          8.
          用例簡介

          CAP 上方是使用案例設(shè)定檔。他們定義了一些功能和程序,以便能夠與盡可能多的設(shè)備進行互動。

          • 公共廣播設(shè)定檔(PBP)Public broadcast profile:為公共廣播(例如公告)和接收者(任何使用者)而制作。它僅使用廣播串流。[14]

            • 2 個使用 PBP 制作的應(yīng)用程式已經(jīng)可用:STM32WBA 公共廣播設(shè)定檔

          • 電話和媒體音訊設(shè)定檔(TMAP)Telephony and media audio profile:專為呼叫和媒體用例而設(shè)計,它可以使用廣播和單播。[15]

            • 2 個使用 TMAP 制作的應(yīng)用程式已經(jīng)可用:STM32WBA 電話和媒體音訊設(shè)定文件

          • 助聽器設(shè)定檔(HAP)Hearing aid profile:專為助聽器用例而設(shè)計。[16]

          • 游戲音訊設(shè)定檔(GMAP)Gaming audio profile:專為游戲用例而設(shè)計。[17]




          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();