-
导语
该篇文章分析的蓝牙核心架构是基于Bluetooth specification version 4.2。
1. 蓝牙核心系统架构图
蓝牙规范有两类:一类是蓝牙核心规范,由Bluetooth Specification定义,从Controller到Host的L2CAP层,以及相关的核心profile;另一类是蓝牙应用规范,包含了各种各样的profile规范,如HOGP、A2DP、HFP、OOP等。
2. 架构图简介
上图所示的蓝牙核心系统架构,从层级来分可以分为三部分:Host、HCI、Controller;从版本上来分,可以分为BR/EDR、AMP、LE。
从层级来看,HCI层以上被称为Host,HCI层以下被称为Controller,其中HCI层是可选的,看蓝牙模块是集成到SOC,还是以单独的dongle外接。
从版本上来看,Controller中BR/EDR位于左边的一部分,LE位于中间的一部分,AMP位于右边的一部分;Host中SMP和ATT/GATT为LE所特有。
3. 相关名词简介
- BR/EDR Radio & LE Radio & AMP PHY
蓝牙RF层(物理层),包括BR/EDR、AMP和LE三种。负责在物理信道上收发bluetooth packet。- Link Controller & Baseband resource management
两者组成了蓝牙的基带(baseband)。
Link Controller负责链路控制,主要是根据当前物理信道的参数、逻辑信道的参数、逻辑传输的参数将数据payload组装成bluetooth packet。另外,通过Link Control Protocol(对LE来说是LL Layer Protocol)可以实现流控、ack、重传等机制。
Baseband resource management,主要用于管理RF资源。- Link Manager
主要负责创建、修改、释放蓝牙逻辑连接(Logical Link),同时也负责维护蓝牙设备之间物理连接(Physical Link)的参数。它的功能主要是通过Link Management Protocol(LMP,for BR/EDR)和Link Layer Protocol(LL,for LE)完成。- Device Manager
主要负责控制蓝牙设备的通用行为(蓝牙数据传输除外的行为)。- HCI(Host Controller Interface)
Host和Controller通过HCI接口(USB、UART等)以HCI协议进行通信。- L2CAP
Channel Manager主要负责创建、管理、释放L2CAP channel。
L2CAP Resource Manager负责统一管理、调度L2CAP channel上传递的PDU(Packet Data Unit),以确保那些高QoS(Quality of Service)的packet可以获得对物理信道的控制权。- SMP
SMP是一个点对点的协议,基于专用的L2CAP channel,用于生成加密(encryption)和识别(identity)用的密匙(keys)。- SDP
SDP也是一个点对点的协议,基于专用的L2CAP channel,用于发现其它蓝牙设备能提供哪些profile以及这些profile有何特性。在了解清楚了其他蓝牙设备的profile以及特性之后,本蓝牙设备可以发起对自己感兴趣的蓝牙profile的连接动作。- AMP Manager
基于L2CAP channel,和对端的AMP manager交互,用于发现对方是否具备AMP功能,以及收集用于建立AMP物理链路的信息。- GAP
GAP是一个基础的蓝牙profile,用于提供蓝牙设备的通用访问功能,包括设备发现、连接、鉴权、服务发现等等。- ATT
在建立连接之后定义数据交换客户端/服务器协议。使用通用属性配置文件(GATT)将属性分类为有意义的服务。ATT主要用于LE部署,偶尔也会用于BR/EDR部署。- GATT
通用属性协议,GATT 对封装设备组件性能的服务进行分组,并描述基于 GATT 功能的用例、角色和一般性能。其服务框架定义服务规程、格式及其特性,其中包括发现、读取、写入、通知以及指示特性以及配置特性广播。GATT 仅用于LE 部署。
-
总结
该篇文章简要介绍了Bluetooth的核心架构及相关名词,后续的文章中会继续提及上文讲述的名词方便读者加深认识。