Periodic Advertising Sync Transfer (PAST),周期性广播同步是在蓝牙 Core Specification v5.1 中引入的特性,它允许手机将获取到的第三方广播设备的广播同步参数传递给与手机保持BLE连接的穿戴设备,从而可以使得穿戴设备与第三方广播设备快速完成广播同步,大大的提高了同步效率,从而节省功耗。本文将对该特性做详细描述,先从传统广播说起。
Legacy Advertising
我们知道,传统的广播是在 37 (2402MHz), 38 (2426MHz), and 39 (2480MHz)这个三个频段的广播信道上发送广播内容,因为只有3个广播信道,最多只能广播31个字节。
其中adv事件包括两个部分: 广告间隔(advInterval)和广告延迟(advDelay)。advInterval定义两个连续的adv事件之间的时间间隔。advInterval的取值范围是20ms到10秒以上。为了避免每个adv事件的干扰和物理信道冲突,在adv事件的末尾添加了一个advDelay,如图1所示。advDelay是一个伪随机数,取值在0~10ms之间。
advDelay可以有效避免2.4GHz频段的干扰和物理信道碰撞。虽然advDelay看起来时间非常短(0~10ms),但是在数千个adv事件之后,这个变量将是巨大的。这会导致到后期sanner很难快速扫描到advertiser。因此对于传统广播来说,scanner不能做到与advertiser完全同步。
如果advertiser能够以固定的间隔发送广播,没有任何随机延迟,并且scanner能够按照这个固定间隔来扫描,那么就可以快速的扫描到广播,而且可以节省电池开销,因为它可以准确预测下一个adv事件的发送时间。
Extended Advertising
蓝牙扩展广播在传统广播的基础上,将37/38/39三个信道定义为首要广播信道,将剩余37个信道定义为第二广播信道,这些信道都可以传输数据,因此扩展广播的数据容量相比传统广播多了8倍,也就是由31个字节扩展到255个字节,以下为扩展广播新增加的事件
- ADV_EXT_IND - 首要要广播通道,支持不可连接的,定向扫描的事件。
- AUX_ADV_IND - 第二广播通道上广播数据的第一个片段,不可连接的、定向扫描的。
- AUX_SYNC_IND - 第二广播通道,用于周期性广播,以一定间隔发送不定向的数据包。
- AUX_CHAIN_IND - 发送剩余的数据。
Periodic Advertising
周期性广播是在扩展广播的基础上衍生的,它允许sanner与advertiser同步,也就是说advertiser能够以固定的间隔发送广播,scanner端则能与遵循这个广播间隔来扫描,从而可以快速发现设备。下图描述的周期性广播的完整过程。
最开始的灰色区域内,广播设备在主要广播通道发送 ADV_EXT_IND 包,scanner开启扫描窗口监听。ADV_EXT_IND 内携带了
- AUX_ADV_IND 在第二广播通道内的哪一个通道传输 (channel map)
- AUX_ADV_IND 什么时候在第二广播通道上出现
- AUX_ADV_IND 选择哪一个 PHY,1M PHY, 2M PHY, 或者 1M Coded PHY
这样scaner就知道在什么时候,什么地点(channel)能够收到 AUX_ADV_IND 包了。AUX_ADV_IND 又提供了第一个 AUX_SYNC_IND 出现的信息
- AUX_SYNC_IND 出现的时刻(offset time)
- 周期性广播的间隔 (Fixed interval)
- 周期性广播生命周期内使用的 secondary channel map
- 接入地址(Access Address),等等
- AUX_SYNC_IND 携带了周期性广播的数据。
有了这些信息,scanner就和advertiser同步了,就能够同时唤醒,广播者发送数据,手机接收数据。
Periodic Advertising Sync Transfer (PAST)
如左图所示,在不支持PAST的情况下,偏离角(AoD)发射器发送同步的周期性广播,智能手机通过扫描同步后可以获取到该设备定期的广播包,AUX_SYNC_IND,以及 Constant Tone Extension (CTE)等 用来做IQ计算和角度解析的。
同时,智能手机也与可穿戴设备建立了BLE连接。如果可穿戴设备也想从AoD发送器获得周期性的广播报文,则可穿戴设备需要自己扫描并与AoD发送器进行周期性的广播同步。这个过程将需要额外的时间和功耗来完成可穿戴设备的同步,而穿戴设备的功耗是有限的。
右图为支持PAST的情况。在相同的场景下,如果可穿戴设备希望扫描并与支持PAST的AoD发射器进行周期性广播同步,智能手机可以通过BLE ACL link将周期性广播同步信息传输给可穿戴设备。在5.1蓝牙®核心规范中增加了一个新的链路层控制PDU LL_PERIODIC_SYNC_IND来支持它。这样就可以帮助穿戴设备快速且省电的方式完成广播同步。
参考: