传统广播(Legacy Advertising)
在蓝牙核心规范v5.0发布以前,所有广播活动均位于37 (2402 MHz)、 38(2426 MHz)和39(2480 MHz)这三个信道中。如图1所示。每个广播活动(Adv Event)包含广播间隔(Adv Interval)和广播延时(Adv Delay)这两个部分。
广播间隔指两个连续广播活动之间的间隔时间。广播间隔的有效范围是20毫秒-10秒以上。如图1所示,为了避免广播活动被干扰和出现物理信道冲突,在一个“广播间隔”结束之后,添加一个取值为0 -10毫秒范围内的伪随机值,也就是图1中的“广播延时”。
图1 – 传统广播
广播延时能够避免广播被干扰以及2.4GHz频带上的物理信道冲突。广播延时的值看似很小(0~10毫秒),但在发生数千次广播活动后就会产生显著的差异。由于这会使扫描设备(scanner/observer)很难追踪到广播设备,因此部分应用会受到限制。严格来说,扫描设备无法与广播设备同步。
如果广播设备能够以特定的速度在没有任何随机延迟的情况下发送广播数据包,扫描设备就能跟上广播设备的“广播节奏”。这一机制能够最大程度地缩小扫描设备的扫描窗口,也就是最大限度的减小扫描设备的射频收发机(RF Transceiver)的工作时间,使扫描设备变得更高效、更节能,并且在扫描设备端能够预测广播设备每个广播数据包的时间窗口。
定期广播(Periodical Advertising)
“定期广播”的首次出现是在蓝牙核心规格v5.0中,它能将扫描设备与广播设备同步,使扫描设备与广播设备同时被唤醒,然后广播设备发送广播数据包,扫描设备打开接收机以收取广播数据集。
图2 – 定期广播
图2概括了定期广播的整个流程并包含引入副广播信道(Secondary Advertising Channel)的图示。主信道有三个(37、38、39),副广播或数据信道有37个。
图2中的灰色无边框区域表示通过主信道发送的广播,绿色无边框区域表示通过副信道发送的广播。可以明显看到:
ADV_EXT_IND通过主广播信道发送
AUX_ADV_IND 和AUX_SYNC_IND通过副广播信道发送
ADV_EXT_IND位于主广播信道,用于指示广播将通过副广播信道发送。ADV_EXT_IND中的信息将传送给扫描设备:
AUX_ADV_IND将使用哪个副广播信道发送
AUX_ADV_IND使用1M PHY、2M PHY或1M Coded PHY
AUX_ADV_IND出现在该特定副广播信道的时间
如果扫描设备具有定期广播功能,则将启动位于特定信道的接收器和位于特定时隙的PHY。
AUX_ADV_IND通过副广播信道发送并用于表示定期广播活动。指向第一个AUX_SYNC_IND 的AUX_ADV_IND中的信息是:
下一个定期广播数据集的偏移时间
定期广播的间隔
在该定期广播的整个生命周期中使用的副信道映射表
访问地址等
凭借这些信息,扫描设备可以与广播设备同步并交互。
AUX_SYNC_IND包含需要定期播报的广播数据
PAST和AoD
定期广播同步传输(PAST)是蓝牙核心规格最新版本新增的一项增强功能。下图以出发角(AoD)为例进行了说明。
图 3 - PAST
如图3所示,在没有PAST的情况下,智能手机已经与AoD发送器进行了定期广播同步。这能让智能手机收到定期广告数据包AUX_SYNC_IND和来自AoD发送器的固定频率扩展信号,并且对其进行解释并做IQ采样和角度计算。
同时,智能手机还能与穿戴式设备建立连接。如果穿戴式设备希望从AoD发送器处获得定期广播数据包,那么穿戴式设备需要自行扫描并与AoD发送器进行定期广播同步。穿戴式设备在完成这一过程时需要耗费额外的时间和电能,然而此类设备往往电量有限。
正如图3中“右图”所示,在有PAST的情况下,情况会截然不同。在相同的情景中,如果穿戴式设备想要扫描并与AoD发送器进行定期广播同步,智能手机能够通过低功耗蓝牙链路层(Link Layer)将定期广播同步信息传输到穿戴式设备。最新版蓝牙芯片技术标准新增的新链路层控制PDU,LL_PERIODIC_SYNC_IND 支持这一功能。PAST能够简化这一过程并帮助电量有限的设备节省电能。