蓝牙4.0的LM层说明

摘要:
此外,LMP的SMG不包含任何错误检测。定义如下:5.LMP规则描述了LMP应用的一些规则。下图显示了建立LMP连接的过程:这里没有描述LMP上常用的一些PDU。还有许多常用的PDU。请参考规范TimingAccuracyClockOffsetLMPversionSupportedFeaturesNameRequest7.MODESOOPERATIONLMP的模式转换过程。

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的:
蓝牙4.0的LM层说明
注意:LMP的msg在ACL-C上传输。另外,LMP 的SMG不含有任何的错误检测。
 
2.Packet Format
LMP的SDU有两种形式,使用ACL-C的DM1格式:
蓝牙4.0的LM层说明
LMP的msg以transaction的形式进行传输,拥有重要参数transaction ID:
0:master发起transaction
1:slaver发起transaction
同一组对话有相同的transaction ID。
 
3.LMP MSGs
定义了四种General response messages:
蓝牙4.0的LM层说明
一些限制:
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。定义如下(只是一部分):
蓝牙4.0的LM层说明
蓝牙4.0的LM层说明


5. LMP的Rules
这段讲述一些LMP应用的规则。下图是LMP连接建立的过程:
蓝牙4.0的LM层说明

一些LMP上常用的PDU:
蓝牙4.0的LM层说明
蓝牙4.0的LM层说明

蓝牙4.0的LM层说明

蓝牙4.0的LM层说明

蓝牙4.0的LM层说明
这里不一一叙述,还有很多常用的PDU,参考Spec。
 
6.INFORMATIONAL REQUESTS
用来获取对方设备的相关信息。
(1)Timing Accuracy
蓝牙4.0的LM层说明
(2)Clock Offset
蓝牙4.0的LM层说明

(3)LMP version
蓝牙4.0的LM层说明
(4)Supported Features
蓝牙4.0的LM层说明

(5)Name Request
蓝牙4.0的LM层说明

7.MODES OF OPERATION
LMP的模式(connection、park、sniff等)的转换过程。
(1)Hold Mode
蓝牙4.0的LM层说明
Master Forces Hold Mode:
蓝牙4.0的LM层说明
Slave Forces Hold Mode:
蓝牙4.0的LM层说明
Master or Slave requests Hold Mode:
蓝牙4.0的LM层说明

其余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
蓝牙4.0的LM层说明
SCO packet支持语音编码格式PCM和CVSD。Tsco, Dsco and a flag决定SCO周期使用的slots。
Master Initiates an SCO Link:
蓝牙4.0的LM层说明
Slave Initiates an SCO Link:
蓝牙4.0的LM层说明
蓝牙4.0的LM层说明
 
9.简单总结
LMP的数据建立在ACL-C上,以transaction的形式进行联系,LMP的PDU结构很简单,为Opcode+payLoad形式,分7bit的Opcode和15bit的Opcode两种形式。LMP的传输须知道device feature,在支持的情况下才可以传输响应的MSG。

免责声明:文章转载自《蓝牙4.0的LM层说明》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【Navicat】MySQL 8.0.17 数据库报2059错误UML2.0之类图详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

Delete from join 用法

delete(别名)fromtblA(别名)leftjointblb(别名)on。。。...

JS前端数据多条件筛选(商品搜索)

有时候也会需要在前端进行数据筛选,增强交互体验。当数据可用的筛选条件较多时,把逻辑写死会给后期维护带来很大麻烦。进行商品按条件筛选主要是利用Arrary.prototype.filter对数组元素进行遍历检查,返回一个符合检查条件的新数组,不会改变原数组。为了能自动适配不同的筛选条件,将筛选条件分为两个大类,一个是区间类型rangesFilter,如:品牌、...

如何设置Navicat的显示字体与字体大小?

方法/步骤打开Navicat点击菜单,再选择在界面,点击下的设置网格字体和大小设置编辑器字体和大小设置命令列界面字体和大小设置ER图表字体和大小,最后点击END...

Excel数据透视表、高级筛选

目录:1.数据透视表:数据透视表格式和操作说明:多个表一起创建数据透视表创建组创建计算字段创建计算项值显示方法切片器2。高级过滤:高级过滤和或关系精确过滤和模糊过滤通配符过滤原则查询不重复值(使用高级过滤)高级过滤区分大小写使用高级过滤查找空数据使用高级过滤查询两个表中相同的记录或未使用的记录过滤记录1和数据透视表1.正确的数据透视表格式:① 数据源的第一行...

Google Drive 里的文件下载的方法

Google Drive不提供创建直接下载链接的选项,但您可以通过更改链接形式在本地保存共享内容。例如,通过Google Drive共享的文件链接是:https://drive.google.com/file/d/FILE_ID/edit?usp=sharing如果您将其更改为以下修改版本,然后通过浏览器打开,则将直接下载该文件:https://drive....

GeoServer基础教程(一):环境搭建篇

到目前为止,GeoServer环境已经建立,下面的博客文章将继续让您熟悉GeoServer的界面和基本功能。...