BLE协议各层

张开发
2026/4/11 10:08:40 15 分钟阅读

分享文章

BLE协议各层
BLE 按架构分为 ** 控制器Controller与主机Host** 两大模块中间通过HCI连接共 7 个核心层覆盖从射频到应用的全流程。 BLE 真实世界分层总览┌─────────────────────────────────────────────┐ │ 应用层 Application │ │ • Profile应用配置文件如心率/电池 │ │ • 业务逻辑App/固件功能实现 │ ├─────────────────────────────────────────────┤ │ 主机 Host │ │ ┌─────────────────────────────────────────┐│ │ │ 通用访问配置文件 GAP ││ │ │ • 设备角色中心/外设/广播/扫描 ││ │ │ • 设备发现、连接建立、参数管理 ││ │ ├─────────────────────────────────────────┤│ │ │ 通用属性配置文件 GATT ││ │ │ • 基于 ATT 的“服务/特征”数据模型 ││ │ │ • 客户端/服务器交互、读写/通知/指示 ││ │ ├─────────────────────────────────────────┤│ │ │ 属性协议 ATT ││ │ │ • 核心数据单元属性UUID/句柄/值 ││ │ │ • 操作规则读/写/通知/指示/描述 ││ │ ├─────────────────────────────────────────┤│ │ │ 安全管理协议 SMP ││ │ │ • 配对、密钥分发、加密AES-128 ││ │ │ • 安全等级无认证/加密/双向认证 ││ │ ├─────────────────────────────────────────┤│ │ │ 逻辑链路控制 L2CAP ││ │ │ • 协议多路复用固定通道区分 ATT/SMP ││ │ │ • 分段重组连接态最大 251 字节 ││ │ └─────────────────────────────────────────┘│ ├─────────────────────────────────────────────┤ │ 主机控制器接口 HCI逻辑接口 │ │ • 命令/事件/数据 三通道通信 │ │ • 解耦 Host 与 ControllerUART/USB/SDIO │ ├─────────────────────────────────────────────┤ │ 控制器 Controller │ │ ┌─────────────────────────────────────────┐│ │ │ 链路层 Link LayerLL ││ │ │ • 5 种状态机待机/广播/扫描/发起/连接 ││ │ │ • 3 广播信道 37 数据信道自适应跳频 ││ │ │ • 包封装前导码/访问地址/CRC、ACK ││ │ ├─────────────────────────────────────────┤│ │ │ 物理层 PhysicalPHY ││ │ │ • 2.4GHz ISM 频段GFSK 调制 ││ │ │ • 速率1M必选/2M可选/Coded可选││ │ │ • 发射功率、频率规划、射频电气特性 ││ │ └─────────────────────────────────────────┘│ └─────────────────────────────────────────────┘ 各层详细功能与实战要点PHY (物理层)LL (链路层)HCI (主机控制器接口层)L2CAP (Logical link Control and adaptation protocol specificaion逻辑链路与适配协议规范)ATT (Attribute protocol, 属性层)GATT (Generic Attribute Profile, 通用属性规范)SMP (Security Manager Specification, 安全管理器规程)GAP (Generic Access Profile, 通用访问规范)1. 物理层PHY—— 射频基础核心职责定义无线信号的发射与接收规则是 BLE 的 “天线”。关键参数频段2.402–2.480 GHzISM 免费频段。调制GFSK恒包络抗干扰强功耗低。速率BLE 5.01M必选基础速率兼容所有设备。2M可选高速传输适合大数据量如固件升级。Coded可选长距离、强抗干扰S8/2适合物联网场景。信道40 个信道3 个广播信道 37 个数据信道。广播信道37/38/392402/2426/2480 MHz用于设备发现。数据信道1–36用于连接后通信自适应跳频避开干扰。实战提示速率越高覆盖越近Coded 速率低但穿墙更远。2. 链路层LL—— 连接与调度核心核心职责管理设备状态、调度收发时机、保证链路可靠性是 BLE 的 “大脑”。5 大状态机核心中的核心状态行为典型角色待机低功耗等待命令未活动时广播周期性发广播包3 信道宣告存在外设如传感器扫描监听广播包获取设备信息中心如手机发起主动向目标设备发连接请求中心如手机连接建立一对一链路按约定事件收发主 / 从设备关键机制连接事件驱动非持续在线按 “连接间隔” 唤醒通信收发后立即睡眠超低功耗。自适应跳频每次连接事件换数据信道抗干扰能力强。包结构前导码同步 访问地址区分设备 PDU数据 CRC校验。ACK 机制连接态必须应答保证可靠性。实战提示连接间隔 / 从机延迟 / 监督超时是调功耗与实时性的关键参数。3. 主机控制器接口HCI—— 标准桥梁核心职责统一 Host 与 Controller 的通信接口解耦硬件与软件。三通道通信命令通道Host → Controller如 “开始广播”“设置连接参数”。事件通道Controller → Host如 “收到广播”“连接建立”“错误事件”。数据通道双向传输应用数据如 GATT 特征值。实现形态单芯片HCI 为内部 API无实际硬件接口。双芯片通过UART/USB/SDIO实现物理传输如 nRF52840 STM32。实战提示HCI 命令 / 事件包格式固定是调试 BLE 底层的关键入口。4. 逻辑链路控制L2CAP—— 数据调度员核心职责协议多路复用、分段重组、流量控制连接 Host 与 LL。核心功能协议复用通过固定 CID 区分上层协议ATT0x0004SMP0x0006。分段重组连接态 MTU 最大251 字节超过则拆分接收端重组。模式BLE 简化为Basic 模式无重传可靠性由 LL 与 GATT 保证。实战提示MTU 协商决定单次可传输的最大数据量如通知数据大小。5. 属性协议ATT—— 数据交换规则核心职责定义 BLE 数据交换的最小单元 “属性”是 GATT 的基础。核心概念属性Attribute由UUID类型 句柄Handle 权限 值组成。操作规则读 / 写 / 无响应写 / 通知 / 指示 / 描述支持原子操作。服务Service一组相关属性的集合如 “心率服务”。特征Characteristic服务中的具体数据项如 “心率测量值”。实战提示ATT 句柄冲突会导致读写错误规范设计 UUID 与句柄。6. 通用属性配置文件GATT—— 应用数据模型核心职责在 ATT 基础上构建标准化的 “服务 / 特征” 数据结构是开发者最常用的层。核心模型客户端Client/ 服务器ServerClient 发起读写Server 提供数据。通知 / 指示Server 主动向 Client 推送数据通知无应答指示需应答。标准化服务蓝牙 SIG 定义大量通用服务电池、设备信息、心率等保证互操作性。实战提示优先使用 SIG 标准 UUID避免自定义带来的兼容性问题。7. 通用访问配置文件GAP—— 设备行为规范核心职责定义设备的角色、发现流程、连接管理是 BLE 的 “业务流程规范”。核心角色广播者Broadcaster仅发广播不接收如 Beacon。观察者Observer仅扫广播不连接如 Beacon 扫描器。外设Peripheral可广播、可接受连接如传感器。中心Central可扫、可发起连接如手机。核心流程设备发现广播 → 扫描 → 获取设备信息名称、UUID、RSSI。连接建立中心发起连接请求 → 双方进入连接态。连接参数管理更新连接间隔、从机延迟、监督超时。实战提示广播数据长度有限最大 31 字节需合理规划广播内容。 关键特性与版本演进低功耗核心连接事件驱动 非持续在线 深度睡眠适合电池供电设备。版本演进4.0基础 BLE1M 速率。5.02M 速率、Coded phy、长距离。5.1方向查找AoA/AoD。5.2LE Audio、等时通道、EATT。5.4周期性广播响应PAwR、增强广播。LE Audio 新增等时传输同步音频、广播组播支持多设备同步通信。✅ 总结BLE 真实分层的核心是ControllerPHYLLHCI负责底层连接与射频HostL2CAPATTGATTSMPGAP负责上层数据与应用规范。调射频与连接看PHY/LL。调数据交换与应用看ATT/GATT。管设备发现与角色看GAP。分 Host 与 Controller看HCI。

更多文章