1、LMP层整体架构

蓝牙controller中整体架构如下所示,HCI层、LMP层、Baseband层以及LC等各部分。

对于LMP来说,简化版的结构如下所示,LM模块和LC模块交互完成host和controller之间的命令交互。

2、数据包格式

LMP数据包采用DM1包,并且长度固定不能够超过DM1数据包的长度。只有在HV1数据包的SCO链路中,并且数据长度小于9bytes时,采用DV数据包。

3、LMP支持的feature特性。

LMP特性总共有三个page页,分别是page0、page1和page2,多数设备只支持page0页特性。在page0页中,每个bit为代表一个特性,1表示支持此特性,0表示不支持此特性,其中,page0中总共有8bytes64个特性。

No.

Supported feature

Byte

Bit

0
1
2
3
4
5
6
7

3 slot packets
5 slot packets
Encryption
Slot offset
Timing accuracy
Role switch
Hold mode
Sniff mode

0
0
0
0
0
0
0
0

0
1
2
3
4
5
6
7

8
9
10
11
12
13
14
15

Park state
Power control requests
Channel quality driven data rate (CQDDR)
SCO link
HV2 packets
HV3 packets
ì-law log synchronous data
A-law log synchronous data

1
1
1
1
1
1
1
1

0
1
2
3
4
5
6
7

16
17
18
19
20
21
22
23

CVSD synchronous data
Paging parameter negotiation
Power control
Transparent synchronous data
Flow control lag (least significant bit)
Flow control lag (middle bit)
Flow control lag (most significant bit)
Broadcast Encryption

2
2
2
2
2
2
2
2

0
1
2
3
4
5
6
7

24
25

Reserved
Enhanced Data Rate ACL 2 Mb/s mode

3
3

 

26
27
28
29
30
31

Enhanced Data Rate ACL 3 Mb/s mode
Enhanced inquiry scan
Interlaced inquiry scan
Interlaced page scan
RSSI with inquiry results
Extended SCO link (EV3 packets)

3
3
3
3
3
3

2
3
4
5
6
7

32
33
34
35
36
37
38
39

EV4 packets
EV5 packets
Reserved
AFH capable slave
AFH classification slave
BR/EDR Not Supported
LE Supported (Controller)
3-slot Enhanced Data Rate ACL packets

4
4
4
4
4
4
4
4

0
1
2
3
4
5
6
7

40
41
42
43
44
45
46
47

5-slot Enhanced Data Rate ACL packets
Sniff subrating
Pause encryption
AFH capable master
AFH classification master
Enhanced Data Rate eSCO 2 Mb/s mode
Enhanced Data Rate eSCO 3 Mb/s mode
3-slot Enhanced Data Rate eSCO packets

5
5
5
5
5
5
5
5

0
1
2
3
4
5
6
7

48
49
50
51
52
53
54
55

Extended Inquiry Response
Simultaneous LE and BR/EDR to Same Device Capable
Reserved
Secure Simple Pairing
Encapsulated PDU
Erroneous Data Reporting
Non-flushable Packet Boundary Flag
Reserved

6
6
6
6
6
6
6
6

0
1
2
3
4
5
6
7

56

Link Supervision Timeout Changed Event

7

0

57
58
59
60
61
62
63

Inquiry TX Power Level
Enhanced Power Control
Reserved
Reserved
Reserved
Reserved
Extended features

7
7
7
7
7
7
7

1
2
3
4
5
6
7

           

Page1和page2页不在此详细描述,详见蓝牙核心协议文档。

4、LMP常用控制命令

LMP支持的控制命令可以分为如下6个类别,连接控制类、安全类、信息请求类、角色切换类、操作模式类(sniff模式等)、本地传输类(sco/esco)和测试类。

连接过程的LMP命令如下

请求支持命令。

请求操作模式命令

模式切换过程activity mode《==》sniff mode《==》sniff subrating mode。

详细命令不在此介绍,详见蓝牙core文档。

蓝牙(四)LMP协议解析之二相关推荐

  1. 一个TCP长连接设备管理后台工程(四)---jtt808协议解析

    协议解析 从前面内容我们可以发现,808协议是一个很典型的协议格式: 固定字段+变长字段 其中固定字段用来检测一个帧格式的完整性和有效性,所以一般会包含一下内容:帧头+变长字段对应的长度+校验.由于这 ...

  2. Android 蓝牙开发——Avrcp协议(十二)

    SDK路径:frameworks/base/core/java/android/bluetooth/ 服务路径:packages/apps/Bluetooth/src/com/android/blue ...

  3. 调用wireshark(二):调用协议解析器

    上文[调用wireshark(一):初次尝试 http://www.cnblogs.com/zzqcn/archive/2013/05/11/3072362.html ]已经介绍了调用wireshar ...

  4. 流媒体协议RTSP、HTTP、HTTPS、SDP四种区别解析

    了解了基本协议,我们在看代码写代码的过程中,就会有事半功倍的效果.下面主要讲解RTSP,HTTP,HTTPS, SDP四种协议,一起来看看了解下,仅供参考 一:RTSP协议简介 实时流协议RTSP是一 ...

  5. NetFlow V9协议解析使用教程(二)-配置,采集,处理NetFlow

    NetFlow V9协议解析使用教程(一) NetFlow V9协议解析使用教程(二)-配置,采集,处理NetFlow 一.实践环境 1.不是每一台交换机或者路由器都支持Netflow,如果不支持可以 ...

  6. 基于STM32的四旋翼无人机项目(二):MPU6050姿态解算(含上位机3D姿态显示教学)

    前言:本文为手把手教学飞控核心知识点之一的姿态解算--MPU6050 姿态解算(飞控专栏第2篇).项目中飞行器使用 MPU6050 传感器对飞行器的姿态进行解算(四元数方法),搭配设计的卡尔曼滤波器与 ...

  7. 蓝牙人机接口设备协议(HID)概念以及封包格式介绍

    零. 概述 主要介绍下蓝牙协议栈(bluetooth stack)传统蓝牙音频协议之蓝牙人机接口设备协议(HID)概念介绍 HID协议有很多应用,比如蓝牙鼠标,键盘,手柄,自拍杆等都会用到HID协议! ...

  8. javaweb学习总结(四)——Http协议

    javaweb学习总结(四)--Http协议 一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用 ...

  9. 计算机网络实验arp协议分析,计算机网络ARP地址协议解析实验报告

    计算机网络ARP地址协议解析实验报告 (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 计算机网络实验报告.实验目的:1. 掌握ARP协议 ...

  10. 面向民航的航空数据链协议解析应用研究

    摘要: 航空数据链通信是目前提高各国空域容量.飞行运行效率.安全并补充管制员和飞行员之间拥挤的语音信道的持续扩展和发展是所有主要航空运输系统现代化项目的核心内容. 关键字: 航空数据链协议分析,甚高频 ...

最新文章

  1. Oracle weblogic线程Thread status分类和总结
  2. 一年的收益就是60% 熊市也能做到 股票花荣实战系统
  3. angularJs-脏检查
  4. POJ-1325 Machine Schedule 二分图匹配 最小点覆盖问题
  5. android学习笔记五。2、其他组件
  6. 如何估算一个分布式系统的容量
  7. 红魔5S将配备320Hz游戏肩键:让小白瞬间成为操控高手
  8. JAVA回形数的实现
  9. (十)java版b2b2c社交电商spring cloud分布式微服务- SSO单点登录之OAuth2.0登录认证(1)...
  10. shell mysql 取值_shell 脚本中获取mysql多个字段的值
  11. 今天用pro安装nginx+php+mysql出现故障的解决方法
  12. 如何禁用 7 个完全不必要的设置来优化 Mac?
  13. vc有关 directx组态,和dxsdk_extras(directshow)
  14. 渗透测试工具——Metasploit
  15. AD smart pdf 中文丢失
  16. 访问动态web工程时浏览器地址栏显示%20%20%20%20%...
  17. 显卡更新显示计算机无法识别,显卡驱动更新不了怎么办 显卡驱动更新不了解决方法...
  18. 聆秘2013手游渠道之争:四大战役谁主沉浮?
  19. 《人生只有一次,去做自己喜欢的事》读书笔记
  20. html5 打字机效果,使用JavaScript制作打字机文本效果

热门文章

  1. C++:设计模式之命令模式(例子)
  2. 修真院教学模式四大体系之技能体系
  3. php使用nltk,mac 安装nltk, 并解决nltk.download()出错问题
  4. 【北京-亚运村】这7家公司推荐给你
  5. 一次nginx 502 mysql not contect 排错经历
  6. 02-SpringBoot集成MinIo
  7. FullCalendar日历控件vue使用记录
  8. 配置静态资源不重启即时生效
  9. Java悲观锁Pessimistic-Lock常用实现场景
  10. cordic ip核 vivado_Xilinx Vivado CORDIC IP核求解atan 反正切