背景
BT 5.0开始引入BLE 扩展广播,单个广播可以携带更多的字节数(从legacy的31个字节扩大到251个字节),同时广播的信道也不再拘泥于原来的37,38,39信道,引入辅助信道概念(0-36信道均可),为BLE AUDIO的应用打下了坚实的基础,下面结合手机和耳机的ellisys空口包,来分析BLE AUDIO CIS扩展广播的连接配对过程:
CIS扩展广播
如上图:绿色框表示耳机在37,38,39三个信道同时发送了ADV_EXT_IND广播,接着在辅助信道(0-36)上出现一个AUX_ADV_IND的广播包,如红色框所示。后面都是如此,先3个ADV_EXT_IND,接着1个AUX_ADV_IND。下面分别看看ADV_EXT_IND和AUX_ADV_IND的内容:
ADV_EXT_IND
如上图,ADV_EXT_IND参数解释如下:
参数 | 值 | 详解 |
---|---|---|
PDU Type | ADV_EXT_IND | 广播类型 |
Adv Mode | Connectable / Non Scannable | 可连接不可扫描模式,就是手机可以连接,但发送scan request不会回复scan response |
Flags | AdvDataInfo |AuxPtr | 标志位,此数据包包含AdvDataInfo 和 AuxPtr字段 |
Advertising Data ID (DID) | 0xED7 | 此广播数据的编号 |
Advertising Set ID (SID) | 0x0 | 广播集ID |
LL Channel | 9 (data) (RF 10, 2422 Mhz) | 指明接下来的AUX_ADV_IND在9通道 |
CA (Clock Accuracy) | 51 ppm to 500 ppm | 时钟精度 |
Offset Units | 30 us | 时钟偏移单位 |
Auxiliary Offset | 1.290 ms [@1.125 210 000] | 接下来的AUX_ADV_IND在当前时钟偏移1.29ms |
Auxiliary PHY | LE 1M | 使用LE 1M PHY |
AUX_ADV_IND
如上图,AUX_ADV_IND参数解释如下:
参数 | 值 | 详解 |
---|---|---|
PDU Type | AUX_ADV_IND | 广播类型 |
Flags | BR/EDR Not Supported Yes | 不支持BR/EDR,也就是不支持经典蓝牙 |
Resolvable Set Identifier | Hash 0xD6ADAF | RSI,类似于resolvable random address,通过SIRK解析出此设备的Coordinate Set ID。 |
Available Sink Contexts | Unspecified Media, conversatinonal Game | 耳机端作为sink支持的应用场景包括未定义,音乐,通话,游戏,指令,语音助手等等 |
Available Source Contexts | Unspecified Conversational Live Ringtone | 耳机端作为source端支持的应用场景 |
Tx Power Level | 127dBm | 发送功率大小 |
Category | Earbud | 耳机类目 |
Uuid | Telephony and Media Audio | 耳机支持TMAP服务,包括电话终端,单播媒体接收,广播媒体接收 |
Uuid 1 | Audio Stream Control | 耳机支持ASC Service,包括ASE codec config, qos config, stream enable, streaming。 |
Uuid 2 | Broadcast Audio Scan | 耳机支持BAS Service,广播扫描服务 |
Uuid 3 | Published Audio Capability | 耳机支持PAC Service,耳机会公布自己支持多少个端点,每个端点的codec能力,以及支持应用场景 |
Uuid 4 | Volume Control | 耳机支持VC Service,音量控制 |
Uuid 5 | Microphone Control | 耳机支持麦克风控制,控制播放歌曲,上一首,下一首,暂停,跳过等。 |
扩展广播BLE连接
如上图所示,手机发起BLE扩展广播连接会在与AUX_ADV_IND同一信道上发送一个类型为AUX_CONNECT_REQ的广播包,耳机回复AUX_CONNECT_RSP,注意在legacy BLE耳机端是不需要回复response,这也是扩展广播连接和legacy广播连接的区别。
关于右边红色框的参数介绍,在我之前的文章有过介绍:https://blog.csdn.net/Jzj1234555/article/details/142498239,这里不再赘述。
如上图所示,接下来的配对过程会通过如下步骤完成BLE配对工作:
- LLCP feature exchange :耳机和手机互相交换支持的feature:
-
LLCP Data Length update:用于协商双方最大的接收发送字节数和需要的时间。
-
LLCP LE Channel Reporting Indication:开启信道评估,最小时间间隔1s,最晚2.4s完成一次评估。
-
LLCP Version Exchange: 手机和耳机交互当前支持的蓝牙版本和芯片场家。
-
LLCP Power control:手机和耳机收发数据的功率
-
SMP加密:可以参考之前的文章:https://blog.csdn.net/Jzj1234555/article/details/142743229)
-
LLCP Encryption start:完成链路加密,最后进行密钥的分发。