博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
蓝牙4.0的LM层说明
阅读量:4974 次
发布时间:2019-06-12

本文共 1928 字,大约阅读时间需要 6 分钟。

1.概念

The Link Manager Protocol (LMP) is used to control and negotiate all aspects of the operation of the Bluetooth connection between two devices. This includes the set-up and control of logical transports and logical links, and for control of physical links.简单的说,就是控制basebandc层的Logical transports和Logical links的:
注意:LMP的msg在ACL-C上传输。另外,LMP 的SMG不含有任何的错误检测。
 
2.Packet Format
LMP的SDU有两种形式,使用ACL-C的DM1格式:
LMP的msg以transaction的形式进行传输,拥有重要参数transaction ID:
0:master发起transaction
1:slaver发起transaction
同一组对话有相同的transaction ID。
 
3.LMP MSGs
定义了四种General response messages:
一些限制:
LMP MSGs不能超过DM1的17byte的packet长度(因为在ACL-C上创术嘛);
所有LM的MSGs都是固定长度(park状态下的广播除外)。
 
4.DEVICE FEATURES
蓝牙Device定义了诸多的Device Feature,LMP传输MSG时,必须确定双方是否支持这些Feature。具体参考SPec的465-470.用Feature Mask来表示是否支持某些device feature。定义如下(只是一部分):
5. LMP的Rules
这段讲述一些LMP应用的规则。下图是LMP连接建立的过程:
一些LMP上常用的PDU:
这里不一一叙述,还有很多常用的PDU,参考Spec。
 
6.INFORMATIONAL REQUESTS
用来获取对方设备的相关信息。
(1)Timing Accuracy
(2)Clock Offset
(3)LMP version
(4)Supported Features
(5)Name Request
7.MODES OF OPERATION
LMP的模式(connection、park、sniff等)的转换过程。
(1)Hold Mode
Master Forces Hold Mode:
Slave Forces Hold Mode:
Master or Slave requests Hold Mode:
其余sniff、park等都是相似的过程。
 
8.LOGICAL TRANSPORTS
    When a connection is first established between two devices the connection consists of the default ACL logical links: ACL-C (for LMP messages) and ACLU (for L2CAP data.) One or more synchronous logical transports (SCO or eSCO) may then be added. A new logical transport shall not be created if itwould cause all slots to be allocated to reserved slots on secondary LT_ADDRs.
SCO Logical Transport
SCO packet支持语音编码格式PCM和CVSD。Tsco, Dsco and a flag决定SCO周期使用的slots。
Master Initiates an SCO Link:
Slave Initiates an SCO Link:
 
9.简单总结
LMP的数据建立在ACL-C上,以transaction的形式进行联系,LMP的PDU结构很简单,为Opcode+payLoad形式,分7bit的Opcode和15bit的Opcode两种形式。LMP的传输须知道device feature,在支持的情况下才可以传输响应的MSG。

 

转载于:https://www.cnblogs.com/senior-engineer/p/9842369.html

你可能感兴趣的文章
JDK1.8源码分析02之阅读源码顺序
查看>>
java使用jsp servlet来防止csrf 攻击的实现方法
查看>>
缓存穿透/击穿/雪崩/降级
查看>>
我的作品
查看>>
【bzoj题解】2186 莎拉公主的困惑
查看>>
Protocol Buffer学习笔记
查看>>
Update 语句
查看>>
HBuilder打包Android apk 支付不了问题解决
查看>>
poj2594——最小路径覆盖
查看>>
程序员口述:我是如何工作三年后跳槽到美团的?
查看>>
欧拉函数
查看>>
关于SQL2008 “不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了‘阻止保存要求重新创建表的更改’” 解决方案...
查看>>
php文件操作(上传文件)2
查看>>
linux内核驱动模型
查看>>
给WebApp加一个“壳”,实现Andriod系统添加到桌面
查看>>
js 浏览器复制功能
查看>>
数据库总编
查看>>
redis 字符串(string)函数
查看>>
杭州电 1372 Knight Moves(全站搜索模板称号)
查看>>
POJ--3268--Silver Cow Party【SPFA+邻接表】
查看>>