Bluetooth Channel Sounding中关于CS Event & Subevent的详细介绍

BLE CS Event & Subevent定义:

BLE CS Event事件定义为:CS 事件被定义为从同一个 LE piconet 物理通道连接事件锚点具有相同偏移Offset的所有 CS Subevent子事件组,如图 1所示,具体参考Vol 1, Part A 3.3.2.5.2 Characteristics。

图 1 与连接Anchor Point具有相同Offset的CS Event时序图

BLE CS Subevent定义为:由一组相关BLE CS Steps汇总而成的Steps组合,Subevent与Event的关系,如下图所示,具体参考:Vol 1, Part A 3.3.2.5.2 Characteristics。

图 2 多个CS子事件组合成为一个CS事件

与BLE CS Event & Subevent相关的参数及设置

BLE CS过程中,与CS Event & Subevent相关的参数有如下几个:

  1. T_SUBEVENT_LEN:CS Subevent的最大时间跨度,以625us作为步进单位,对应LL_CS_IND中的Subevent_Len;
  2. T_EVENT_OFFSET:LE连接时间锚点与CS Event起始时间之间的时间间隔,单位为us,对应LL_CS_IND中的Offset;
  3. T_EVENT_INTERVAL:以LE连接事件间隔作为单位,描述两个CS Event之间的间隔,对应LL_CS_IND中的Event_Interval;
  4. T_SUBEVENT_INTERVAL:相同CS Event内,两个连续Subevent之间的时间间隔,单位为625us, 对应LL_CS_IND中的Subevent_Interval;
  5. N_SUBEVENTS_PER_EVENT:在单个CS Event内,CS Subevent的数量, 对应LL_CS_IND中的Subevent_Per_Event;

上述BLE CS中关于Event和Subevent的参数,CS双方需要经过LL_CS_REQ和LL_CS_RSP进行协商后,最终由LL_CS_IND中给出最终协商后执行的结果。

图 3 LL_CS_IND中给出BLE CS双方协商后的Event和Subevent结果

图 1给出了T_EVENT_INTERVAL=1情况下的CS Event运行情况,可以发现,每个连接事件内部,存在一个CS Event。而T_EVENT_OFFSET是每个Event离连接事件Anchor Point之间的时间偏差。而T_EVENT_INTERVAL设置大于1时,代表一次CS Event可能会占用多个连接事件基本单位。

在一个CS Event中,又存在多个Subevent,如图 2所示。CS Event中的第一个Subevent需要满足与Anchor Point存在T_EVENT_OFFSET的时间偏差,而后续subevent的起始时间需要保持T_SUBEVENT_INTERVAL的时间间隔。T_SUBEVENT_INTERVAL的最小设定需要大于等于T_SUBEVENT_LEN+T_MES。T_MES是两个subevent末尾和起始之间的间隔,规范设定为150us,具体可以参考Vol 6, Part B 4.1.4 Minimum Channel Sounding subevent space。同样,CS Subevent可以跨越LE的连接间隔。

图 4 规范中明确的BLE CS Subevent最小间隔

上述参数确定之后,就可以确定一个BLE CS过程中存在多少个CS Event,也能确定一个CS Event中存在多少个Subevent,同时也设定了每个Event离连接Anchor Point的具体offset时间。这样,BLE CS双方就可以实现Subevent级别是时间同步。另外需要注意的是,协议中规范了每个BLE CS过程中,最多只能包含N_MAX_SUBEVENTS_PER_PROCEDURE个CS Subevent,该值在目前协议中为32。换句话说,一个CS Procedure中有多个Event,一个Event中又有多个Subevent,但是在同一个Procedure中,最多包含的Subevent数量为32个。

相关推荐
wotaifuzao2 天前
(十)BLE GATT与ATT深度解剖-从属性表到CCCD-订阅收不到数据的终极答案
低功耗蓝牙·ble·nrf52·zephyr·gatt·cccd
YONYON-R&D3 天前
[特殊字符] 解决:蓝牙鼠标从其他电脑切回后“能扫到但连不上”
ble·蓝牙鼠标
dozenyaoyida11 天前
Zephyr BLE 上行链路源码拆解:一个空中报文怎么从 radio 跑到应用回调(NCS v3.2.1)
controller·嵌入式开发·ble·host·zephyr·协议栈·软链路层
dozenyaoyida13 天前
Zephyr BLE GATT Server 注册到收发调用链源码解析(NCS v3.2.1)
ble·zephyr·gatt·ble协议栈
K成长日志16 天前
BLE不可连接状态--广播态
物联网·网络协议·蓝牙·低功耗·iot·ble
K成长日志1 个月前
BLE链路层--比特流处理
网络·物联网·网络协议·蓝牙·iot·ble·无线
K成长日志1 个月前
BLE链路层空口包--数据物理信道PDU
网络·物联网·网络协议·嵌入式·蓝牙·iot·ble
K成长日志2 个月前
BLE链路层空口包--LE Uncoded PHY
物联网·嵌入式·蓝牙·iot·ble·无线·通信
六bring个六2 个月前
连接模块中的BLE方式GATT协议分析
ble·open harmony·gatt·分布式软总线
奔跑吧 android2 个月前
【Bluetooth-SIG】【CoreV6.2】【Vol3 Part G】【GATT】【零】【GATT 逐句逐段学习计划 2】
ble·bluetooth·att·gatt·core_v6.2·sig