Agenda:
2.1 核心架构模块.
2.1.1主机架构块.
2.1.2 BR/EDR/LE控制器架构模块.
2.1.3 AMP控制器架构模块.
2.1 核心架构模块
(185页)本节描述了图2.1(182页)中所示每个块的功能和职责。 实现不需要遵循上述体系结构,尽管每个实现都应符合蓝牙规范后续部分中描述的协议规范,并且应实现下面概述的系统的行为方面,并在蓝牙规范的后续部分中指定。
2.1.1主机架构块
2.1.1.1 信道管理器Channel Manager
信道管理器负责创建,管理和释放L2CAP信道对的服务协议和应用的数据流的传输。信道管理器使用L2CAP协议来与远程(对等体)设备来创建这些L2CAP信道和它们的端点连接到适当的实体上的信道管理器交互。信道管理器与它的本地链路管理器或AMP PAL创建新的逻辑链路(如有必要),并配置这些链接到提供服务的对被传送的数据的类型所要求的质量进行交互。
2.1.1.2 L2CAP资源管理器
L2CAP资源管理器块负责管理向基带提交PDU片段的顺序以及信道之间的一些相对调度,以确保由于控制器资源耗尽时,不拒绝具有QoS承诺的L2CAP信道访问物理信道。这是必需的,因为架构模型不假设Controller具有无限缓冲,或者HCI是无限带宽的信道。
L2CAP Resource Manager负责统一管理、调度L2CAP channel上传递的PDU(Packet Data Unit),以确保那些高QoS的packet可以获得对物理信道的控制权。
L2CAP资源管理器还可以执行流量一致性监管,以确保应用过程在其协商的QoS设置的范围内提交L2CAP SDU。 一般的蓝牙数据传输模型假设性能良好的应用过程,并没有定义实现如何处理此问题。
2.1.1.3 安全管理器协议(SMP)
安全管理器协议(SMP)是用于生成加密密钥和身份密钥的点对点协议。该协议在专用的固定L2CAP信道上运行。 SMP还管理加密密钥和身份密钥的存储,并负责生成随机地址并将随机地址解析为已知设备身份。 SMP直接与控制器接口,以提供在加密或配对过程中用于加密和认证的存储密钥。
SMP是一个点对点的协议,基于专用的L2CAP channel,用于生成加密(encryption)和识别(identity)用的秘钥(keys)。
(186页)该块仅用于LE系统。 BR / EDR系统中的类似功能包含在Controller中的Link Manager块中。 SMP功能在主机LE系统上,以降低仅LE控制器的实施成本。
2.1.1.4 属性协议(ATT)
属性协议(ATT)实现属性服务器和属性客户端之间的点对点协议。ATT客户端通过专用的固定L2CAP信道与远程设备上的ATT服务器通信。ATT客户端向ATT服务器发送命令,请求和确认。 ATT服务器向客户端发送响应,通知和指示。这些ATT客户端命令和请求提供了一种在具有ATT服务器的对等设备上读取和写入属性值的方法。
2.1.1.5 AMP Manager协议
AMP管理器是一个使用L2CAP与远程设备上的对等AMP管理器通信的层。 它还直接与AMP PAL接口,用于AMP控制。 AMP管理器负责发现远程AMP并确定其可用性。 它还收集有关远程AMP的信息。 此信息用于设置和管理AMP物理链接。 AMP管理器使用专用的L2CAP信令通道与远程AMP管理器通信。
基于L2CAP channel,和对端的AMP manager交互,用于发现对方是否具备AMP功能,以及收集用于建立AMP物理链路的信息。
2.1.1.6 通用属性协议(GATT)
通用属性协议(Generic Attribute Profile,GATT)模块表示属性服务器和可选的属性客户端的功能。 该协议描述了属性服务器中使用的服务,特征和属性的层次结构。 该模块提供用于发现,读取,写入和指示服务特征和属性的接口。 GATT在LE设备上用于LE协议服务的发现功能。
2.1.1.7 通用访问协议(GAP)
通用访问协议(GAP)模块表示所有蓝牙设备共有的基本功能,例如传输,协议和应用过程协议使用的模式和访问过程。GAP服务包括设备发现,连接模式,安全性,身份验证,关联模型和服务发现。
GAP是一个基础的蓝牙profile,用于提供蓝牙设备的通用访问功能,包括设备发现、连接、鉴权、服务发现等等。
GAP 是所有其它应用模型的基础,它定义了在 Bluetooth 设备间建立基带链路的通用方法。还定义了一些通用的操作,这些操作可供引用 GAP 的应用模型以及实施多个应用模型的设备使用。GAP 确保了两个蓝牙设备(不管制造商和应用过程)可以通过 Bluetooth 技术交换信息,以发现彼此支持的应用过程。
2.1.2 BR/EDR/LE控制器架构模块
在组合BR/EDR和LE系统的实现中,可以在系统之间共享架构块,或者每个系统可以具有它们自己的块实例。
2.1.2.1 设备管理器
(187页)设备管理器Device Manager是基带中的功能块,用于控制蓝牙设备的一般行为。 它负责与数据传输无直接关系的蓝牙系统的所有操作,例如询问附近蓝牙设备的存在,连接到蓝牙设备,或使本地蓝牙设备可被其他设备发现或连接。
设备管理器请求从基带资源控制器访问传输介质以执行其功能。 设备管理器还控制由许多HCI命令隐含的本地设备行为,例如管理设备本地名称,任何存储的链接密钥和其他功能。
Device Manager主要负责控制蓝牙设备的通用行为(蓝牙数据传输除外的行为),主要是:
2.1.2.2 链接管理器
链接管理器Link Manager负责创建,修改和释放逻辑链路(如果需要,还有相关的逻辑传输),以及与设备之间的物理链路相关的参数更新。 链路管理器通过使用BR/EDR中的链路管理器协议(LMP)和LE中的链路层协议(LL)与远程蓝牙设备中的链路管理器通信来实现此目的。
LM或LL协议允许在需要时在设备之间创建新的逻辑链路和逻辑传输,以及控制一般的链路和传输属性,例如在逻辑传输上启用加密,在BR /EDR物理链路中调整发射功率,或BR / EDR中QoS设置的调整,用于逻辑链路。
2.1.2.3 基带资源管理器
基带资源管理器Baseband Resource Manager负责对无线电介质的所有访问。它有两个主要功能。其核心是一个调度过程,它为物理信道上的所有已经协商访问协定(access contract)的实体提供时间。另一个主要功能是与这些实体协商访问协定。访问协定实际上是一项承诺,提供必要的特定 QoS,为用户应用提供期望的性能。
访问协定和调度功能必须考虑所有需要使用Bluetooth 无线电的行为。例如,这包括已连接设备之间通过逻辑链路和逻辑传输进行正常数据交换,以及使用无线电媒介实现查询、建立连接、变为可发现或可连接、或者在使用 AFH 模式过程中从未使用的载波中获取读数。
(188页)在BR/EDR系统的某些情况下,逻辑链路调度会导致从先前使用的物理信道更换为另一物理信道。这可能是因为涉及到散射网、定期查询功能或寻呼扫描等。如果物理信道未按时隙对齐,则资源管理器还会考虑原物理信道上的时隙和新物理信道上的时隙之间的重新对齐时间。某些情况会自动对齐时隙,这是因为两个物理信道使用相同的设备时钟作为参考。
2.1.2.4 链路控制器
链路控制器负责Bluetooth 数据包与数据有效负荷及物理信道、逻辑传输和逻辑链路相关参数的编码和解码操作。
链路控制器发出链路控制协议信令(与资源管理器的调度功能紧密结合),用于传达流控制及确认重传请求信号。对这些信号进行翻译是与基带数据包相关联逻辑传输的特征。链路控制信令的翻译和控制通常与资源管理器的调度过程相关联。
2.1.2.5 PHY物理层
PHY物理层负责在物理信道上发送和接收信息包。Baseband通过控制路径(control path)来控制PHY的时序和频率载波。物理层将数据流转换为物理信道和基带的数据流,并转换为所需的格式。
2.1.3 AMP控制器架构模块
…一般用不到,略
————————————————————————————————————————
Reference
1 BT specification Core 4.2, Bluetooth SIG.
————————————————————————————————————————
作者按:蓝牙从业者,潜心学习BT stack,蓝牙协议奇多无比,概述只是开始,网上资料还比较多,学到后面的各种spec就只剩英文原版可以参考了,遂把自己的笔记发出来,互相交流,互相交流。