BLE-8の蓝牙4.1协议栈详解の逻辑链路管理和适配层(L2CAP)

蓝牙4.1协议栈详解の逻辑链路管理和适配层-L2CAP

  • 一,概述
  • 二,L2CAP信道
  • 三,L2CAP 数据包结构
  • 四,低功耗信令信道
    • 操作码:
    • 标识符:

一,概述

L2CAP层是低功耗蓝牙的复用层。该层定义了两个基本概念:L2CAP信道 和 L2CAP信令。

L2CAP信道是一个双向数据信道,通过对端设备商的某一特定的协议或规范。每个通道都是独立的,可以有自己的流量控制和与其关联的配置信息。相比于经典蓝牙的L2CAP层,BLE只用到了最少的L2CAP功能。

BLE中只是有固定信道,这三条信道被L2CAP复用 :一个用于信令信道,一个用于安全管理器,一个用于属性协议。

其中,固定信道指的是两个设备已建立连接就已经存在的,没有任何配置参数的信道。

其数据帧只有一种:B帧。
BLE-8の蓝牙4.1协议栈详解の逻辑链路管理和适配层(L2CAP)_第1张图片

二,L2CAP信道

信道是指一个数据包序列,连接两个设备的一对服务。在两个设备间允许同时启用多条信道。

下表为L2CAP信道标识符:

BLE-8の蓝牙4.1协议栈详解の逻辑链路管理和适配层(L2CAP)_第2张图片

三,L2CAP 数据包结构

BLE-8の蓝牙4.1协议栈详解の逻辑链路管理和适配层(L2CAP)_第3张图片
L2CAP 的信息载荷的MTU(最大传输单元) 默认为 23 字节。这就意味着 所有BLE设备必须支持在空间传输 27 字节数据包---- 4 字节为L2CAP报文头,23字节为信息载荷。

四,低功耗信令信道

BLE信令信道用于主机层级的信令。下图为L2CAP 命令数据包格式。
BLE-8の蓝牙4.1协议栈详解の逻辑链路管理和适配层(L2CAP)_第4张图片

操作码:

主要包含三种命令操作码:命令拒绝,连接参数更新请求 ,连接参数更新响应。

  • 命令拒绝:主要用于拒绝设备收到不支持的信息包;
  • 连接参数更新请求:若从设备希望更新链接参数则发送此命令,包括连接事件间隔,从机延迟和监控超时。
  • 连接参数响应:主设备返回“接收”或者“拒绝”响应。

下图表示了连接参数更新命令的流程,其中 <瞬时> 是指,在更新请求中发送一个未来的时间节点,如果对方接收后,在时间节点到来时刻,使用新的连接参数。

BLE-8の蓝牙4.1协议栈详解の逻辑链路管理和适配层(L2CAP)_第5张图片

标识符:

无论何时发送信令,荷载中总会带有一标识符,用于匹配请求和响应。也就是说,如果请求的标识符是0x30, 那么响应的数据包里的标识符也是 0x30。这样的话,只要每个请求有不同的标识符,多个请求便能同时发送。

参考文献:《低功耗蓝牙开发权威指南》

你可能感兴趣的:(蓝牙BLE)