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【本节不再使用】
今天的文章蓝牙5.0协议详解_蓝牙协议5.0和5.3区别分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/82898.html