蓝牙协议体系结构

摘要:
蓝牙协议架构整个蓝牙协议架构可以分为三个部分:底层硬件模块、中间协议层和高端应用层。但是,两个模块接口之间的消息和数据传输必须由蓝牙主机控制器接口(HCI)解释。中间协议层包括逻辑链路控制和适配协议(L2CAP)、服务发现协议(SDP)、串行端口模拟协议(RFCOMM)和电话控制协议规范(TSC)。L2CAP完成数据分解、服务质量控制、协议重用、组提取等功能。

蓝牙协议体系结构

  整个蓝牙协议体系结构可分为底层硬件模块、中间协议层和高端应用层三大部分。

  链路管理层(LMP,Link Management Protocol)、基带层(BB)和射频(RF)构成蓝牙的底层模块RF通过2.4GHz无需授权的ISM频段,实现数据位流的过滤和传输,它主要定义了蓝牙收发器应该满足的要求。BB层负责跳频和蓝牙数据及信息帧的传输。LM层负责连接的建立和拆除以及链路的安全和控制,它们为上层软件模块提供了不同的访问入口,但是两个模块接口之间的消息和数据传递必须通过蓝牙主机控制器接口(HCI)的解释才能进行。也就是说,HCI是蓝牙协议中软硬件之间的接口,它提供了一个调用下层BB、LM、状态和控制寄存器等硬件的统一命令接口。HCI协议以上的协议软件实体运行在主机上,而HCI以下的功能由蓝牙设备来完成,二者之间通过传输层进行交互。

  中间协议层包括逻辑链路控制与适配协议(L2CAP)、服务发现协议(SDP)、串口仿真协议(RFCOMM)和电话控制协议规范(TSC)L2CAP完成数据拆装、服务质量控制、协议复用和组提取等功能,是其他上层协议实现的基础,因此也是蓝牙协议栈的核心成分。SDP为上层应用程序提供了一种机制来发现网络中可用的服务及其特性。RFCOMM依据ETSI标准TS07.10在L2CAP上仿真9针RS-232串口的功能。TCS提供蓝牙设备间话音和数据的呼叫控制信令。

  在蓝牙协议栈的最上部是高端应用层,它对应于各种应用模型的剖面(Profile),是剖面(Profile)的一部分。蓝牙1.1定义的profile有13个。SIG认为蓝牙设备有4个最基本的Profile:

  • 普通接入剖面(GAP,General Access Profile:定义两个蓝牙单元如何发现对方并建立连接,保证两个蓝牙单元,无论其生产厂商及进行的应用,可以通过蓝牙交换信息从而发现个单元支持何种应用。所有蓝牙单元都必须支持GAP以保证基本的互操作性和共存性。
  • 业务发现应用剖面(SDAP,Service Discovery Application Profile:定义如何发现蓝牙单元支持的业务,该剖面可以用来搜索已知的特定业务,也可以用来进行普通业务浏览搜索。
  • 串行端口剖面(SPP,Serial Port Profile:定义如何在两个设备之间建立虚拟串行端口,并用蓝牙将其连接。采用串行端口剖面可在蓝牙单元上仿真基于RS-232控制信令的串行线缆,该剖面可保证高达128kbit/s的数据速率。
  • 普通对象交换剖面(GOEP,General Object Exchange Profile:定义处理对象交换的应用需采用的协议和程序,基于GOEP的应用模型(如文件传输、同步等)假定链路和信道已经建立如GAP所述,GOEP描述从一个蓝牙设备Push数据到另一个蓝牙设备的程序,还规定如何在两个单元之间Pull数据。

免责声明:文章转载自《蓝牙协议体系结构》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇【Groovy】Groovy学习,具参、形参、多赋值用SQL实现树的查询下篇

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

相关文章

阿里云重磅发布DMS数据库实验室 免费体验数据库引擎

2月27日,阿里云数据管理DMS发布年度巨献——数据库实验室,用户可在该实验室环境下免费体验数据库引擎、以及DMS各项产品功能。数据库实验室是DMS所提供的体验空间,免费赠送数据库引擎资源。 用户只需要登录阿里云账号,即可开通使用各个已支持数据库引擎的全部产品功能,同时还将拥有如下权益: 免费256MB数据空间 免费体验DMS所有功能 未来将享有其他类型...

Python学习之JSON格式的序列化和反序列化

查看json库的方法 import json print("JSON库的主要方法:",json.__all__) ###JSON库的主要方法: ['dump', 'dumps', 'load', 'loads', 'JSONDecoder', 'JSONDecodeError', 'JSONEncoder']dump和dumps的区别 dump是将对象...

【MySQL】MySQL中的锁机制

MySQL锁机制起步 锁是计算机用以协调多个进程间并发访问同一共享资源的一种机制。MySQL中为了保证数据访问的一致性与有效性等功能,实现了锁机制,MySQL中的锁是在服务器层或者存储引擎层实现的。 行锁与表锁 首先我们来了解行锁与表锁的基本概念,从名字中我们就可以了解:表锁就是对整张表进行加锁,而行锁则是锁定某行、某几行数据或者行之间的间隙。 各引擎对锁...

Vue数据更新但页面没有更新的多种情况

Vue数据更新但页面没有更新的多种情况 1、Vue 无法检测实例被创建时不存在于 data 中的 变量 原因:由于 Vue 会在初始化实例时对 data中的数据执行 getter/setter 转化,所以 变量必须在 data 对象上存在才能让 Vue 将它转换为响应式的。 例如: new Vue({ data:{}, template: '&l...

磁盘 I/O 性能监控指标和调优方法

在介绍磁盘 I/O 监控命令前,我们需要了解磁盘 I/O 性能监控的指标,以及每个指标的所揭示的磁盘某方面的性能。 磁盘 I/O 性能监控的指标主要包括: 指标 1:每秒 I/O 数(IOPS 或 tps) 对于磁盘来说,一次磁盘的连续读或者连续写称为一次磁盘 I/O, 磁盘的 IOPS 就是每秒磁盘连续读次数和连续写次数之和。当传输小块不连续数据时,该指...

adb命令——简单常用命令介绍:, 获取设备列表及设备状态:adb devices———— 获取设备的状态:adb get-state

这里介绍一些里面常用的命令: 1.adb devices , 获取设备列表及设备状态 2.adb get-state , 获取设备的状态 设备的状态有 3 钟,device , offline , unknown device:设备正常连接 offline:连接出现异常,设备无响应 unknown:没有连接设备 --------------------...