Texas Instruments CC2540/41
BluetoothLow Energy
Software Developer’s Guide
v1.3.2
Document Number:SWRU271F
《低功耗蓝牙开发权威指南》
Robin Heydon著,陈灿峰、刘嘉 译
机械工业出版
2014.6
TI_BLE软件开发笔记6-L2CAP
标签:读书笔记 BLE
- TI_BLE软件开发笔记6-L2CAP
- 背景
- L2CAP信道
- L2CAP数据包结构
- 低功耗信令信道
- 1 命令拒绝
- 2 连接参数更新请求和响应
Logical Link Control and Adaptation Protocol,L2CAP是个复用层,可以让BLE复用三条不同的信道。也支持数据的分割和重组功能,使得较大的 文可以在底层无线电中传输。
1 背景
和经典蓝牙完全不同,低功耗蓝牙的一个基本概念在于无连接模式。用户只在需要发送数据的时候才建立连接,其他时候设备可以长期处于断开连接状态。为了实现该功能,无连接模式必须扩展到L2CAP层,并且只能使用固定信道。这是由于固定信道无需配置任何的参数,一旦底层链路建立连接,固定信道便可立即投入使用,免去了建立信道耗费的额外时间。
在经典蓝牙中,信道分为两种类型:固定信道和面向连接信道。只要两个设备建立连接,固定信道就已经存在。固定信道主要作为信令信道。面向连接信道可以随时建立,只需要给对端发送一些L2CAP信令即可。
2 L2CAP信道
信道是指一个数据包序列,连接两个设备上的一对服务。在两个设备间允许同时启用多条信道。
BLE只支持固定信道。固定信道指的是两个设备一建立连接就已经存在的、没有任何配置参数的信道。得益于未来扩展的灵活性,还可以日后根据需要添加面向连接信道。
L2CAP信道标识符如下所示:
信道标识符 | 用法 |
---|---|
0x0000 | 保留:不能使用 |
0x0001 | 经典蓝牙信令信道 |
0x0002 | “无连接”信道 |
0x0003 | AMP管理协议 |
0x0004 | 属性协议 |
0x0005 | 低功耗信令信道 |
0x0006 | 安全管理协议 |
0x0007 ~ 0x003E | 保留:日后可能使用 |
0x003F | AMP测试协议 |
0x0040 ~ 0xFFFF | 面向连接信道 |
信道标识符0x0003用于当需要高速率传输数据时所使用的Alternate MAC/PHY协议。信道标识符0x003F用于测试Alternate MAC/PHY控制器。
BLE一共使用了3条信道:0x0004用于属性协议;0x0005用于低功耗蓝牙信令信道;0x0006用于安全管理。
3 L2CAP数据包结构
每个L2CAP数据包的净荷前端都包含一个32位比特 头。假设使用分割和重组,那么数据包的长度信息必须包含在包头中,以便判断数据包的结束。使用分割和重组机制需要为每个通过HCI接口的数据包打上标记,分为开始数据包还是延续数据包。
L2CAP数据包结构如下所示:
- 命令拒绝
- 连接参数更新请求
- 连接参数更新响应
无论什么时候发送信令命令,其信息载荷总是包含一标识符。该标识符长度仅1字节,用于匹配请求和响应。例如,如果请求的标识符为0x35,则响应该请求的数据包也必须使用0x35作为标识符。如此一来,只要每个请求有不同的标识符,多个请求便能同时发送。由于在用完所有标识符之前不允许重复使用,实现时一般会采用增量操作以确保符合该规定,但有一个例外:不嗯能够使用标识符0x00.
在BLE中,由于只定义一种请求命令类型,并且该请求命令仅用于没有其他请求发送的情况,标识符的逻辑相对简单。
4.1 命令拒绝
“命令拒绝”用于拒绝设备收到的不支持的信息包。包含一个原因代码以及相关信息。其中的原因代码可以是“命令不理解”或“信令MTU溢出”。当接收到的命令大于23字节时可以使用“信令MTU溢出”原因代码。
4.2 连接参数更新请求和响应
“连接参数更新请求”命令可以让从设备更新链路层连接参数,这些参数包括连接事件间隔、从设备延迟以及监控超时,过程如下:
在连接中,如果从设备希望修改当前的连接参数则可以使用该命令。连接参数更新请求命令仅用于从设备向主设备发送,因为主设备随时都能启动链路层连接参数更新控制规程。如果该命令有主设备发送,从设备会将其视为一个错误,并返回带有“命令不理解”原因代码的“命令拒绝”命令。
从设备可以在任何时候发送给命令。收到该信息的主设备如果可以修改连接参数,则将返回“连接参数更新响应”,其中的结果代码设为“接收”,随后主设备将会启动链路层连接参数更新控制规程。如果主设备不同意从设备的请求参数,可以发送结果代码为“拒绝”的连接参数更新响应命令以拒绝请求。此时从设备有两个选择,要么接受主设备希望的正在使用的连接参数,要么终止连接。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!