栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

LE Audio 蓝牙协议规范(3)-EA,PA详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LE Audio 蓝牙协议规范(3)-EA,PA详解

LE Audio 蓝牙协议规范

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什么关系
EA

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 中,导致有部分时间重合
PA

BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 6, Part B
PA: Periodic advertising events
BT 5.1 引入相关feature

host adv 数据发送

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 理解

PA是用于在固定的interval中,周期性的发送数据

上图理解:

  • PA event 是从第一个SYNC 包开始的,由最后一个CHAIN包结束
  • CHAIN是可选,如果host adv data 比较少,可以不用CHAIN包
  • 两个SYNC包之间的间隔是PA interval
  • 两个PA Event之间不能有重复
periodic advertising train

在固定间隔时间内发送的sync 包,有相同的ADI,AA,CRCInit,PYH
一旦PA被设置,controller必须保证advertising data最小包含31个字节内容
一个periodic train,可能包含多个PA event,并且并不重合

总结 EA 是PA的前置步骤,在包含AuxPtr引出 AUX_ADV_IND AUX_ADV_IND 包含SyncInfo,引出PA sync 包 sync 包中携带的BIGInfo为后续转跳到BIS 做准备。 本系列内容LE audio 主要以BMS 和BMR为例,做重点理解,所以对广播包篇章有所偏重。 作为BMS设备,需要设置好PA,携带相关BIGInfo 数据,通过PA 发送给周围设备 作为BMR设备,需要同步到PA,获取相关的BIGInfo设备,最终拿到BIS携带数据及参数 本章节仅简单描述了一下PA和EA流程,为深入了解BIS做准备
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/292283.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号