目录
介绍
LMP协议用来控制和协商2个设备间的蓝牙链接的所有方面的操作.
包括建立和控制逻辑传输,逻辑链接和物理链接.
LMP用来在两个设备间的链接管理器通信.
LMP协议由一系列消息构成, 消息可以在ALC-C或APB-C逻辑链接传输.
LMP消息可以由链接管理器解释和操作,不能被直接传给更高层.
LMP信令层
一般规则
消息传输
同步
LMP消息承载在ACL-C和APB-C逻辑链接,这些链接不保证传递或确认包的时间.
LMP程序注意这个当在两个设备间同步状态改变时.
包格式
每个PDU 有一个7位或15位的操作码, 操作码唯一标识不同类型的PDU.
操作码前7位和事务ID唯一负载的第一个字节.
如果操作码的前7位的值是124~127其中一个时,那么负载的第2个字节也是操作码
的一部分.
包头中的FLOW位总是为1.
如果PDU包含1个或多个参数,这些参数被放在负载中操作码的后面.
LMP消息可以使用DM1包传输.
如果HV1 SCO链接在使用中且负载的长度不超过9个字节,那么DV包
也可以被使用.
事务
LMP是基于事务工作的.
事务是实现特定目的的一组相互连接的消息交换.
同一个事务中的PDU拥有相同的事务ID.
事务ID存在操作码的第一个字节中.
一般响应消息
以下PDU被用作响应消息:
- LMP_ACCEPTED
- LMP_ACCEPTED_EXT
- LMP_NOT_ACCEPTED
- LMP_NOT_ACCEPTED_EXT
程序规则
链接控制
链接建立
在寻呼程序之后, 时钟偏移请求,
LMP版本,支持的特性,名字请求和分离的LMP程序会被初始化.
当寻呼设备想要在LM以上层创建链接时, 发送LMP_HOST_CONNECTION_REQ.
当另一端接收到这个消息后,主机被通知进来的链接.
远端设备接收