在BLE协议栈中链路层Link Layer定义了唯一一种空中包Air Interface Packet格式。然而根据物理层的不同这个统一格式在具体实现上又分为LE Uncoded PHY和LE Coded PHY两种变体。本文将深入剖析LE未编码物理层LE Uncoded PHY的空口包结构——这也是BLE最基础、最常用的包格式。1. 什么是LE Uncoded PHY?Uncoded的字面意思是未编码的。在LE Uncoded PHY中每个数据bit直接映射为一个无线电符号symbol中间不经过任何额外的纠错编码处理。LE Uncoded PHY包含两种物理层配置PHY类型符号速率数据速率前导码长度LE 1M PHY1 Msym/s1 Mb/s1字节8位LE 2M PHY2 Msym/s2 Mb/s2字节16位对比理解与Uncoded相对的是LE Coded PHY编码物理层后者通过前向纠错FEC编码来提升传输距离但会降低有效数据速率。Uncoded PHY追求的是速度与效率而Coded PHY追求的是距离与可靠性。2. LE Uncoded PHY空口包整体结构LE Uncoded PHY的空口包由四个必选字段和一个可选字段组成所有字段按顺序传输前导码 → 接入地址 → PDU → CRC → CTE如果存在。整个数据包以相同的符号速率传输LE 1M为1 Msym/sLE 2M为2 Msym/s。不包括CTE的数据包传输时间介于44微秒到2128微秒之间。3. 字段解析3.1 前导码前导码是每个数据包最先发送的字段是接收端进行同步的关键。三个核心功能频率同步帮助接收端调整频率以匹配发送端符号定时估计确定每个符号的起始和结束时间自动增益控制AGC训练调整信号增益以优化接收质量长度差异LE 1M PHY前导码为1字节8位LE 2M PHY前导码为2字节16位取值规则前导码是一个交替的0和1序列其第一个bit必须与接入地址的LSB最低有效位相同如果接入地址LSB 1前导码为101010100xAA如果接入地址LSB 0前导码为010101010x55设计巧思前导码与接入地址LSB相同是为了让接收端能够快速识别包的起始边界避免在0101这样的交替序列中迷失方向。3.2 接入地址Access Address接入地址是一个4字节32位的值用于标识数据包所属的连接或广播信道。接入地址是区分广播包和数据包的关键包类型Access Address用途广播包固定值0x8E89BED6在广播信道37/38/39传输所有观察者都可接收数据包32位随机值在数据信道传输每次连接由Initiator重新生成广播包使用固定接入地址因此任何扫描设备都能识别并接收。而数据包的接入地址由连接发起方在连接请求时随机生成确保了每个连接的唯一性和隐私性。3.3 PDU协议数据单元PDU是数据包的核心包含实际要传输的数据或控制信息。PDU的长度范围是2到258字节。PDU的前两个字节固定为LL Header1字节Payload Length1字节举例广播信道PDU广播PDU头部2字节的格式如下PDU Type4位指定PDU的类型ADV_IND、SCAN_REQ、CONNECT_REQ等TxAdd/RxAdd各1位设备地址类型0Public1RandomLength8位载荷长度最大255字节。3.4 CRC循环冗余校验CRC是3字节24位的值用于检测数据包在传输过程中是否发生错误。CRC的计算覆盖整个PDU但不包括前导码和接入地址接收端通过重新计算CRC并与收到的CRC比对来判断数据是否完整。3.5 CTE恒定音调扩展CTE是一个可选字段位于CRC之后。它的主要用途是支持蓝牙5.1引入的定位功能AoA/AoD即到达角/离开角测量。CTE包含一段恒定频率的信号接收端可以通过分析这段信号的相位差来计算信号的方向或角度。CTE的持续时间介于16到160微秒之间。4. LE 1M vs LE 2M关键差异速览特性LE 1M PHYLE 2M PHY符号速率1 Msym/s2 Msym/s数据速率1 Mb/s2 Mb/s前导码长度1字节2字节包传输时间较长约为1M的一半功耗基准略高兼容性所有BLE设备必选可选需双方支持5. 总结LE Uncoded PHY的空口包结构体现了BLE设计的核心哲学——简洁、高效、实用统一的包格式所有包共享相同的外层结构前导码→接入地址→PDU→CRC→CTE降低了接收端的设计复杂度接入地址一箭双雕固定值0x8E89BED6区分广播随机值标识连接简单明了前导码与接入地址的巧妙联动前导码的第一个bit与接入地址LSB相同帮助接收端快速同步1M和2M灵活选择在速率和功耗之间提供权衡CTE可选扩展为方向查找等高级应用预留了空间但不增加基础实现的负担掌握了LE Uncoded PHY的空口包结构就拿到了理解BLE链路层协议的钥匙——无论是广播、连接、数据传输还是重传机制都建立在这个基础格式之上。