Bluetooth Low Energy(BLE)协议详解

一、BLE 协议是什么?

Bluetooth Low Energy(BLE,蓝牙低功耗) 是 Bluetooth 4.0 之后推出的一种无线通信技术,专为低功耗、低数据速率的短距离无线通信设计。与经典蓝牙(BR/EDR)相比,BLE 具有更低的功耗、较短的连接时长,并且适用于周期性数据传输、状态更新等应用。

典型应用

  • 智能穿戴(如智能手环、智能手表)
  • 智能家居(如智能门锁、BLE 灯泡)
  • 医疗设备(如心率监测器、血糖仪)
  • 物联网(IoT)(如工业传感器、资产追踪)
  • 汽车应用(如车载娱乐、无钥匙进入)

二、BLE 协议分层结构

**BLE 采用了 **OSI 参考模型 的简化结构,分为 Controller(控制器)Host(主机) 两部分,具体协议栈如下:

协议层 主要功能
应用层(Application) 设备特定的应用逻辑
通用访问配置文件(GAP) 设备发现、连接管理、广播
通用属性协议(GATT) 设备间数据交换(基于 ATT)
逻辑链路控制与适配协议(L2CAP) 数据封装、分片与重组
安全管理器(SMP) 加密、身份验证、密钥交换
链路层(LL) 设备连接、数据包管理、功耗控制
物理层(PHY) 负责无线信号传输(GFSK 调制)

协议栈结构

1. 物理层(PHY)

调制方式

  • GFSK(高斯频移键控),调制指数为 0.5。
  • 数据速率:****1 Mbps(LE 1M)、2 Mbps(LE 2M),以及 Coded PHY(125 kbps、500 kbps)

信道划分

  • 40 个信道
    ,其中:
    • 37 个数据信道(用于通信,频率范围 2.402–2.480 GHz)
    • 3 个广播信道(用于设备发现,位于 2.402 GHz、2.426 GHz 和 2.480 GHz)
  • **采用 **跳频技术 以减少干扰。

安全关联:物理层

  • 物理层本身无安全机制,所有安全特性均由更高层(如 SMP)提供。

2. 直接测试模式(Direct Test Mode)

用途

  • **用于 BLE 设备的 **射频测试性能评估

接口

  • **通过 **HCI(Host Controller Interface) 命令控制。

关键参数

  • 发射功率(最大 10 dBm,最小 -20 dBm)
  • 接收灵敏度(典型值 -85 dBm 以下)
  • 误码率(BER)测试

3. 链路层(LL)

功能

  • 广播(Advertising):用于设备发现和连接。
  • 扫描(Scanning):搜索附近的 BLE 设备。
  • 连接(Connection):建立和管理 BLE 设备间的连接。
  • 数据传输(Data Transfer):通过 PDU(协议数据单元)进行数据交换。
  • 功耗优化:支持 睡眠模式定期唤醒机制

链路层状态

  • 广告(Advertising)
  • 扫描(Scanning)
  • 已连接(Connected)
  • 非连接状态(Idle)

4. 逻辑链路控制与适配协议(L2CAP)

功能

  • 数据封装:将 ATT/GATT/SMP 数据封装为 BLE 数据包。
  • 分片与重组(Segmentation & Reassembly):处理大数据包的传输。
  • 流控(Flow Control):管理不同协议的数据流量。
  • 信道管理:支持固定信道(如 ATT)和动态信道(如 GATT)。

L2CAP 数据包结构

字段 长度 说明
Length 2 字节 数据包长度
Channel ID 2 字节 目标协议通道(如 0x0004 表示 ATT)
Payload N 字节 实际数据

5. 安全管理器(SMP)

功能

  • 配对(Pairing):建立加密连接。
  • 身份验证(Authentication):确保通信双方可信。
  • 密钥管理(Key Distribution):分发加密密钥。
  • 隐私保护(Privacy):支持随机地址生成。

BLE 安全模式

安全模式 级别 说明
Security Mode 1 Level 1 无安全(No Security)
Security Mode 1 Level 2 未认证加密(Unauthenticated Encryption)
Security Mode 1 Level 3 认证加密(Authenticated Encryption)
Security Mode 1 Level 4 LE Secure Connections(FIPS 认证加密)

配对方法

  • Just Works(无认证)
  • Passkey Entry(密码输入)
  • Numeric Comparison(数值比对)
  • OOB(Out-of-Band,带外认证)

广播结构体:

服务特性

UUID

每一个服务都对应一个uuid

总结

  • **BLE 采用 **分层架构,从 PHY(物理层)到应用层,每层都承担不同的功能。
  • ATT/GATT 负责数据组织,L2CAP 负责数据封装,SMP 负责安全。
  • 链路层(LL) 管理设备发现、连接和数据传输。
  • **BLE 通过低功耗设计,使其适用于 IoT、智能穿戴和医疗设备等场景。

BLE 作为现代无线通信的关键技术之一,在物联网和智能设备中发挥着越来越重要的作用。