参考:蓝牙协议 core_v5.0
PALs:Protocol Adaptation Layers ,协议适配层。
AMPs:Alternate MAC/PHYs。
L2CAP:Logical Link Control and Adaptation protocol ,逻辑链路控制与适配协议。
HCI:Host Controller Interface,主机控制器接口。
1. 蓝牙核心系统架构
蓝牙核心系统由主机、主控制器,零个或多个辅控制器组成。
蓝牙核心系统架构如下图所示:
2. 最小配置
(1)BR/EDR核心系统的最小配置包括:
- 四个底层:BR/EDR射频物理层(PHY)、链路控制器(LC)、基带资源管理器、链路管理器。
- Service Discovery Protocol :服务发现协议
- Generic Access Profile:通用访问规范
- 若BR/EDR支持AMPs,则配置中需包括:AMPs和协议适配层 (PALs)。
(2)LE核心系统的最小配置包括:
- 四个底层:BR/EDR射频物理层(PHY)、链路控制器(LC)、基带资源管理器、链路管理器。
- Security Manage:安全管理
- Attribute Protocol :属性协议
- Generic Attribute Profile:通用属性规范
- Generic Access Profile:通用访问规范
3. 主机(Host)架构模块
(1)Channel Manager:信道管理器,主要负责创建、管理和关闭用于传输服务协议和应用层数据流的L2CAP信道。
- 信道管理器利用L2CAP协议与远程(对端)终端上的信道管理器进行交互,以创建L2CAP信道。
- 信道管理器与本地链路管理器或AMP PAL进行交互,以创建新的逻辑链路和配置这些链路,从而为传输数据提供所需的服务质量。
(2)L2CAP Resource Manager:L2CAP资源管理器。
- 主要负责管理传递给基带PDU片段的有序性和信道之间的调度, 以确保具有QoS承诺的L2CAP通道不会因为控制器资源耗尽而被拒绝访问物理通道。
- 还可能执行流量一致性政策,以保证提交的L2CAP SDU在协商的QoS范围内。
(3)Security Manager Protocol:安全管理协议,端对端协议。
- 生成加密秘钥和身份标识秘钥,并存储。
- 使用专有的固有的L2CAP信道。
- 生成随机地址,并将随机地址解析为已知设备标识。
- 直接与控制器交互,在加密和配对过程中提供加密和鉴权的秘钥。
(4)Attribute Protocol:属性协议,端对端协议,服务器和客户端之间的协议。
- ATT客户端通过专用的固定L2CAP通道与远程设备上的ATT服务端通信。
- ATT客户端向ATT服务端发送命令、请求和确认。
- ATT服务端向客户端发送响应、通知和指示。
- ATT客户端的命令和请求提供了在ATT服务端的对等设备上读、写属性值的方法。
(5)Generic Attribute Profile:通用属性规范,描述属性服务器的功能,选择性地描述属性客户端的功能。
- 描述了服务层次、特点,以及属性服务器的属性。
- 提供发现、读、写以及服务特点和属性的接口。
(6)AMP Manager Protocol,AMP管理协议。
- 使用专有的L2CAP信号信道与远程设备的AMP管理器进行通信。
- 直接与AMP PAL交互,以便于AMP控制。
- 发现远程AMP,并确定其有效性。
- 收集远程AMP信息,以便于建立和管理AMP物理链路。
(7)Generic Access Profile:通用访问规范,描述所有蓝牙设备的通用基本功能。
- GAP服务包括:设备发现、连接模式、安全、鉴权、服务发现、关联模型。
4. BR/EDR/LE控制器架构模块(主控制器)
(1)Device Manager:设备管理器,用于控制蓝牙设备的行为,负责除数据传输外的所有蓝牙系统的操作,包括:
- 搜索附近的蓝牙设备、连接蓝牙设备、标记本地蓝牙设备为可发现的、可连接的等。
- 为了执行相应的功能,设备管理器需要访问基带资源管理器的传输媒介。
- 设备资源管理器通过一系列HCI命令控制本地设备的行为,如管理设备名字,存储链路秘钥等。
(2)Link Manager:链路管理器,负责创建、修改或释放逻辑链路,以及更新设备之间的相关物理链路参数。
- 链路管理器利用链路管理协议(LMP, ER/EDR)或链路层协议(LL,LE)与远程蓝牙设备的链路管理器通信。
- LM、LL协议允许在设备之间创建新的逻辑链路和逻辑通道,控制逻辑链路和通道的属性,如使能链路安全、调整BR/EDR物理链路的发送功率、逻辑链路的QoS设置。
(3)Baseband Resource Manager:基带资源管理器,负责所有无线媒介的访问,它主要有两个功能:
- 时间调度器,负责给已协商约定的所有访问实体分配物理信道时间。
- 协商约定,与访问实体协商访问参数,以便于给用户程序提供一个确定的QoS质量。
- 时间调度和协商约定必须考虑到需要主控制器的所用行为,包括已连接设备在逻辑链路和逻辑通道上的所有数据交互,执行查询、连接、可被发现、可连接、可读等的无线媒介使用情况。
(4)Link Controller:链路控制器。
- 编解码蓝牙数据包。蓝牙数据包为物理信道、逻辑传输和逻辑链路的相关数据负载和参数。
- 携带链路控制协议信令( BR/EDR)或链路层协议(LE),包括流控、确认、重传请求信令。
(5)PHY:物理层,负责物理信道上数据的发送和接收。
5. AMP控制器架构模块(辅控制器)
(1)AMP HCI:AMP主机控制器接口,AMP控制器与主机之间的逻辑接口。
- 支持AMPs需要额外的与AMP物理信号和逻辑信道管理、QoS、流控相关的HCI命令和事件。
- 一个AMP控制器对应一个HCI逻辑实体,一个BR/EDR控制器对应一个HCI逻辑实体。当多个控制器在同一个物理单元时,一个物理HCI传输层管理多个复用在同一物理传输线上的控制器。
(2)AMP PAL:AMP协议适应层,AMP MAC与Host之间的接口。
- 将Host命令或事件转化成MAC服务命令或事件,将MAC服务命令或事件转化为host能明白的命令和事件。
- 支持AMP信道管理、基于特定流控模板的数据流量管理、电源效率管理等。
(3)AMP MAC:AMP MAC层。
(4)AMP PHY:AMP物理层。