news 2026/6/26 3:20:14

BLE 协议栈

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
BLE 协议栈

BLE(Bluetooth Low Energy,蓝牙低功耗)协议栈是实现 BLE 通信功能的软件架构,它按照分层模型组织,每一层负责特定的功能。BLE 协议栈通常遵循蓝牙核心规范(Bluetooth Core Specification),目前最新版本为 Bluetooth 5.4(截至2024年)。以下是 BLE 协议栈的主要层次结构及其功能说明:


1.物理层(PHY - Physical Layer)

  • 负责无线信号的发送与接收。
  • 工作在 2.4 GHz ISM 频段,使用 GFSK(高斯频移键控)调制。
  • BLE 使用 40 个 RF 信道(37 个数据信道 + 3 个广播信道)。
  • 支持多种 PHY 模式(如 1M PHY、2M PHY、Coded PHY)以平衡速率与距离。

2.链路层(LL - Link Layer)

  • 控制设备的射频状态(广播、扫描、连接等)。
  • 定义 BLE 的五种设备角色:
    • 广播者(Advertiser)
    • 扫描者(Scanner)
    • 发起者(Initiator)
    • 主设备(Master / Central)
    • 从设备(Slave / Peripheral)
  • 负责连接建立、加密、跳频、数据包格式、重传机制等底层通信控制。

3.主机控制器接口(HCI - Host Controller Interface)(可选)

  • 提供主机(Host)与控制器(Controller)之间的标准通信接口。
  • 常用于将 BLE 控制器(如芯片中的基带+射频)与主处理器(运行应用和高层协议)分离的系统中。
  • 可通过 UART、USB、SPI 等物理接口传输 HCI 命令/事件/数据。

注:在 SoC(单芯片)方案中,HCI 层常被省略或内部集成。


4.逻辑链路控制与适配协议层(L2CAP - Logical Link Control and Adaptation Protocol)

  • 提供多路复用、分段与重组、协议复用等功能。
  • 为上层协议(如 ATT、SM)提供面向通道的数据传输服务。
  • BLE 中 L2CAP 通道通常基于固定信道(如信令信道、ATT 信道)或动态信道(用于 LE Credit Based Flow Control)。

5.安全管理层(SM - Security Manager)

  • 负责 BLE 设备间的配对(Pairing)、绑定(Bonding)、加密和密钥分发。
  • 支持多种安全模式(如 Just Works、Passkey Entry、OOB、Numeric Comparison)。
  • 生成长期密钥(LTK)、身份解析密钥(IRK)等用于安全通信。

6.属性协议层(ATT - Attribute Protocol)

  • BLE 数据交换的核心协议。
  • 基于“属性”(Attribute)模型:每个属性包含句柄(Handle)、UUID、值(Value)和权限。
  • 定义了客户端(Client)与服务器(Server)角色:
    • Server:存储属性(如传感器数据)
    • Client:读写/订阅这些属性
  • 支持操作:Read、Write、Notify、Indicate、Discover 等。

7.通用属性配置文件(GATT - Generic Attribute Profile)

  • 构建在 ATT 之上,定义了属性的组织方式和使用规范。
  • 引入Service(服务)Characteristic(特征)Descriptor(描述符)的概念:
    • Service:一组相关的数据/功能(如 Battery Service)
    • Characteristic:具体的数据项(如 Battery Level)
    • Descriptor:描述 Characteristic 的元数据(如 Client Characteristic Configuration Descriptor 用于使能 Notify)
  • 所有 BLE 应用(如心率监测、智能家居)都基于 GATT Profile 实现互操作。

8.通用访问配置文件(GAP - Generic Access Profile)

  • 定义设备如何被发现、连接和广播。
  • 规范设备角色(Central/Peripheral)、广播类型(可连接/不可连接/定向等)、连接参数。
  • 处理设备名称、外观(Appearance)、广播数据内容等。

协议栈整体结构(自下而上):

Application ↑ GATT (Generic Attribute Profile) ↑ ATT (Attribute Protocol) ↑ SM (Security Manager) ←→ L2CAP (Logical Link Control and Adaptation Protocol) ↑ ↑ GAP (Generic Access Profile) ↑ ↑ ↑ HCI (Host Controller Interface) ←→ (可选) ↑ LL (Link Layer) ↑ PHY (Physical Layer)

常见 BLE 芯片厂商的协议栈实现:

  • Nordic Semiconductor:SoftDevice(如 S112, S132, S140)
  • Texas Instruments:BLE Stack(如 CC2640R2 SDK)
  • Silicon Labs:Bluetooth SDK(基于 Gecko Platform)
  • ESP32(Espressif):Bluedroid 或 NimBLE 协议栈
  • Zephyr OS:开源 BLE 协议栈(支持 Nordic、NXP、STM32 等)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 1:49:58

智能驾驶关键技术:高精地图到NOA全解析

你提到的这些功能(高精地图引擎、匹配定位、EHP/ADASIS、NOA/NOP等)都是当前智能驾驶系统,特别是L2及以上级别自动驾驶中的关键技术模块。下面我为你逐一解释它们的含义、作用以及相互之间的关系:1. 高精地图引擎(HD M…

作者头像 李华
网站建设 2026/6/15 12:41:16

usb 通讯

USB(Universal Serial Bus,通用串行总线)是一种广泛使用的串行通信协议,用于连接计算机与外部设备(如键盘、鼠标、打印机、存储设备、摄像头等)。USB 通信具有即插即用、热插拔、高传输速率和供电能力等优点…

作者头像 李华
网站建设 2026/6/15 16:38:39

微调也能很轻松:Unsloth让小白玩转LLM

微调也能很轻松:Unsloth让小白玩转LLM 你是否曾觉得大模型微调是“高手专属”?动辄几十GB显存、复杂的环境配置、漫长的训练时间,让人望而却步。但今天我们要告诉你:微调也可以像搭积木一样简单。 借助 Unsloth 这个开源的LLM微…

作者头像 李华
网站建设 2026/6/15 12:41:33

AI音乐创作新玩法|NotaGen镜像支持多时期作曲家生成

AI音乐创作新玩法|NotaGen镜像支持多时期作曲家生成 1. 打开AI古典音乐创作的大门 你是否曾幻想过,只需轻点几下鼠标,就能让贝多芬的钢琴曲在屏幕上流淌,或是让巴赫的赋格旋律自动谱写?现在,这一切不再是…

作者头像 李华