蓝牙BLE协议之——L2CAP层

注:文章基于蓝牙6.0 协议栈核心规范文档,由 SIG规定,原文档可 点此进入查看

目录

一、L2CAP介绍

二、L2CAP位置

三、空口包结构

未编码PHY空口包

编码PHY空口包

 编码未编码Phy说明​编辑

 L2CAP Header

B帧(Basic Frame)

K帧(Credit-Based Frame)

C帧(Control Frame)​编辑

 分段和重组


 

一、L2CAP介绍

        蓝牙低功耗(BLE)的L2CAP层是协议栈核心逻辑链路控制层,位于ATT/GATT等上层协议与HCI/LL控制层之间,具有以下核心功能:

  1. 协议复用:通过CID(通道标识符)区分不同服务,BLE固定通道CID 0x0004用于ATT协议,CID 0x0005用于LE信号通道
  2. 分段重组(SAR) :将最大64KB的SDU分割为适合空口传输的PDU,重组时通过PDU长度字段校验完整性
  3. 信用流控制:LE特有机制,通过初始信用值和动态调整实现无阻塞传输
  4. 错误恢复:仅增强模式支持重传,基础模式依赖LL层ARQ机制

        (与传统蓝牙(BR/EDR)差异:BLE无重传/流控制模式,仅支持LE信用控制模式和增强信用模式)

二、L2CAP位置

三、空口包结构

  1. 未编码PHY空口包

  2. 编码PHY空口包

  3.  编码未编码Phy说明

  4.  L2CAP Header

    1. 根据Header可以分为几种帧:

              B-frames, C-frames, K-frames、I-frames, S-frames,G-frames

    2. 在BLE中仅支持B-frames, C-frames, K-frames

      帧类型标识符结构特征应用场景
      B帧SAR=0b00无分段,直接封装完整SDUATT短数据(默认MTU=23)
      K帧SAR=0b10携带SDU长度字段+信用控制LE信用模式大数据传输
      C帧CID=0x0005信号命令(连接参数更新等)设备管理类操作

      1. B帧(Basic Frame)

        1. 最小L2CAP协议信息

        2. 场景:ATT属性读写、SMP配对等小数据交互

      2. K帧(Credit-Based Frame)

        1. k帧是用于LE基于信用的流量控制模式和增强基于信用的流量控制模式的PDU。

        2. 场景:长数据传输(如OTA固件升级、语音流)

      3. C帧(Control Frame)

        1. c帧是包含对等L2CAP实体之间交换的L2CAP信令消息的PDU。c帧专门用于L2CAP信号通道。

        2. 场景:动态通道管理、QoS协商

        3. 各种命令如下,

          1. 如发起连接参数更新是由L2CAP_CONNECTION_PARAMETER_UPDATE_REQ (code 0x12)命令发起

          2. MTU交换由L2CAP_LE_CREDIT_BASED_CONNECTION_REQ (code 0x14)命令发起

  5.  分段和重组

    1. 分段是将pdu分解成更小的部分,以便从L2CAP传递到较低的层。重组(Recombination)是将从底层发送上来的分片重新组合成PDU的过程。分片和重组可以应用于任何L2CAP pdu。
    2. 分段实现
      1. 通过K帧分包,第一帧包含SDU长度和PDU长度,后面延续包只包含PDU长度,LL层累加Payload长度匹配首帧的SDU_Length判断结束,流程如下:
      2. 重组实现与分段反过来,判断LLID,LLID=0b10为首帧,LLID=0b01为延续帧,判断数据与SDU长度相同为结束
        1. 注意:必须收齐所有分片并通过校验后,才将完整SDU提交上层

       

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰&可乐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值