一、概述
数据长度扩展(LE Data Length Extension)功能允许LE控制器在连接状态下发送最大251字节的PDU数据包。在连接期间,主从设备可以协商PDU大小。相比BLE4.0/4.1最大数据通道有效负载27字节,数据速率提高了大约2.5倍。
二、更新过程
BLE4.2/5.0 为了兼容BLE4.0/BLE4.1 所以默认的TX PDU设置为 27字节,同时使用32us作为最大传输时间。在RX PDU中,默认使能LE Data Packet功能,默认支持接收 251字节,以及RX PDU最大传传输时间为2120us。
可以通过以下方式更新数据长度:
1.初始化时设置为最大值,每次建立连接后Controller会使用设定PDU;
2. Controller 设置默认的PDU大小和传输时间(27byte/328us ),然后在建立连接时动态协商;
三、处于连接状态设置长度
可以使用以下代码在连接中动态更改数据包长度
四、建立连接后设置长度
为了兼容BLE4.0/4.1设备,默认传输的TX PDU设置为27字节/328us。然后Controller会在设备连接之初,共同协商一个的数值。禁止该功能可以将以下代码段放入应用工程的初始化中(例如simple_peripheral_init),建立连接后,控制器将与对等设备协商数据包大小。