搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
从前慢现在也慢
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
next 14 appRouter redux数据持久化_nextjs redux 持久化存储
2
mac与windows服务器 访问和共享
3
Android 15全面解读:性能飙升、隐私守护与智能生活新纪元_安卓15
4
标题:怎样通过Dialogflow构建一个聊天机器人?React版。_dialogflow机器人
5
连接Mongodb数据库的步骤以及注意事项_如何连接mongodb数据库
6
小程序公告php实现,小程序两种滚动公告栏的实现方法
7
Git仓库完整迁移全过程_gitee 将a仓库的克隆到b仓库
8
FP6381AS5CTR原厂SOT23-5 1.2A同步降压IC DC-DC变频器
9
STM32参考代码,编译时出现“cannot open source input file, no such file or directory"错误
10
微信小程序用户隐私保护指引设置指南_mp后台-设置-基本设置-服务内容声明-用户隐私保护指引]中声明“剪切板”隐私收集
当前位置:
article
> 正文
Android 蓝牙5.3协议中文版解析(3)核心系统架构(202-209页)
作者:从前慢现在也慢 | 2024-05-02 10:50:09
赞
踩
蓝牙5.3协议
2、核心系统架构
蓝牙核心系统由主机和控制器组成。蓝牙BR/EDR核心系统的最小实现涵盖了 蓝牙规范定义的四个最低层和相关协议以及一个通用服务层协议;服务发现协 议(SDP)和总体配置文件要求在通用访问配置文件(GAP)中指定。仅蓝牙LE核心系统的最小实现涵盖了蓝牙规范定义的四个最低层和相关协议以及两个通用服 务层协议;
安全 管理器(SM)和属性协议(ATT)以及总体配置文件要求在通用属性配置文件(GATT)和通用访问中指定 配置文件(GAP)。结合蓝牙BR/EDR和LE的实现包括上述两种最小实现。
一个完整的蓝牙应用需要蓝牙规范中定义的许多附加服务和更高层协议,但这 里没有描述。核心系统架构如图2.1所示。
图2.1:蓝牙核心系统架构
图2.1显示了核心块,每个块都有其关联的通信协议。链路管理器、链路控制器 和BR/EDR无线电块组成一个
BR/EDR控制器。链路管理器、链路控制器和LE无线电模块组成一个LE控制器 。L2CAP、SDP和GAP块组成一个BR/EDR主持人。L2CAP、SMP、属性协议、GAP和通用属性配置文件(GATT)块组成了 一个LE主机。BR/EDR/LE主机组合来自每个相应主机的一组块。这是一个常
见的实现,涉及控制器和控制器之间的标准物理通信接口。 主持人。尽管此接口是可选的,但体系结构的设计允许其存在和特性。蓝牙规 范通过定义等效层之间交换的协议消息来实现独立蓝牙系统之间的互操作性, 并通过定义蓝牙控制器和蓝牙主机之间的通用接口来实现独立蓝牙子系统之间 的互操作性。
显示了许多功能块以及它们之间的服务和数据路径。图中所示的功能块提供了 一组在描述规范要求时使用的概念实体;一般来说,蓝牙规范没有定义实现的 细节,除非这是互操作性所必需的。因此显示了图2.1中的功能块以帮助描述系 统行为。一个实现可能与图2.1所示的系统不同。
为所有设备间操作定义了标准交互,其中 蓝牙设备根据蓝牙规范交换协议信令。蓝牙核心系统协议是无线电(PHY)协 议、链路控制(LC)和链路管理器(LM)协议或链路层(LL)协议,以及逻 辑链路控制和适配协议(L2CAP),所有这些协议都有完整的定义在蓝牙规范 的后续部分。此外,服务发现协议(SDP)和属性协议(ATT)是某些蓝牙应用程序 可能需要的服务层协议。
蓝牙核心系统通过许多服务接入点提供服务,这些服务接入点在图中显示为椭 圆。这些服务由控制蓝牙核心系统的基本原语组成。这些服务可以分为三种类 型。有修改蓝牙设备行为和模式的设备控制服务,创建、修改和释放流量承载 (信道和链路)的传输控制服务,以及用于提交数据以通过流量承载传输的数 据服务。通常认为前两个属于C平面,最后一个属于U平面。
蓝牙控制器子系统的服务接口被定义为控制器可以被视为标准部件。在这个配 置中蓝牙控制器运行最低四层。蓝牙主机操作L2CAP层和其他更高层。标准接口 称为主机控制器接口(HCI),其服务接入点由图2.1中蓝牙控制器子系统上边缘 的椭圆表示。该标准服务接口的实现是可选的。
由于蓝牙架构被定义为可以通过一个或多个HCI传输单独的主机和控制器进行 通信,因此做出了许多一般假设。假设蓝牙控制器与主机相比具有有限的数据 缓冲能力。
因此,当将L2CAPPDU提交给控制器以传输到对等设备时,L2CAP层应执行一 些简单的资源管理。这包括将L2CAPSDU分段为更易于管理的PDU,然后将PD U分段为大小适合控制器缓冲区的起始和继续数据包,以及管理控制器缓冲区 的使用以确保具有服务质量(QoS)的信道的可用性承诺。
BR/EDR基带和LE链路层提供蓝牙中的基本确认/重复请求(ARQ)协议。L2CAP 层可以选择性地为L2CAPPDU提供进一步的错误检测和重传。建议将此功能用 于要求用户数据中未检测到错误的概率较低的应用程序。L2CAP的另一个可选 功能是基于窗口的流量控制,可用于管理接收设备中的缓冲区分配。在某些情 况下,这两个可选功能都增强了QoS性能。使用LE系统时,并非所有L2CAP功 能都可用。
尽管在单个系统中结合所有层的嵌入式蓝牙实施并不总是需要这些假设,但通 用架构和QoS模型是在考虑这些假设的情况下定义的,实际上是最低公分母。 需要对蓝牙核心系统的实现进行自动一致性测试。这是通过允许测试人员通过 PHY接口和测试接口(如Direct)控制实现来实现的
测试模式(DTM)、通用测试方法(GTM)、测试控制接口(TCI)以及HCI上的测 试命令和事件,这些都是一致性测试所必需的。
测试仪通过PHY接口与被测设备(IUT)交换消息,以确保正确响应来自远程设备 的请求。测试仪通过HCI、DTM、GTM或TCI控制IUT,使IUT通过PHY接口 发起交换,以便也可以验证这些交换是否符合要求。
TCI使用不同的命令集(服务接口)来测试每个架构层和协议。HCI命令集的一 个子集用作BR/EDR控制器子系统中每个层和协议的TCI服务接口。单独的服 务接口用于测试L2CAP层和协议。由于L2CAP服务接口未在规范中定义,它在 测试控制接口规范中单独定义。L2CAP服务接口的实现仅用于一致性测试。
2.1核心架构块
本节描述图2.1中所示的每个块的功能和职责。实现不需要遵循上述架构,尽管 每个实现都应符合蓝牙规范后续部分中描述的协议规范,并应实现下面概述和 蓝牙规范后续部分中指定的系统的行为方面
2.1.1主机架构块
2.1.1.1渠道经理
渠道经理负责创建、管理和关闭 用于传输服务协议和应用程序数据流的L2CAP通道。通道管理器使用L2CAP协 议与远程(对等)设备上的通道管理器交互,以创建这些L2CAP通道并将其端
点连接到适当的实体。通道管理器与其本地链接管理器交互以创建新的逻辑链 接(如果需要)并配置这些链接以提供所传输数据类型所需的服务质量。
2.1.1.2L2CAP资源管理器
L2CAP资源管理器块负责管理向基带提交PDU片段的顺序以及通道之间的一些 相关调度,以确保具有QoS承诺的L2CAP通道不会因控制器资源耗尽而拒绝访问物理通道。这是必需的,因为架构模型不假设控制器具有无限缓冲,或者HCI是无限带宽的管道。
L2CAP资源管理器还可以执行流量一致性监管,以检查应用程序是否在其协商 的QoS设置范围内提交L2CAPSDU。通用蓝牙数据传输模型假定应用程序表现良好,并且没有定义预期实现如何处理这个问题。
2.1.1.3安全管理器协议
安全管理器协议(SMP)是用于生成加密密钥和身份密钥的对等协议。该协议在 专用的固L2CAP通道上运行。SMP块还管理加密密钥和身份密钥的存储,并 负责生成随机地址并将随机地址解析为已知设备身份。SMP块直接与控制器接 口,以在加密或配对过程中提供用于加密和验证的存储密钥。 此块仅用于LE系统。BR/EDR系统中的类似功能包含在控制器的链路管理器块 中SMP功能位于LE系统上的主机中,以降低仅LE控制器的实施成本。
2.1.1.4属性协议
属性协议(ATT)块在ATT服务器和ATT客户端之间实现对等协议。ATT客户端通 过专用的固定L2CAP通道与远程设备上的ATT服务器进行通信。这 ATT客户端向ATT服务器发送命令、请求和确认。 ATT服务器向客户端发送响应、通知和指示。
这些ATT客户端命令和请求提供了一种在具有ATT服务器的对等设备上读取和
写入属性值的方法。
2.1.1.5【本节不再使用】
2.1.1.6通用属性配置文件
通用属性配置文件(GATT)块表示 ATT服务器和可选的ATT客户端。配置文件描述了ATT服务器中使用的服务、 特征和属性的层次结构。该块提供用于发现、读取、写入和指示服务特性和属
性的接口。GATT在LE设备上用于LE配置文件服务发现。
2.1.1.7通用访问配置文件
通用访问配置文件(GAP)块代表所有蓝牙设备通用的基本功能,例如传输、协议和应用配置文件使用的模式和访问程序。GAP服务包括设备发现、连接模式、安全、身份验证、关联模型和服务发现。
2.1.2BR/EDR/LE控制器架构块
在BR/EDR和LE系统结合的实现中,体系结构块可以在系统之间共享,或者每个系统可以有自己的块实例。
2.1.2.1设备管理器
设备管理器是基带中控制蓝牙设备一般行为的功能块。它负责蓝牙系统的所有与数据传输没有直接关系的操作,例如查询附近蓝牙设备的存在,连接蓝牙设备,或者使本地蓝牙设备可被其他设备发现或连接。
设备管理器向基带资源控制器请求访问传输介质以执行其功能。设备管理器还控制由许多HCI命令隐含的本地设备行为,例如管理设备本地名称、任何存储的链接密钥和其他功能。
2.1.2.2链接管理器
链路管理器负责创建、修改和释放逻辑链路(以及,如果需要,它们的相关逻
辑传输),以及与设备之间的物理链路相关的参数的更新。链接
manager通过与远程链接管理器通信来实现这一点使用BR/EDR中的链路管理器协议(LMP)的蓝牙设备和LE中的链路层协议(LL)。
LM或LL协议允许在需要时在设备之间创建新的逻辑链路和逻辑传输,以及对链 路和传输属性的一般控制,例如在逻辑传输上启用加密、在物理上调整传输功 率或调整逻辑链路的BR/EDR中的QoS设置。
2.1.2.3基带资源管理器
基带资源管理器负责对无线电介质的所有访问。它有两个主要功能。它的核心是一个调度程序,它向所有协商访问合同的实体授予物理信道上的时间。另一个主要功能是与这些实体协商访问合同。访问合同实际上是对提供特定QoS的承诺,该QoS是为用户应用程序提供预期性能所需的。
访问合同和调度功能必须考虑需要使用控制器的任何行为。这包括(例如)连 接设备之间通过逻辑链路和逻辑传输的正常数据交换,以及使用无线电介质进 行查询、建立连接、可发现或可连接,或从未使用的设备中读取数据使用自适 应跳频模式期间的载波。
在BR/EDR系统中的某些情况下,逻辑链路的调度导致将逻辑链路更改为与先前使用的物理信道不同的物理信道。这可能是(例如)由于参与了分散网、定期查询功能或页面扫描。当物理信道不是时隙对齐时,资源管理器还考虑原始物理信道上的时隙和新物理信道上的时隙之间的重新对齐时间。在某些情况下 ,由于使用相同的设备时钟作为两个物理通道的参考,插槽将自然对齐。
2.1.2.4链路控制器
链路控制器负责从数据有效载荷和与物理信道、逻辑传输和逻辑链路相关的参 数中对蓝牙数据包进行编码和解码。
链路控制器执行BR/EDR中的链路控制协议信令和LE中的链路层协议(与资源 管理器的调度功能紧密结合),用于传递流量控制和确认和重传请求信号。这 些信号的解释是与基带数据包相关联的逻辑传输的特征。链路控制信令的解释和控制通常与资源管理器的调度程序相关联。
2.1.2.5物理层
PHY块负责在物理信道上发送和接收信息包。基带和PHY块之间的控制路径允许基带块控制PHY块的时序和频率载波。PHY模块将进出物理信道和基带的数据流转换为所需的格式。
2.1.2.6等时适配层
同步适配层(ISOAL)使上层能够以灵活的方式向链路层发送或从链路层接收 同步数据,使得上层数据包的大小和间隔可以与数据的大小和间隔不同链路层 中的数据包。ISOAL使用分片/重组或分段/重组操作将上层数据单元转换为下 层数据单元(或相反)。
2.1.3【本节不再使用】
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/523676
推荐阅读
article
android
依赖
统一管理(
build
.
gradle
.
kts
)_
build
.
gradle
.
kts
如...
android
依赖
统一管理 kotlin+
build
Src (
build
.
gradle
.
kts
) _
build
.gra...
赞
踩
article
Android
hilt
使用_
build
.
gradle
.kts添加
hilt
...
这里进行了多次注入User对象,实际上User的构造器之调用了一次,表明之创建了一次,所以这几个对象都指向这个创建的对象...
赞
踩
article
Android
Gradle
Composing
builds
管理三方依赖...
Android
Gradle
Composing
builds
管理三方依赖
Android
Gradle
Composi...
赞
踩
article
android
必读的文章- 收藏集 -
掘金
_
安卓
词云
效果
实现
...
写给 Android 开发者的混淆使用手册 - Android -
掘金
本文转自:点击打开链接 毫无疑问,混淆是打包过程...
赞
踩
article
深入
理解
Android
卷I - 第5
章
深入
理解
常见
类_
android
interlockedi...
原文地址:http://wiki.jikexueyuan.com/project/deep-
android
-v1/第5
章
...
赞
踩
article
android
studio
导入
工程好慢
,
Android
Studio
导入
项目
非常慢的解决方法...
Android
Studio
原生支持使用Gradle来构建
项目
,使用动态语言Groovy定义
项目
构建的过程
,
避免了bui...
赞
踩
article
一直卡在 Android Studio Gradle:Resolve
de
pen
de
ncies':ap...
原因是国外的jcenter太慢了,改成阿里云的源buildscript {repos
it
ories {maven{ ur...
赞
踩
article
Android
Studio
解决导入
项目
非常慢
的
问题...
Android
Studio
比Eclipse ADT有巨大
的
优势。
Android
Studio
原生支持使用Gradle...
赞
踩
article
解决
Android
Studio 下载
Gradle
失败 :Read
timed
out
_dow...
不停点击 “Sync Now” 和 “Try Again” 也是一样。修改这个叫 HTTP Proxy 的设置。打开项目...
赞
踩
article
Android
Studio
配置中“
Gradle
sync failed: SSL
peer
shu...
出现SSL
peer
shut
down
incorrectly
或者
Read
timed out的问题。打开工程目录下的...
赞
踩
article
Android
Studio3.5.2初次安装
gradle
时出现
Error
:
read
time
ou...
最近安装
Android
Studio,总是出现报错,在查询了无数个解决办法后,终于安装成功了。这里提供以下方法,希望对大...
赞
踩
article
Android
7.1 GUI系统-
vsync
信号
的
产生
和接收(五)_
hwcomposer
源码
分析
...
Vsync
信号
的
产生
。以下代码基于高通msm8909芯片,android7.1的源码。Vsync
信号
的
产生
有两种来源,一...
赞
踩
article
【
Android
】
a
pk安装报错:包含病毒:
a
.gr
a
y.Bulimi
a
TGen.f...
a
pk通过免费的360加固之后的
a
pk是没有签名证书的;需要再一次加固的
a
pk进行签名,可以使用命令进行签名,也可以通过...
赞
踩
article
Android
a
pk
报毒
漫长的解决之路(已有对策)_
a
.
gr
a
y
.mixopteroide
a
...
事情是这样,在公司项目某一版本发布后过了两天,大面积用户安装提示风险应用,应用默认禁用网络,而且桌面图标上有很醒目的红色...
赞
踩
article
Android
、
APP
、APK 、
华为
报感染病毒
a
.
gr
a
y
.Bulimi
a
.
a
已解决 (精)_...
处理结果:“该软件确认无风险内容,腾讯手机管家已去除风险提示”起因:近期发现自家
APP
上架
华为
市场被驳回,理由是 :...
赞
踩
article
Android
11 的
状态栏
的隐藏...
Android
11 的
状态栏
与导航栏较之前的版本有较大的差异, 在
Android
7.0 SystemUI 状态/导航...
赞
踩
article
Android
7.1
WebView
实现方式选择_
com
.
huawei
.
webview
对应co...
平台RK3288 +
Android
7.1
说明选项位置: 设置 > 开发者选项 >
WebView
实现1.在Pixel...
赞
踩
article
Android
RTSP
摄像头推流_
android
rtsp
推流...
前言
Android
的摄像头的功能扩展越来越丰富, 近段时间因为涉及到
RTSP
推送的需求, 稍微了解记录踩过的坑.服务端纯...
赞
踩
article
Android
中
的
icon
适配_
android
android
:
icon
...
一、
icon
的
简介
icon
是应用图标,官方建议将图标根据不同
的
dpi放置在res/mipmap文件夹下。二、
icon
的
发...
赞
踩
article
Android
适配
异形
屏
(
屏
幕
分辨率
比例
为18:9)
引导
页_手机上
的
异形
屏
多少
比例
才算...
大家肯定都知道现在
Android
手机
的
更新真
的
是快
的
一比,所以对于我们开发来说难度加大了好多,今天给大家介绍
的
是如何处理...
赞
踩
相关标签
android
kotlin
gradle
hilt
dagger2
Android
Android 必读
Android 掘金
深入理解 Android
android studio 导入工程好慢
移动开发
java
开发工具
android studio
ide
DispSyncSource
EventThread
DispSync
vsync
onVSyncEvent