BLE-8の蓝牙4.1协议栈详解の逻辑链路管理和适配层(L2CAP)
程序员文章站
2022-03-27 21:55:11
1)L2CAP架构L2CAP位于Bluetooth Host中,包括两个子模块:Channel Manager主要负责创建、管理、释放L2CAP channel。L2CAP Resource Manager负责统一管理、调度L2CAP channel上传递的PDU(Packet Data Unit),以确保那些高QoS的packet可以获得对物理信道的控制权。###################################L2CAP Protocol7.1 功能介绍经过Link La...
一,概述
L2CAP层是低功耗蓝牙的复用层。该层定义了两个基本概念:L2CAP信道 和 L2CAP信令。
L2CAP信道是一个双向数据信道,通过对端设备商的某一特定的协议或规范。每个通道都是独立的,可以有自己的流量控制和与其关联的配置信息。相比于经典蓝牙的L2CAP层,BLE只用到了最少的L2CAP功能。
BLE中只是有固定信道,这三条信道被L2CAP复用 :一个用于信令信道,一个用于安全管理器,一个用于属性协议。
其中,固定信道指的是两个设备已建立连接就已经存在的,没有任何配置参数的信道。
其数据帧只有一种:B帧。
二,L2CAP信道
信道是指一个数据包序列,连接两个设备的一对服务。在两个设备间允许同时启用多条信道。
下表为L2CAP信道标识符:
三,L2CAP 数据包结构
L2CAP 的信息载荷的MTU(最大传输单元) 默认为 23 字节。这就意味着 所有BLE设备必须支持在空间传输 27 字节数据包---- 4 字节为L2CAP报文头,23字节为信息载荷。
四,低功耗信令信道
BLE信令信道用于主机层级的信令。下图为L2CAP 命令数据包格式。
操作码:
主要包含三种命令操作码:命令拒绝,连接参数更新请求 ,连接参数更新响应。
- 命令拒绝:主要用于拒绝设备收到不支持的信息包;
- 连接参数更新请求:若从设备希望更新链接参数则发送此命令,包括连接事件间隔,从机延迟和监控超时。
- 连接参数响应:主设备返回“接收”或者“拒绝”响应。
下图表示了连接参数更新命令的流程,其中 <瞬时> 是指,在更新请求中发送一个未来的时间节点,如果对方接收后,在时间节点到来时刻,使用新的连接参数。
标识符:
无论何时发送信令,荷载中总会带有一标识符,用于匹配请求和响应。也就是说,如果请求的标识符是0x30, 那么响应的数据包里的标识符也是 0x30。这样的话,只要每个请求有不同的标识符,多个请求便能同时发送。
参考文献:《低功耗蓝牙开发权威指南》
本文地址:https://blog.csdn.net/qq_34740116/article/details/106998010