蓝牙架构简介
蓝牙芯片架构
蓝牙的核心系统,由一个Host和一个或多个Controller组成。
- Host:一个逻辑实体,在HCI(Host Controller Interface)的上层。
- Controller:一个逻辑实体,在HCI(Host Controller Interface)的下层。
Host
Host是核心架构中的逻辑实体,负责处理上层协议栈和应用逻辑,与底层的Controller(控制器)通过HCI(Host Controller Interface)交互。其功能覆盖协议管理、安全机制、服务定义等多个维度
蓝牙Host包含以下关键协议层与模块:
- L2CAP(逻辑链路控制与适配协议)
- 功能:提供协议复用、数据分段重组、流控及差错控制,为上层提供可靠传输接口。例如,支持ACL链路的大文件传输和SCO链路的实时语音流
- 特性:支持面向连接(如音频流)和无连接(如广播数据)的传输模式
- SMP(安全管理协议)
- 功能:管理配对流程(如Just Works、Passkey Entry)、加密密钥生成(如STK/LTK)及链路安全等级(Level 1-4
- 安全机制:支持传统配对(AES-CMAC)与安全配对(ECDH),提升抗中间人攻击(MITM)能力
- GAP(通用访问规范)
- 角色管理:定义设备角色(中央设备Central、外围设备Peripheral、广播者Broadcaster、观察者Observer),控制设备发现、连接建立及广播参数配置
- ATT(属性协议)
- ATT:基于客户端-服务器模型,定义属性的读写、通知(Notify)和指示(Indicate)操作
- GATT(通用属性规范)
- 构建服务(Service)、特征(Characteristic)和描述符(Descriptor)的层次化结构,支持标准化数据交互(如心率监测、电池状态服务
Controller
Controller的分层架构
- 物理层(PHY Layer)
- 频段与调制:
工作在2.4GHz ISM频段,经典蓝牙(BR/EDR)使用79个1MHz信道,BLE(低功耗蓝牙)使用40个2MHz信道。 - 采用GFSK(高斯频移键控)调制(经典蓝牙)或LE Coded PHY(BLE长距离模式)。
- 频段与调制:
- 链路层(Link Layer, LL)
- 状态机管理:
- 经典蓝牙:维护ACL(异步无连接)和SCO(同步面向连接)链路,支持多设备时分复用(TDD)。
- BLE:定义5种设备状态(Standby、Advertising、Scanning、Initiating、Connected),优化低功耗场景。
- 跳频机制:
- 经典蓝牙使用1600次/秒的快速跳频
- BLE采用自适应跳频(Adaptive Frequency Hopping, AFH)。
- 状态机管理:
- 主机控制接口(HCI)
- 协议桥梁:将Host的命令(如连接请求)转换为Controller的射频操作,同时上报事件(如连接完成、数据接收)。
- 传输接口:支持UART、USB、SDIO等物理接口,HCI数据包格式包括Command Packet、Event Packet和Data Packet。
Controller分类
蓝牙Controller作为协议栈的底层执行实体,根据支持的协议类型、应用场景及硬件架构的不同,可分为多种类型,其核心模块设计也各有差异
- BR/EDR Controller(经典蓝牙控制器):内部包含Radio, Baseband,Link Manager,可选的HCI
- LE Controller(低功耗蓝牙控制器):内部包含LE PHY,Link Layer ,可选的HCI
- BR/EDR & LE双模Controller:BR/EDR与LE的组合的控制器
- AMP Controller(高速控制器):二级控制器,可替代的,内部包含 802.11 PAL (Protocol Adaptation Layer),802.11 MAC,PHY,可选的HCI。
Host与Controller组个
由于蓝牙的核心系统,由一个Host和一个或多个Controller组成。所以常见的蓝牙芯片也分为以下几种
- 单模蓝牙芯片:单一传统蓝牙的芯片,单一低功耗蓝牙的芯片。即(1个Host结合1个Controller)
- 双模蓝牙芯片:同时支持传统蓝牙和低功耗蓝牙的芯片。即(1个Host结合多个Controller
它们的架构组成就有有一下几种
评论区