Bluetooth LMP介绍
1. 介绍
LMP即Link Management Protocol,用于链路建立和控制
基于这一层的实体我们称之为链路管理器(LM: Link Managers)
LM将命令转换为Baseband层的操作,包括
- 将Slaves加入到Piconet, 并给他们分配Active Member Addresss - 将断开连接的Slaves从Piconet中分离 - 配置Master、Slaves切换的链路 - 建立ACL、SCO链路 - 将连接设置为低功耗模式: Hold, Sniff and Park - 控制测试模式
LMP由一系列消息组成(传输在ACL逻辑传输层的ACL-C逻辑链路)
这些消息由LM来解释和执行,且不能往高层协议传递
2. 数据包格式
LMP的PDU有两种数据包格式(Packet Format,Opcode=7/15 bit),详细格式参考Vol2-Park C-5
LMP消息以Transaction的形式进行传输,同一组对话有相同的transaction ID
标识参数为Transaction ID,0: Master发起Transaction;1: Slave发起Transaction
LMP消息使用DM1包,如果使用HV1 SCO链路、并且Payload长度小于9 bytes,也可个DV包
3. 程序规则
程序规则,Procedure Rules,在序列图中使用如下符号
其中,垂直线表示多个PDU可以有选择地发送
4. 回应消息
通用回应消息,General Response Messages
LMP_accepted和LMP_not_accepted使用在Opcode=7 bit的情况
LMP_accepted_ext和LMP_not_accepted_ext使用在Opcode=15 bit的情况
5. 设备特性
蓝牙设置定义了很多设备特性(Device Features)
LMP消息在传输时,需确定双方是否支持这些特性(Vol2-Park C - 3.2)
这些特性在LMP消息中以bit mask的形式来反应(Vol2-Park C - 3.3)
6. Procedure
LMP详细过程包括七个大类(Vol 2-Park C - 4)
- Connection Control - Security - Information Requests - Role Switch - Modes of Operation - Logical Transports - Test Mode