BLE空中数据包格式
-
Preamble: 所有链路层数据包都有8位前导码, 在接收机中, 使用发送机发送过来的前导码来执行频率同步
- 广告信道数据包使用固定的10101010b作为前导码
- 数据信道数据包使用10101010b (0xAA) 或者 01010101b (0x55)作为前导码, 具体使用0xAA还是0x55取决于后续跟随的Access Address的LSB的值是1, 还是0
如果Access Address的LSB为1, 则preamble为01010101b 即0x55
如果Access Address的LSB为0, 则preamble为10101010b 即0xAA
-
Access Address: 由发发起者生成, 用于在两个设备之间识别一个LL层连接
- 所有广播包的Access Address都是固定为0x8E89BED8
- 除了广播包以外, 也就是需要主从建立连接后的空中数据包, Access Address都是随机值, 遵循一定的规则, 每次建立连接时都会重新生成
-
PDU : 空中数据包中的有效数据, 也称之为LL层数据Payload, 协议数据单元
- PDU分为两类: 广播信道传输的广播PDU, 连接信道传输的连接PDU
-
CRC: 每隔LL层数据包Payload的包结尾都有24位的CRC校验字段, 用来校验PDU是否正确