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