LMP即Link Management Protocol,用于链路建立和控制
1. 介绍
基于这一层的实体我们称之为链路管理器(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. 数据包格式(Packet Format)
LMP的PDU有两种格式(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
在序列图中使用如下符号
PDU1: A –> B
PDU2: B –> A
PDU3: A –> B (可选)
PDU4: B –> A (可选)
PDU5: A <-> B
其中,垂直线表示多个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)
-1: 支持
-0: 不支持
6. Procedure
LMP详细过程包括七个大类(Vol2-Park C-4)
- Connection Control
- Security
- Information Requests
- Role Switch
- Modes of Operation
- Logical Transports
- Test Mode
也可参考<Link Management Protocol>
Bluetooth LMP介绍