蓝牙(四)LMP协议之一

1.序

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

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

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

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

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

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

2.LMP格式

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

示例:

3.过程规则与PDU

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

2.1.通用响应消息

PDU:

示例:

2.2.鉴权

PDU:

示例:

2.3.匹配

PDU:

示例:

2.4.改变链路秘钥

PDU:

示例:

2.5.改变当前链路秘钥

PDU:

示例:

2.6.加密

PDU:

示例:

2.7.时钟偏移请求

PDU:

抓包示例:

2.8.时隙偏移消息

示例:

 

2.9.计时准确度信息请求

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

PDU:

示例:

2.10.LMP版本

PDU:

示例:

2.11.支持特性

PDU:

示例:

PDU_EX:

2.12.主从角色切换

PDU:

示例:

2.13.设备名称请求

2.14.断开连接

PDU:

示例:

2.15.保持(hold)模式

PDU:

示例:

2.16.呼吸(sniff)模式

PDU:

2.17.休眠(park)模式

不再支持.

2.18.功率控制

PDU:

功率增加示例:

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

PDU:

示例:

2.20.服务质量(QOS)

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

协议接受流程如下:

协议发送抓包示例如下:

2.21.SCO链路

PDU:

2.22.eSCO链路

PDU:

2.23.多时隙分组的控制

PDU:

示例:

2.24.寻呼方案

PDU:

示例:

2.25.链路监视

3.建立连接

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

4.测试模式于错误处理

4.1.激活和关闭测试模式

4.2.测试模式的控制

4.3.错误处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值