1
背景介紹
藍牙低功耗音頻(Bluetooth LE Audio,以下簡稱:LE Audio)代表著下一代智能音頻設備的功能趨勢,LE Audio技術基于藍牙核心規范5.2版本引入的連接同步數據流(Connected Isochronous Stream,簡稱CIS)傳輸特性。CIS基于設備間建立的低功耗藍牙ACL連接,在相連設備間建立固定時間間隔(ISO Interval)、點對點的雙向數據流傳輸通道。由Central(手機、電腦或平板等)發起的CIS是CIG (Connected Isochronous Group)的成員,每個CIS對應一個獨立的音頻流,每個Central設備可以有多個CIG。
耳麥(headset)是耳機(headphone)與麥克風(microphone)的整合體。實際上就是耳機跟麥克風整合成為一體,通常Headset的耳機是播放立體聲音頻,麥克風采集單聲道音頻。本文主要介紹基于LE Audio的Headset應用流程分析。
Headset場景圖
2
Ellisys抓包流程分析
Headset的音頻源設備通過CIG的CIS來傳播音頻數據,Headset端發送可連接的擴展廣播(EA),Central端掃描到Headset端設備信息后先跟其建立ACL連接,兩端交互LE Audio的音頻能力以及配置ASE端點,然后再由Central發起建立CIS連接。
擴展廣播:
-
ADV_EXT_IND PDU——擴展廣播PDU
-
AUX_ADV_IND PDU——輔助廣播PDU
-
AUX_CHAIN_IND PDU——輔助鏈廣播PDU(可選)
ADV_EXT_IND PDU在37,38,39主頻段進行廣播,它的擴展頭字段包含一個AuxPtr字段,其中包含使其能夠與輔助AUX_ADV_IND PDU同步的數據。ADV_EXT_IND PDU的AuxPtr字段指向AUX_ADV_IND,即AuxPtr的值指向ADV_EXT_IND PDU廣播所在的其余0~36個頻段中的一個。
AUX_ADV_IND PDU包含一個Adv Data字段,其中包含Appearance、RSI(Resolvable Set Identifier)、ASCS(Audio Stream Control Service)、CAS(Common Audio Service)和TAMS(Telephony and Media Audio Service)。Appearance聲明Headset設備外觀,RSI聲明支持CSIS(Coordinated Set Identification Service),TMAS聲明設備支持Call Terminal和Unicast Media Receiver。
ASE狀態機簡介
ASCS中定義了Audio Stream Endpoint(簡稱 ASE) ,ASE又分為Source ASE和Sink ASE,其狀態機流轉分別如下圖所示,包含以下幾個狀態:
-
Idle——待機態,初始化默認處于Idle狀態。
-
Codec Configured——音頻參數,如采樣率、位寬、幀長等配置完成。
-
QoS Configured——連接參數,如PHY、Retransmit Num、Max Transport Latency等配置完成。
-
Enabling——使能態,client和server之間的CIS開始建立或者已經建立完成。
-
Streaming——流狀態,音頻流建立完成,音頻數據可以在client和server之間傳遞。
-
Releasing——釋放態,音頻資源釋放,該狀態是一個中間態,可通過除Idle態外的任何一個狀態進入。
-
Disabling——失效態,音頻流停止,該狀態只是一個中間態,可通過Receive stop ready操作退回到QoS Configured狀態。需要注意:該狀態只有Source ASE才擁有。
Source ASE狀態機流轉圖
Sink ASE狀態機流轉圖
接下來通過抓包來更加直觀的觀察上述的的音頻流過程:
首先挑選一個ADV_EXT_IND PDU包,通過AuxPtr可以同步到它指向的AUX_ADV_IND PDU所在的頻段11和偏移位置1.02ms。
然后通過AUX_CONNECT_REQ和AUX_CONNECT_RSP進行ACL連接,完成加密和服務發現等流程,包括下面要介紹的ASE交互流程。
Central端發現Headset端Sink和Source支持的音頻能力,包括采樣率、采樣周期、編碼方式等參數。Sink音頻能力是Headset的音頻播放(揚聲器),Source音頻能力是Headset的音頻采集(麥克風),下圖Source支持的詳細音頻參數,Sink端與其類似。
這部分通過抓包詳細解析CIS配置流程:
下圖為CIS配置抓包的完整流程,1是Codec Config流程,2是QoS Config流程,3是建立CIS連接通道,4是Enabling流程,5是Streaming流程。下面詳細分析每個流程的具體內容。
1、Central端對Headset端上下行的Codec進行配置,包括上行MIC采樣率16kHz、下行雙聲道音頻采樣率48kHz,幀長10ms、位寬16bits等參數,Headset端會回復是否配置成功。
2、Central端對Headset端上下行的QoS進行配置,包括2M的PHY、Retransmision Number為13,Max Transport Latency為40ms等參數,Headset端會回復是否配置成功。
3、Central端發起CIS Request進行CIS的建立流程,包括ISO Interval為10ms,Sub Interval為1.410ms和開始建立CIS的錨點等參數。
4、Central端發起Enable控制命令,Headset端回復Enabling成功,回復Sink ASE和Sourc ASE端Enabling的ASE ID、CIS ID等參數。
5、Central端發起Enable控制命令,Headset端回復Streaming成功,回復Sink ASE和Sourc ASE端Streaming的ASE ID、CIS ID等參數。
3
結合代碼分析CIS音頻流建立過程
下面我們結合Telink的b91_ble_audio_sdk中的LE Audio的應用代碼來解析一個CIS音頻流建立過程:
-
CIS Audio服務配置,以及ASE Sink和ASE Source的音頻能力參數配置表
-
設置擴展廣播,參數設置可以對應上面抓包
-
注冊profile事件回調函數表,下圖僅列出對應ASE Sink和ASE Source配置流程的一些回調函數
-
設置codec的默認參數
擴展廣播配置完成后會在ble協議棧運行起來后開始廣播。Central設備在掃描到廣播后進行ACL連接,并在完成ASE流程后發起CIS流程建立。
-
數據的接收和發送處理
將代碼燒錄到Telink B91 EVK,支持CIS的手機打開藍牙即可搜索到"tlk_le_headset"設備,點擊連接即可與手機進行數據通信,或者采用配套的dongle進行通信測試。
4
展望
藍牙5.2 LE Audio技術將極大擴展無線音頻的應用場景。藍牙5.2帶來的無線多重串流音頻技術,將從根本上改變人們對無線音頻技術的使用習慣,為用戶帶來全新的體驗,也為用戶和市場帶來無限可能。如果需要Ellisy抓包日志歡迎聯系我們。
關 于 泰 凌
泰凌微電子致力于為客戶提供一站式的低功耗高性能無線連接SoC芯片解決方案,包括經典藍牙,藍牙低功耗,藍牙Mesh,Zigbee,Thread,Matter,Apple HomeKit,Apple“查找(Find My)”,和私有協議等低功耗2.4GHz多協議無線連接系統級芯片和豐富的固件協議棧。公司產品廣泛應用于智能照明,智能家居/樓宇,智能遙控,無線外設,智能零售,穿戴設備,無線音頻,智能玩具,物流追蹤,智慧城市等各類消費和商業應用場景中。
官網:www.telink-semi.com
微信公眾號:telink-semi
https://developers.telink-semi.cn/
銷售接洽:
中國大陸(華東、華北) :
+86-21-20281118-8213
中國大陸(華南、香港、音頻) :
+86-0755-26614003
telinksales@telink-semi.com
原文標題:【技術專欄】泰凌微電子藍牙低功耗音頻應用流程分析 —— Headset
文章出處:【微信公眾號:泰凌微電子】歡迎添加關注!文章轉載請注明出處。
-
泰凌微
+關注
關注
6文章
144瀏覽量
10788
原文標題:【技術專欄】泰凌微電子藍牙低功耗音頻應用流程分析 —— Headset
文章出處:【微信號:telink-semi,微信公眾號:泰凌微電子】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論