LE Audio 蓝牙协议规范(1)-LE 状态
LE Audio 蓝牙协议规范(2)-物理信道及PDU
LE Audio 蓝牙协议规范(3)-EA,PA详解
文章目录
- LE Audio 蓝牙协议规范
- 前言
- 弄清楚三个问题
- EA
- PA
- host adv 数据发送
- PA 理解
- periodic advertising train
- 总结
前言
文章写到第三篇,都是一些基础内容梳理,不断向LE Audio Spec靠近,只为对LE 感兴趣的同学,能够整体了解LE Aduio规范,如果有LE 基础,可以跳过此篇。也欢迎各位蓝牙大佬拍砖,指正,感谢!
弄清楚三个问题
- EA是什么?
- PA是什么?
- EA和PA与LE Audio什么关系
BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 6, Part B 有详细介绍
EA :Extended advertising event
从BT 5.0 开始,引入了LE Advertising Extendsion,用于发送超长广播包,在第二广播物理信道。
在第二章已经详细解释过了ADV_EXT_IND PDU。
需要特别强调一下,不是如下feature,这个是host 端 EATT feature
EA是有一系列 PDU 组成,这些广播包PDU 包括:
必须包含:ADV_EXT_IND,AUX_ADV_IND
可选:AUX_CHAIN_IND
无一例外,这些PDU都包含common extend header
弄清楚下面一张图,就可以大概了解什么是EA
EA 开始于 ADV_EXT_IND,结束于 AUX_ADV_IND或AUX_CHAIN_IND
T_advEvent = advInterval + advDelay
一个event 周期有两个公式决定,advInterval必须是slot (0.625ms)整数倍,advDelay 0-10ms
T_MAFS EXT和AUX之间最小的时间间隔是300μs
这张图简单解析一下:
- 这是两个ADV_EXT_IND#1和#2指向同一个AUX_ADV,不包含CHAIN 包,所以EA event都是以AUX_ADV_IND作为结束标志
- 这两个EA event开始时间节点不同,但是结束时间节点相同,中间有一部分重合
另一种情况,也做个解读
- 这种情况包含CHAIN包,每个EA event以ADV_EXT_IND(#1,#2,#3)开始,#2#3指向同一个AUX_ADV_IND和同一组AUX_CHAIN_IND
- 第一组EA evnet中AUX_CHAIN_IND可以穿插在第二组EA event 中,导致有部分时间重合
BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 6, Part B
PA: Periodic advertising events
BT 5.1 引入相关feature
Host 发送的广播包数据存放在AdvData内,最大不超过1650 字节,在LL 层这些数据会被分割,按照最小数量包分割,意味着前几包数据按照广播包最大playload 发送,AdvData 数据范围是0-254字节,大约6.4包数据,可以将host 数据发送完成
当分割后的数据,第一包数据放在AUX_ADV_IND或者SYNC包中,剩下的放在CHIAN包中
如果数据发送不完,最后一包CHAIN,需要再AuxPtr 内offset全部设置为零,意思是后续没有更多的CHIAN包,scanner拿到这个广播包之后,就会意识到host端数据被截断,没有发送完成
怎么理解这句话“Any auxiliary PDU shall be an AUX_CHAIN_IND PDU”
CHAIN PDU用于发送额外的AdvData,AUX_ADV_IND,AUX_SYNC_IND,AUX_SCAN_RSP都属于特殊的CHAIN PDU,因为都可能包含AdvData,都是Ext PDU由Auxptr引出,aux_adv包含snycInfo引出sync 包,原理上跟Auxptr一个意思,暂且这么理解
PA是用于在固定的interval中,周期性的发送数据
上图理解:
- PA event 是从第一个SYNC 包开始的,由最后一个CHAIN包结束
- CHAIN是可选,如果host adv data 比较少,可以不用CHAIN包
- 两个SYNC包之间的间隔是PA interval
- 两个PA Event之间不能有重复
在固定间隔时间内发送的sync 包,有相同的ADI,AA,CRCInit,PYH
一旦PA被设置,controller必须保证advertising data最小包含31个字节内容
一个periodic train,可能包含多个PA event,并且并不重合



