文章目录
BLE 历史
Bluetooth 5 引入的新功能
- CSA 5 features (Higher Output Power)
- Slot Availability Mask (SAM)
- 2 Msym/s PHY for LE
- LE Long Range
- High Duty Cycle Non-Connectable Advertising
- LE Advertising Extensions
- LE Channel Selection Algorithm #2
主要介绍其中最重要的变化:
- 2 Msym/s PHY for LE (2x the speed)
- LE Long Range (4x the range)
- LE Advertising Extensions (8x the Advertising capacity)
这里使用 Msym/s(Megasymbols per second)(每秒兆符号数)而不是 Mbps,因为它指的是实际的无线电传输能力。 在某些情况下(例如 Coded PHY),多个符号(multiple symbols)将用于表示单个位(bit),因此会降低 Mbps 速率。
Twice the Speed, Four Times the Range
BLE 协议栈的底层称为物理层,物理层的特定配置通常称为 PHY。
2M PHY
Bluetooth 5 之前的蓝牙规范允许单个 PHY,以 1 Msym/s 的速度运行。Bluetooth 5 引入了一种称为 LE 2M 的新的 PHY 层,它将任何之前的 PHY原始速率加倍,达到了 2 Msym/s,这意味着通过链路层发送的相同数据在 Bluetooth 5 中只需要之前一半的时间。这样的话,无线电在发送数据时运行的时间会更短,从而提供更低的功耗以及更长的使用寿命。
Coded PHY
Bluetooth 5 还引入了另一种称为 LE Coded 的可选的新的 PHY 层,该层的速率仍然是 1 Msym/s,但是使用了扩展因子为 2 或 8 的 FEC(Forward Error Correction) 分组编码,使速度分别降低到 500 kbps 或 125 kbps,另一方面,最大发射功率增加到 +20 dBm,以上两点使通信范围扩展了 4 倍,这同时适用于广播包和数据包。
就功耗而言,这些分组的持续时间大概是之前的 2 到 8 倍,最长的大约有 16 毫秒,所以使用该功能发送相同数量的数据,功耗将会相应地增加,电池寿命也会相应减少。
下表列出了与三个 LE PHY 相关的关键指标:
术语 | 定义 |
---|---|
Symbol Rate | 在物理层传输模拟符号的速率。 |
Protocol Data Rate | 与蓝牙协议数据单元 (PDU) 相关的比特传输速率,包括其应用数据有效负载,但不包括在使用 LE Coded PHY 时包含在数据包中的 FEC 数据。 |
Approximate Max. Application Data Rate | 在连接设备上的应用程序之间进行通信的应用数据的近似最大速率。 应用数据在各种 PDU 的有效负载部分中传输,协议数据速率的其余部分由蓝牙协议数据消耗。 |
FEC 允许接收方从由噪声和干扰而导致的错误中恢复数据。它通过在传输的数据中引入冗余,使用一种特定的算法来实现这一目标。因此,当错误发生时,接收方可以通过利用数据中的冗余来恢复最初传输的数据,而不是要求重新传输数据。
Coded PHY 使用了两种编码方案:
S = 2,其中 2 个符号代表 1 个比特,因此支持 500 kbps 的比特率。
S = 8,其中 8 个符号代表 1 个比特,因此支持 125 kbps 的比特率。
Eight Times the Advertising Capacity
BLE 使用 40 个不同的频率信道(PHY 信道),相隔 2 MHz。 这些通道中的 3 个(即 37,38,39 信道)称为主广播信道(Primary Advertisement channels),而其余 37 个信道用于次广播(Secondary Advertisements)以及数据信道。
广播可以分为两类:
-
Legacy Advertisements
在主广播信道上进行广播,与 BLE 4.0、4.1、4.2 的广播相同,并且也存在于 5.0 中)。 它们包括以下类型的 PDU(协议数据单元):
ADV_IND
ADV_DIRECT_IND
ADV_NONCONN_IND
ADV_SCAN_IND -
Extended Advertisements
在主广播信道上开始传输然后在次信道上继续进行广播。这些可用于发送比传统广播所允许的更多的数据。 它们还可用于启动定期广播(Periodic Advertisements)。 扩展广播只能由支持此功能的设备发现。 它们包括以下类型的 PDU(协议数据单元):
ADV_EXT_IND
AUX_ADV_IND
AUX_SYNC_IND
AUX_CHAIN_IND
传统广播 ADV 携带的数据最大是 31 个字节,而扩展广播 ADV 携带的数据量最大为 255 字节,为传统广播的 8 倍左右。
广播信道 PDU 格式:
Larger Packets and Advertising Channel Offload
在执行扩展广播时只有 Header 数据在主信道上传输,Header 包括一个名为 AuxPtr 的字段。
AuxPtr 字段引用包含有效载荷的关联辅助数据包(associated auxiliary packet),该有效载荷将在编号为 0 - 36 的通用通道上传输。AuxPtr 包括
辅助数据包将要进行传输的通用信道号,以便接收者知道在哪里可以找到它。
以下扩展广播信道 PDU 使用相同的广播信道 PDU 负载格式,即 Common Extended Advertising Payload Format
。
ADV_EXT_IND
AUX_ADV_IND
AUX_SCAN_RSP
AUX_SYNC_IND
AUX_CHAIN_IND
AUX_CONNECT_RSP
ADV_EXT_IND 发送在 Primary Advertising Physical Channel 上,目的是为了引出后续的 Secondary Advertising Physical Channel 数据包。绝大多数的扩展广播包,都是以 ADV_EXT_IND(Primary) + AUX_ADV_IND(Secondary) 的形式来组织的,扫描端想要知道这个扩展广播的含义,则必须要收到 ADV_EXT_IND 后,接着去收 AUX_ADV_IND,然后完成数据解析。
参考资料
bluetooth-5-go-faster-go-further
bluetooth-5-advertisements
Intro to Bluetooth Low Energy
Core Specification 5.0