蓝牙基础知识进阶——Link Manager通用规则介绍
来源:互联网 发布:白日梦想家知乎 编辑:程序博客网 时间:2024/05/16 06:09
Link Manager Protocol(简称LMP)是用来建立和控制link的。它在整个蓝牙的架构中所处的位置如图0-1中红色矩形所示。
图0-1 Link Manager在蓝牙架构中所处的位置
一、通用的规则
Q1:LMP的msg是如何进行传输的
一般而言,我们认为LMP的msg是通过ACL-C来进行传输,在baseband那章中我们知道ACL-C和ACL-U是通过LogicalLink Identifier(LLID)域来进行区分的。LLID是2bit大小,当他的值为11b’的时候,表示传输的是ACL-C的logical link。因此,他的纠错和帧错能力都是由ACL传输来实现的,他本身并没有包含对应的错误侦测和纠正的info。
master和slave进行交换的时候,master发送一个msg给slave,slave回应一个ack给master。然而,我们并不能很准确地知道对方状态改变的时间。尤其是在负载比较重的情况下。
图1-1 master和slave之间的lmp msg的传输示意图
从图1-1可以看出,slave并不知道master是何时开始发送message的,所以,他无法知道Tdeliver的大小,master也不知道slave是何时开始回应ack的,所以,无法确定Tack的大小。不过有一点需要注意的是,每次message的发送间隔都不得大于Tpoll。Tpoll其实就是master和特定slave之间定义的传输最大时间间隔。
Q2:LMP的格式是什么样子的?
LMPpacket的格式如下图1-2所示:
图1-2 LMP PDU的packet格式
从图中可以看出,他主要由三个部分组成:TID(Transaction ID),OpCode以及Payload。
TID:同一个传输的TID的值需要相同,若是这个传输是由master初始化的,则TID=0,反之,由slave初始化的传输TID则为1。这里所谓的传输,就是一次类似一次控制,比如连接的建立是一个传输,连接的断开是一个传输等。
OpCode有两种长度,分别是7bit和15bit,如何来区分7bit和15bit呢,当7bit的值为124~127之间的值时,就表示有ExtendedOpcode,也就是opcode的长度为15bit。因为LMP都是在ACL-C的逻辑link上传输的,一版而言他的packet type使用的是DM1的格式。当然也有一种另外,就是可以使用DV的packet type进行传输,它的条件就是有HV1的SCO link存在,同时payload的长度小于9byte。当然此时DM1的packet type仍然可以使用。所以,任何一个LMP PDU都不能超过一个DM1的packet payload的length。
- 蓝牙基础知识进阶——Link Manager通用规则介绍
- 蓝牙基础知识进阶——Link manager对连接的控制
- 蓝牙基础知识进阶——Physical channel
- 蓝牙基础知识进阶——Packet解析
- 蓝牙基础知识进阶——Packet解析
- 蓝牙模块——基础知识介绍
- 蓝牙基础知识进阶——链路控制操作
- BlueTooth: 蓝牙基础知识进阶——链路控制操作
- BlueTooth: 蓝牙基础知识进阶——Packet解析
- BlueTooth: 蓝牙基础知识进阶——Physical channel
- 转载_BlueTooth: 蓝牙基础知识进阶——Packet解析
- 转载_BlueTooth: 蓝牙基础知识进阶——Physical channel
- 蓝牙基础知识进阶——物理链路和逻辑传输
- BlueTooth: 蓝牙基础知识进阶——物理链路和逻辑传输
- 转载_BlueTooth: 蓝牙基础知识进阶——链路控制操作
- 转载_BlueTooth: 蓝牙基础知识进阶——物理链路和逻辑传输
- 蓝牙基础知识进阶——物理链路和逻辑传输
- android 蓝牙开发——基础知识
- Ubuntu中安装nfs服务器
- 简单字符串排序
- 安卓Activity的生命周期
- 动静态包含
- 临时改变终端语言
- 蓝牙基础知识进阶——Link Manager通用规则介绍
- hibernate数据库分页查询
- mongoDB学习笔记——在C#中查询
- 加密工具truecrypt 中文版 的加密解密添加文件的方法
- 浙大PAT 1053题 1053. Path of Equal Weight
- 2014年3月17-19CMMI高成熟度培训在上海
- 如何阅读一本电子书
- 我们爱过就好
- wpf 笔记 Buttons and Other Controls