《低功耗蓝牙开发权威指南》

第三部分 主机(Host)

第9章 逻辑链路控制和适配协议(L2CAP)

逻辑链路控制和适配协议(Logical Link Control and Adaptation Protocol,L2CAP)是个复用层,可以让低功耗蓝牙复用三条不同的信道。它也支持数据的分割和重组功能,使得较大的报文可以在底层无线电中传输。

9.1背景
9.2信道

低功耗蓝牙只支持固定信道。固定信道是指两个设备一建立连接就存在的、没有任何配置参数的信道。



低功耗蓝牙一共使用3条信道:
0x0004:属性协议(详见第10章)
0x0005:低功耗信令信道
0x0006:安全管理协议

9.3L2CAP数据包结构

每个L2CAP数据包的净荷前端都包含一个32bit的报头。假设使用分割和重组,数据包的长度信息必须包含在报头中,以便判断数据包的结束。使用分割和重组机制需要为每一个通过HCI接口的数据包打上标记(详见第8章),分为开始数据包和延续数据包。但是,这里没有定义怎样标记当前数据包的最后一个片段,所以,判断当前数据包是否结束的唯一方法就是发送一个新的数据包(假设这个数据包正准备发送),或者将数据包的长度信息放在开始数据包中。
如图9-1所示,报头包括2个字节的长度字段和2个字节的信道标识符。长度字段表示报头后的信息载荷字节数。



在所有的蓝牙信道上,信息载荷均始于23字节的最大传输单元(Maximum Transmission Unit,MTU)。MTU表示在一个L2CAP信道中信息载荷的最大字节数。这意味着,在所有的低功耗蓝牙中必须支持在空间传输27字节数据包——23字节载荷,4字节报头。(BLE4.0,BLE5.0?)

9.4低功耗信令信道

低功耗信令信道用于主机层级的信令。每个低功耗信令信道的数据均包含有一操作码,随后为各种参数。低功耗信令信道支持的命令操作码如下:
命令拒绝(Command Reject)
连接参数更新请求(Connection Parameter Update Request)
连接参数更新响应(Connection Parameter Update Response)
无论什么时候发送信令命令,其信息载荷总是包含一个字节的标识符,用于匹配请求和响应。


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容