Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/dsyx/docs.silabs.com_zh/llms.txt

Use this file to discover all available pages before exploring further.

Bluetooth Low Energy(BLE)是 Bluetooth 4.0 标准引入的低功耗无线技术,其允许长距离突发式无线连接,使设备在纽扣电池上运行数月乃至数年,特别适合 IoT 传感器和可穿戴设备等对电池寿命要求苛刻的应用场景。与传统 BR/EDR Bluetooth 不同,BLE 基于 GATT(Generic Attributes)构建全新的开发框架,使开发者能够快速将设备与智能手机、PC 和平板电脑上的应用互联。

BLE 架构概览

BLE 协议栈由以下层次组成,通常将 Physical Layer 和 Link Layer 归为 Controller,其余层次归为 Host,两者之间通过标准 HCI(Host-Controller Interface) 进行通信。
物理层(Physical Layer):负责无线电的发送与接收控制。链路层(Link Layer):定义数据包结构,包含状态机和无线电控制,并提供链路层加密。
  • L2CAP:协议多路复用器,处理数据包分段与重组,提供逻辑通道。
  • ATT(Attribute Protocol):提供在 BLE 设备间传输数据的方法,支持 Read、Write、Indicate 和 Notify 操作。
  • GATT(Generic Attribute Profile):将各个 Attribute 分组为逻辑 Service(如 Heart Rate Service)。
  • GAP(Generic Access Profile):提供广告、设备发现、连接建立与管理的手段。
  • SM(Security Manager):负责配对、密钥分发、哈希和短期密钥的生成。

物理层(Physical Layer)

BLE 工作在 2.4 GHz ISM 频段(2402 MHz–2480 MHz),该频段在大多数国家免许可。Bluetooth 4 规范定义了 40 个射频信道,信道间隔 2 MHz,其中 3 个为广告信道(37、38、39),专门用于设备发现、连接建立和广播,其余 37 个为数据信道。
特性数值
最小发射功率0.01 mW(-20 dBm)
最大发射功率100 mW(20 dBm)
最低接收灵敏度-70 dBm(BER 0.1%)
PHY 数据速率(BT 4.x)1 Mbps
PHY 数据速率(BT 5)1 Mbps 或 2 Mbps(2M PHY)
调制方式GFSK,调制指数 0.5
AFH(Adaptive Frequency Hopping,自适应跳频)用于选择通信数据信道,能够避开干扰信道,提高抗干扰能力和可靠性。
典型通信距离:在 0 dBm 发射功率、-92 dBm 接收灵敏度和 -5 dB 天线增益条件下,通信距离可达 160 米

广告(Advertisement)

广告是 BLE 中最基本的操作之一,设备通过在广告信道上广播数据包来宣告自己的存在、允许连接建立,并可选地广播数据(如支持的 Service 列表、设备名、TX 功率级别)。 应用程序通常可控制的广告参数:
参数取值范围说明
广告间隔20 ms – 10240 ms广告事件之间的间隔,链路层会随机增加 0–10 ms 以避免冲突
广告信道37、38、39(主要);0–10、11–36(BT 5 次要)用于发送广告包的射频信道
可发现模式Not/Generic/Limited Discoverable;Broadcast广告者对其他设备的可见性
可连接模式Not/Directed/Undirected Connectable广告者是否允许被连接
载荷大小0–31 B(主要);0–255 B(BT 5 次要)广告包中可携带的数据量

扫描(Scanning)

扫描分为被动扫描主动扫描两种模式:
  • 被动扫描:仅侦听传入的广告包,不发送任何请求。
  • 主动扫描:接收广告包后向广告者发送扫描请求包,获取更多信息(如支持的 Service 列表、友好名称)。

连接(Connections)

BLE 连接使用 CRC、确认和重传确保数据可靠传输,同时结合 AFH 适应射频环境,支持数据加密。
参数取值范围说明
最小连接间隔7.5 ms允许的最小连接间隔
最大连接间隔4000 ms允许的最大连接间隔
Peripheral 延迟0–500 个连接间隔Peripheral 在无数据时可跳过的连接事件数
监控超时100 ms – 32000 ms通信中断多久后断开连接
当 Central 发送数据包时,连接事件开始。Peripheral 在收到后可在 150 µs 内响应。如无数据,Peripheral 可按 Peripheral Latency 设置跳过若干连接事件,从而节省功耗。

Generic Access Profile(GAP)

GAP 是每个 BLE 开发者最先接触的协议层,用于控制设备如何被发现、如何建立连接,以及如何管理连接过程。 GAP 定义了以下四种设备角色

Broadcaster(仅 TX)

发送广告事件和广播数据,不接收任何数据,适用于 Beacon 等单向广播设备。

Observer(仅 RX)

侦听广告事件和广播数据,不发送广告,适用于网关扫描器等设备。

Peripheral(RX 和 TX)

可连接且进行广告,专为与 Central 进行单一连接的简单设备设计(如传感器)。

Central(RX 和 TX)

不广告,负责启动和管理多个连接,实践中可同时连接 4–20 个 Peripheral。
一台设备可以支持多个角色,但在给定时间内只能担任一个角色。
GAP 还定义了可连接性(Connectable)可发现性(Discoverable)可绑定性(Bondable)模式,以及名称发现、设备发现、链路建立和 Service 发现等过程

Attribute Protocol(ATT)

ATT 定义了 Server(存储 Attribute 的设备)与 Client(访问 Attribute 的设备)之间的通信规则。

Attribute 结构

每个 Attribute 包含:
  • Handle:用于寻址的句柄(0x0001 起递增)
  • UUID:描述 Attribute 类型的通用唯一标识符(16-bit 为 SIG 标准,128-bit 为厂商自定义)
  • Value:0–512 字节的数据
  • Permission:可读/可写,以及是否需要认证/授权/加密

ATT 操作方法

方法方向说明
Read(handle)Client → Server读取指定句柄的值,最大 250 B
Write(handle, value)Client → Server写入值,无响应,最大 250 B
Handle Value NotificationServer → Client服务端通知新值,无需确认,最大 250 B
Handle Value IndicationServer → Client服务端指示新值,需要客户端确认,最大 250 B
Find InformationClient → Server发现 Attribute 句柄及其类型(UUID)
Notification 操作无需确认(ACK),适合高吞吐量应用;Indication 操作需要 ACK,适合高可靠性要求场景。链路层仍会重传丢失的包,但应用层无法知道哪些包成功送达(无 ACK 时)。

Generic Attribute Profile(GATT)

GATT 建立在 ATT 之上,为 ATT 传输和存储的数据建立通用框架,定义了 ServiceCharacteristicDescriptor 的结构:
  • Profile:描述数据交换结构,由一个或多个 Service 组成,完成高级用例(如心率监测)。
  • Service:由一个或多个 Characteristic 组成的数据集合,完成设备特定功能(如电池监视)。
  • Characteristic:Service 中使用的值,包含数据、访问方式、安全要求及可选的 Descriptor(描述符)。
标准化 Profile 和 Service 规范可在 Bluetooth SIG 网站查阅:https://www.bluetooth.com/specifications/gatt/

BLE 安全机制

BLE 技术提供三种基本安全服务:

身份验证与授权

在设备间建立信任关系,通过配对和绑定过程实现。

加密与数据保护

使用 AES-128-CCM 加密保护数据完整性与机密性,由 BLE Controller 执行加密操作。

隐私保护

通过频繁更换 Bluetooth 设备地址(可解析私有地址 RPA)防止设备被跟踪。

抗中间人攻击

通过 Passkey Entry 或 Out-of-Band 配对,或 BT 4.2 起的 LE Secure Connection + 数字比较实现。

配对与绑定

配对(Pairing) 是双方交换身份信息以建立信任关系并生成加密密钥的过程。绑定(Bonding) 是将配对过程中生成的密钥进行存储,以便下次连接时直接使用。 可用的关联模型取决于双方的 I/O 能力:
I/O 能力组合BT 4.0/4.1(Legacy)BT 4.2+(LE Secure Connection)
无显示/无键盘Just WorksJust Works
有显示/无键盘Just Works 或 Passkey EntryNumeric Comparison 或 Just Works
有键盘Passkey EntryPasskey Entry
有显示+键盘Passkey EntryNumeric Comparison
Out-of-BandOOBOOB
Just Works 配对不提供 MITM(中间人攻击)保护。对于安全性要求高的应用,请使用 Passkey Entry 或 LE Secure Connection + Numeric Comparison。

下一步

掌握 BLE 技术基础后,建议参阅 QSG169 快速入门指南,了解如何安装 SDK 并在 Simplicity Studio 5 中创建第一个 Bluetooth 应用程序。

Build docs developers (and LLMs) love