zoukankan      html  css  js  c++  java
  • Bluetooth LMP介绍

    1. 介绍

    LMP即Link Management Protocol,用于链路建立和控制
    基于这一层的实体我们称之为链路管理器(LM: Link Managers)

    LM将命令转换为Baseband层的操作,包括

    - 将Slaves加入到Piconet, 并给他们分配Active Member Addresss 
    - 将断开连接的Slaves从Piconet中分离 
    - 配置Master、Slaves切换的链路 
    - 建立ACL、SCO链路 
    - 将连接设置为低功耗模式: Hold, Sniff and Park 
    - 控制测试模式

    image

    LMP由一系列消息组成(传输在ACL逻辑传输层的ACL-C逻辑链路)
    这些消息由LM来解释和执行,且不能往高层协议传递

    2. 数据包格式

    LMP的PDU有两种数据包格式(Packet Format,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包

    image 

    3. 程序规则

    程序规则,Procedure Rules,在序列图中使用如下符号

    image 

    其中,垂直线表示多个PDU可以有选择地发送

    4. 回应消息

    通用回应消息,General Response Messages

    LMP_accepted和LMP_not_accepted使用在Opcode=7 bit的情况
    LMP_accepted_ext和LMP_not_accepted_ext使用在Opcode=15 bit的情况

    image

    5. 设备特性

    蓝牙设置定义了很多设备特性(Device Features)
    LMP消息在传输时,需确定双方是否支持这些特性(Vol2-Park C - 3.2)
    这些特性在LMP消息中以bit mask的形式来反应(Vol2-Park C - 3.3)

    6. Procedure

    LMP详细过程包括七个大类(Vol 2-Park C - 4)

    - Connection Control 
    - Security 
    - Information Requests 
    - Role Switch 
    - Modes of Operation 
    - Logical Transports 
    - Test Mode

    参考:
    <Link Management Protocol>

  • 相关阅读:
    完美数据迁移-MongoDB Stream的应用
    补习系列(3)-springboot中的几种scope
    补习系列(2)-springboot mime类型处理
    hdfs directory item limit
    git-format-patch
    SPARK-18560
    hdfs OutOfMemoryError
    hdfs 路径不支持‘:’
    java.io.UTFDataFormatException: encoded string too long:
    scala-maven-plugin excludes
  • 原文地址:https://www.cnblogs.com/hzl6255/p/3857353.html
Copyright © 2011-2022 走看看