蓝牙(四)LMP协议之一

1.序

链路管理器(link manager, LM)协议(LMP)是蓝牙协议中的一个重要组成部分。它主要完成三个方面的工作:

(1)处理、控制和协商发送数据所使用的分组的大小

(2)管理蓝牙单元的功率模式和PICONET中的状态

(3)处理链路和秘钥的生成、交换与控制

       LMP协议用于链路的建立、链路安全和控制。链路管理器协议可以直接发送有效载荷而不用L2CAP方式来发送,同时通过有效载荷额L_CH字段的一个保留值(11)来区分不同的发送方式。在接收端,消息被LM过滤并解析而不再转发给更高层的协议;

如下图所示,在整个协议栈中,链路管理器(LM)位于链路管理器(LC)之上,且使用LC提供的链路进行通信。

蓝牙(四)LMP协议之一_第1张图片

2.LMP格式

注意第一个字节由7bit或15bit的opcode和1bit的 transaction ID(最低位)组成的。

蓝牙(四)LMP协议之一_第2张图片

示例:

蓝牙(四)LMP协议之一_第3张图片

3.过程规则与PDU

每个不同的过程都以一个时序图来进行描述;

蓝牙(四)LMP协议之一_第4张图片

2.1.通用响应消息

PDU:

蓝牙(四)LMP协议之一_第5张图片

示例:

2.2.鉴权

PDU:

蓝牙(四)LMP协议之一_第6张图片

示例:

2.3.匹配

PDU:

蓝牙(四)LMP协议之一_第7张图片

示例:

2.4.改变链路秘钥

PDU:

蓝牙(四)LMP协议之一_第8张图片

示例:

2.5.改变当前链路秘钥

PDU:

蓝牙(四)LMP协议之一_第9张图片

示例:

2.6.加密

PDU:

蓝牙(四)LMP协议之一_第10张图片

示例:

2.7.时钟偏移请求

PDU:

蓝牙(四)LMP协议之一_第11张图片

抓包示例:

蓝牙(四)LMP协议之一_第12张图片

2.8.时隙偏移消息

示例:

蓝牙(四)LMP协议之一_第13张图片

蓝牙(四)LMP协议之一_第14张图片

 

2.9.计时准确度信息请求

当设备从保持状态返回并延长保持时间时,该信息能够减少扫描窗口,而且该信息也可以在扫描sniff mode是数据分组最小化scan window。返回的计时准确参数是drift(250x10^6)和jitter(10us),这些参数对于一个特定的设备将保持不变,而且在多次请求中将保持一致。

PDU:

蓝牙(四)LMP协议之一_第15张图片

示例:

2.10.LMP版本

PDU:

蓝牙(四)LMP协议之一_第16张图片

示例:

蓝牙(四)LMP协议之一_第17张图片

2.11.支持特性

PDU:

蓝牙(四)LMP协议之一_第18张图片

示例:

蓝牙(四)LMP协议之一_第19张图片

PDU_EX:

蓝牙(四)LMP协议之一_第20张图片

2.12.主从角色切换

PDU:

蓝牙(四)LMP协议之一_第21张图片

示例:

蓝牙(四)LMP协议之一_第22张图片

2.13.设备名称请求

蓝牙(四)LMP协议之一_第23张图片

2.14.断开连接

PDU:

蓝牙(四)LMP协议之一_第24张图片

示例:

2.15.保持(hold)模式

PDU:

蓝牙(四)LMP协议之一_第25张图片

示例:

2.16.呼吸(sniff)模式

PDU:

蓝牙(四)LMP协议之一_第26张图片

2.17.休眠(park)模式

不再支持.

2.18.功率控制

PDU:

蓝牙(四)LMP协议之一_第27张图片

功率增加示例:

蓝牙(四)LMP协议之一_第28张图片

2.19.质量激励下信道在DH和DM间转换-Channel Quality Driven Data Rate Change 

PDU:

蓝牙(四)LMP协议之一_第29张图片

示例:

蓝牙(四)LMP协议之一_第30张图片

2.20.服务质量(QOS)

链路管理器提供服务质量的能力。poll interval、Nbc两个参数,注意Nbc参数只有master发给salve才有意义;

协议接受流程如下:

蓝牙(四)LMP协议之一_第31张图片

协议发送抓包示例如下:

蓝牙(四)LMP协议之一_第32张图片

2.21.SCO链路

PDU:

蓝牙(四)LMP协议之一_第33张图片

2.22.eSCO链路

PDU:

蓝牙(四)LMP协议之一_第34张图片

2.23.多时隙分组的控制

PDU:

蓝牙(四)LMP协议之一_第35张图片

示例:

2.24.寻呼方案

PDU:

蓝牙(四)LMP协议之一_第36张图片

示例:

2.25.链路监视

3.建立连接

建立连接的过程如下所示。建立连接的过程如遇到page过程后,master必须通过发poll或null分组对salve进行轮询,之后在执行LMP的过程;

蓝牙(四)LMP协议之一_第37张图片

4.测试模式于错误处理

4.1.激活和关闭测试模式

4.2.测试模式的控制

4.3.错误处理

你可能感兴趣的:(Bluetooth开发)