CC2640R2F BLE5.0 链路层(LL)空中包格式

本文详细介绍了BLE5.0链路层空中包的格式,包括前导码、访问地址、链路层协议数据单元(LL PDU)和CRC。LL PDU由LL Header、Payload Length、Payload和MIC组成。广播信道和数据信道的PDU结构有所不同,广播信道的Payload可包含AdvA、AdvData,数据信道的PDU涉及LLID、NESN、SN、MD等字段。通过对LLID、NESN和SN的分析,解释了如何实现ACK和重传功能。
摘要由CSDN通过智能技术生成

空中包格式

       BLE5.0链路层(LL)的空中包格式非常简单,它所有的空中包都遵循下图所示的格式:

       由上图可见,BLE空中包由4个部分组成,他们分别是:

  • 前导码(Preamble)
  • 访问地址(Access Address)
  • 链路层协议数据单元(Link Layer Protocol Data Unit)
  • CRC

一、前导码(Preamble)                                                                                                   

       前导码占8个bits,所有广播信道中,空中包的前导码都是10101010b(0xAA);数据信道中,空中包的前导码是10101010b(0xAA)或者是01010101b(0x55),这取决于数据信道中的访问地址(如下)的最低有效位是0还是1,如果是1,则前导码是01010101b(0x55),否则是10101010b(0xAA).

二、访问地址(Access Address)                                                                                     

       广播信道和数据信道中的访问地址是不同的。广播信道的访问地址固定为0x8E89BED6;数据信道的访问地址由发起者决定。因此简单理解就是,从访问地址首先可以区分,这个空中包是一个广播包还是一个连接态的数据包。

       当发起者向广播者发起一个连接请求的时候,它会把访问地址的值放入连接请求的相应字段中,当链路层连接成功建立之后,双方进入到连接态,以后的空中包双方都使用这个访问地址进行通讯。

       由此可见,访问地址也是跟一个具体的链路层连接相互绑定的。例如,一个设备跟多个设备都建立了链路层的连接,也就是说一个设备同时维护多个链接,当这个设备收到一个空中包的时候,它只需通过访问地址就可以知道该空中包是哪个连接的包了。

三、链路层协议数据单元(Link Layer Protocol Data Unit)                                             

       链路层协议数据单元(LL PDU)是空中包的有效载荷部分,不同类型的空中包,它的PDU都不相同,大致可分为广播信道的PDU和数据信道的PDU.

       当设备处于广播态或者发起态的时候,设备发送或者接收广播信道的PDU;当设备与另一个设备建立链路层连接之后,双方进入到连接态,他们发送或者接收数据信道的PDU.

1.  广播信道LL PDU

       BLE4只有主广播信道(37,38,39信道),而BLE5除了主广播信道还有次广播信道。主广播信道的Payload最大只能37个字节,除去固定6个字节的AdA之外,有效PDU(AdvData)只有31个字节,而次广播信道的有效PDU(AdvData)可以支持254个字节。下面详细介绍主广播信道PDU,其结构由三部分组成,如下图所示:

 1.1  LL Header 和 Payload Length 释义

  • PDU Type:广播包的类型
  • RFU(Reserve For Future):保留未来使用
  • TxAdd:发送者的设备地址类型
  • RxAdd:接收者的设备地址类型
  • Length:Payload部分的长度
  • RFU(Reserve For Future):保留未来使用

1.1.1  PDU Type 释义

PDU Type Packet Name
0000 可连接非定向广播(通用广播)(ADV_IND)
0001 可连接定向广播 (ADV_DIRECT_IND)
0010 不可连接非定向广播 (ADV_NONCONN_IND)
0011 扫描请求 (SCAN_REQ)
0100 扫描响应 (SCAN_RSP)
0101 连接请求 (CONNECT_REQ)
0110 可扫描非定向广播(可发现非定向广播) (ADV_SCAN_IND)
0111-1111 保留 (Reserved)

1.1.2  TxAdd、RxAdd 释义

0:公共设备地址

1:随机设备地址

       关于设备地址详细介绍请看下文1.2.1.1节。

1.2  Payload 释义

       不同的 PDU Type(广播包类型)有不同的Payload内容结构,其中三个非定向广播包Payload内容结构相同,其余四个

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值