在蓝牙协议中,LT_ADDR和L2CAP层的LLID有什么区别

时间:2018-10-12 18:34:32

标签: bluetooth

我觉得两者都用于识别物理信道被划分为的逻辑信道。有什么区别吗?

2 个答案:

答案 0 :(得分:0)

Logical Link Control and Adaptation Layer Protocol L2CAP )位于基带协议之上,位于数据链路层中。它通过协议多路复用功能,分段和重组操作以及组抽象为上层协议提供面向连接和无连接的数据服务。 L2CAP允许更高级别的协议和应用程序发送和接收最大64 KB的L2CAP数据包。

L2CAP architecture block

                              Fig1: L2CAP architecture block  

链接控制器(LC)

在LC级别使用的标准数据包包括Access CodePacket HeaderPayload HeaderPayloadCRC。该标准分组将用于包含往返于协议栈上层的数据。 enter image description here

                              Fig1: Packet structure at LC  
  • 数据包头

    标题包含六个字段LT_ADDRTYPEFLOWARQNSEQNHEC

    enter image description here

    • LT_ADDR (逻辑传输地址):LT_ADDR包含一个3位字段,表示piconet注意:主服务器未分配LT_ADDR)。
  • 有效载荷

    • LLID (逻辑链路标识符):在这种逻辑传输中,逻辑链路由携带数据净荷的基带数据包净荷报头中的 LLID 比特标识。

参考:

BLE5-Stack User's Guide
Developing Practical Wireless Applications
Bluetooth Specification-Vol 0

答案 1 :(得分:0)

简短答案:

这两个术语都与蓝牙逻辑链接定义相关。

LT地址是在链接控制中定义的;在数据包头中使用它。 通常,它允许蓝牙(BR / EDR)从设备确定某个数据包已发送给它。

LLID 在数据包有效载荷标头中定义,用于区分

  • ACL-C (链接管理协议)消息
  • ACL-U (L2CAP-逻辑链接控制和适配协议)消息

详细答案(所有页面引用均符合BT Spec 5.0):

LT地址在蓝牙基带规范中定义,代表逻辑传输地址。 它在 Link Control 层中定义,以便主机可以寻址其在微微网中的各个从机。 每个从站都分配有一个唯一的3位LT_ADDR(第390页):

  

主LT_ADDR在以下情况下应由主机分配给从机   从站已激活。这是在建立连接或   角色切换,当FHS有效负载中携带主要LT_ADDR时。

LLID术语在ACL-C和ACL-U(=> L2CAP)逻辑链接中定义: 它包含在数据包有效载荷头中,以确定数据包是ACL-C(LMP)还是ACL-U(L2CAP):

ACL-C(第398页):

  

ACL-C和ASB-C逻辑链接由LLID代码11b指示   在有效载荷标题中。

ACL-U(第399页):

  

对于分段消息,起始包应使用LLID码   有效负载头中的10b。其余的继续包应使用   LLID代码01b。如果没有碎片,则所有数据包都应使用   LLID起始代码10b。

在蓝牙低功耗(LE)的上下文中,LLID术语还有另一种用法。