蓝牙核心规范5的推出,带来广播信息的长足进步。凭借4倍的传输距离,2倍的传输速度和8倍的广播信息容量,蓝牙5正在重新定义开发人员的工具包。
那么蓝牙5是如何做到这一点的呢?
蓝牙5提供三类低功耗PHY
1)LE 1M PHY - 1M/s 比特率;未编码(uncoded)。蓝牙4.0中也使用相同的OHY;
2)LE Coded PHY(新)- 通过纠错编码支持1M/s符号速率。用于蓝牙5的“4倍范围”;
3)LE 2M PHY(新)- 2M/s符号速率;未编码。用于蓝牙的“2倍速度”;
因此,使用两种新的PHY,我们将获得4倍的传输距离和2倍的传输速度,但与此同时,Beacon的附加消息传递功能是如何实现的?
回想蓝牙4.0,广播有效载荷最多是31个八位字节。而在蓝牙5.0中,我们通过添加额外的广播信道和新的广播PDU,将有效载荷增加到了255个字节。
其他广播信道
在蓝牙4.0中,所有广播都是在40个2.4GHz ISM频段信道中的3个上进行的。有了蓝牙5,现在有两组广播信道:首要广播信道(Primary)和次级广播信道(Secondary).首要广播信道是在蓝牙4.0中定义的40个广播信道中的3个原始广播信道。而次级广播信道使用先前为数据预留的37个固定信道。
无论使用传统广播PDU还是全新扩展的广播PDU,这件事情都始与首要广播信道。
全新扩展广播PDU
为了支持消息量的增加,我们添加了扩展广播PDU,这些PDU是仅广播时间(如Beacon).1)ADV_EXT_IND: 支持不可连接(仅广播)和可扫描的定向事件
示例:
(1)不可连接:定义博物馆访客与海盗战斗产品之间距离的标准Beacon。让用户能体验海盗战斗机的“飞行声音”,看到有 关飞机历史的弹出信息;
(2)可扫描导向:
2)AUX_ADV_IND:
用于发送至次级广播信道中广播数据的第一片段(不可连接,可定向扫描)
3)AUX_SYNC_IND:
用于周期性广播,其中单项数据以固定的时间间隔发送。例如博物馆公共汽车站内,当下一辆公共汽车到达或者离开某一
附属建筑时发出的Beacon广播。
4)AUX_CHAIN_IND:
从不完全辅助PDU广播事件发送剩余数据。
我们又是如何接受额外发送的数据呢?
全新数据包格式
用于未编码PHY的链路层分组格式与来自蓝牙4.0的分组几乎相同:前导码、接入地址、PDU和CRC.唯一的区别在于前导码的大小。当使用LE 1M PHY(蓝牙4.0)时,前导码是一个八位字节,并且当使用LE 2M PHY(蓝牙5.0)时,前导码是两个八位字节。如在蓝牙4.0中,PDU字段(图1)分成两个元素:广播报头和广播有效载荷(图2)。
就像传统的广播PDU一样,扩展的广播PDU报头定义了PDU类型(位于广告报头中,如图3)和长度(广告有效载荷在八位字节中国的大小-位于广告报头中,如图3)。
通用扩展广播事件的有效载荷有4个元素(图4):
1)扩展报头长度-介于0~63之间的值,用于定义扩展报头的长度;
2)AdvMode-定义模式(不可连接和不可扫描;可连接和不可扫描;或者不可连接和可扫描)
3)扩展报头-定义扩展广播事件的属性;
4)ADVdata- 包含广播数据;
那么,我们能得到多少实际的广播数据呢?Advdata的上限取决于扩展报头的大小,其计算方法如下:
Advdata Length = PDU Advertising Length - (Extended header length + 1)
两类全新LE PHY;次级广播信道;扩展广播PDU;和一个扩展的广播有效载荷。