• 正文
  • 相关推荐
申请入驻 产业图谱

AN5270 应用笔记解读:STM32WB 低功耗蓝牙无线接口开发指南

06/26 16:32
507
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

1. 文档基础定位与适用场景

AN5270 是意法半导体专为 STM32WB 系列双核蓝牙 MCU 推出的官方应用笔记,核心讲解 BLE 通信整套 ACI、HCI 指令集,适配基于 Cortex-M4(应用核)+Cortex-M0+(射频协议核)架构的全部 WB 芯片,是穿戴设备、传感器信标、智能家居、医疗便携设备 BLE 开发的核心参考手册。
文档区别于通用蓝牙规范:除蓝牙 SIG 标准 HCI 指令外,新增 ST 自研厂商专有 ACI 指令,覆盖底层射频、功率、安全、GAP/GATT/L2CAP 全链路控制,同时划分LO/PO/BO/BF/LB五种协议栈裁剪模式,开发者可根据产品功能精简协议栈,大幅降低 RAM、Flash 占用与待机功耗。

五种 BLE 协议栈模式说明

模式缩写 全称 适用产品 指令支持范围
LO Link layer only 仅链路层 极简信标、单向广播传感器 仅底层射频、广播、测试指令,无连接逻辑
PO Peripheral only 仅外设 手环、传感器、从机外设 外设广播、GATT 服务、配对安全指令
BO Beacon only 仅信标 商场定位、资产标签 仅广播相关指令,禁止建立连接
BF Basic feature 完整基础栈 通用双模设备(主 / 从) 全部 HCI+ACI 标准指令,支持扫描、连接、GATT、安全
LB Link layer basic 基础链路 LO 模式扩展,极简双向通信 链路层基础指令,简化连接逻辑

资料获取:【应用笔记】STM32WB 低功耗蓝牙无线接口

2. STM32WB 蓝牙接口两层指令体系拆解

AN5270 将 BLE 交互指令划分为标准 HCI 指令ST 专有 ACI 指令两大体系,二者共用 HCI 数据包格式,操作码区分标准 / 厂商自定义,开发时分层调用、各司其职。

2.1 标准 HCI 指令(蓝牙 SIG 通用规范)

遵循蓝牙核心规范 V5.3 定义,是所有 BLE 芯片通用底层控制指令,负责射频、连接、事件管控,分为四大子类:

  1. 基础控制指令代表指令:HCI_RESET(0x0C03)HCI_DISCONNECT(0x0406)HCI_SET_EVENT_MASK(0x0C01)
    • HCI_RESET:仅复位 BLE 链路层,不复位硬件,复位后自动切待机,发送新指令前需预留 100ms 延时,用于存储安全信息至 Flash;
    • HCI_DISCONNECT:断开指定连接句柄链路,断开前必须释放同链路所有同步连接,断开事件携带故障原因码(验证失败、资源不足、电源断开等)。
  2. BLE 专用 LE 链路指令(文档占比最高):覆盖广播、扫描、连接、参数更新、地址隐私、PHY 切换、数据长度扩展、白名单 / 解析列表功能:
    • 广播类:HCI_LE_SET_ADVERTISING_PARAMETERS配置广播间隔、通道、地址类型;HCI_LE_SET_ADVERTISING_DATA填充 31 字节传统广播数据;扩展广播配套多套 EXT 系列指令支持多广播集;
    • 连接类:HCI_LE_CREATE_CONNECTION发起连接,HCI_LE_CONNECTION_UPDATE动态修改连接间隔、从机延迟;隐私安全:RPA 可解析私有地址整套指令,管理 IRK 身份解析密钥,实现设备地址匿名防追踪;PHY 控制:支持 1M/2M 速率切换,STM32WB 不支持编码 PHY。
  3. RF 测试专用指令:HCI_LE_TRANSMITTER_TEST/HCI_LE_RECEIVER_TEST,用于产线射频校准、功率验证,支持自定义信道、数据包载荷类型,测试结束通过HCI_LE_TEST_END统计收发包数量。
  4. 主机流控指令:HCI_HOST_BUFFER_SIZEHCI_HOST_NUMBER_OF_COMPLETED_PACKETS管控 M4 与 M0 + 之间数据包缓冲区,防止数据溢出,低功耗设备必配流控逻辑。

2.2 ST 专有 ACI 厂商指令(0xFC/0xFD 开头操作码)

这是 STM32WB 独有扩展指令,通用 HCI 格式但厂商私有操作码,分为 HAL 底层、GAP、GATT、L2CAP 四大模块,覆盖上层应用逻辑,弥补标准 HCI 缺失的芯片专属功能:

  1. ACI_HAL 硬件射频指令:管控芯片底层射频、功耗、固件、调试:设置发射功率等级(0x04~0x1F 对应 - 17.6~+6dBm)、开启载波单音调试、读取原始 RSSI、配置射频路径补偿、协议栈软复位等,是功耗优化核心接口。
  2. ACI_GAP 通用访问层指令:管控设备可见性、配对绑定、广播模式、白名单 / 解析列表管理:
    • 可发现模式:有限发现(180s 超时)、永久可发现、定向广播;
    • 安全配对:设置 IO 能力、配对密钥响应、OOB 带外数据交互、绑定设备管理;扩展多信标独立广播,支持多路互不干扰广播信号输出。
  3. ACI_GATT 属性协议指令:外设开发核心,用于创建 / 管理 BLE 服务、特征、描述符:ACI_GATT_ADD_SERVICE新建服务、ACI_GATT_ADD_CHAR添加读写通知特征、ACI_GATT_UPDATE_CHAR_VALUE发送通知 / 指示,配套长数据分片读写、多特征批量通知指令,适配大容量传感器数据传输
  4. ACI_L2CAP 指令:支持连接参数更新、COC 面向连接信道(BLE 大数据分包传输),适合音频、高速传感场景。

3. 核心事件机制:BLE 交互异步逻辑设计

AN5270 完整定义 HCI/ACI 事件体系,所有指令执行结果、射频广播、配对、数据交互均以异步事件上报应用核,而非同步返回,是 STM32WB 开发关键逻辑:

  1. 基础事件:HCI_COMMAND_COMPLETE_EVENT(指令执行完成)、HCI_COMMAND_STATUS_EVENT(指令执行状态);
  2. 链路事件:断开完成、加密状态变更、广播上报、连接完成、PHY 更新事件;
  3. 安全事件:LTK 长期密钥请求、配对交互事件;
  4. GATT 专属:通知、指示、读写请求、MTU 交换事件。配套HCI_SET_EVENT_MASKACI_GAP_SET_EVENT_MASK掩码指令,可屏蔽无用事件减少 M4 中断,大幅降低运行功耗,电池类产品优化重点。

4. 开发落地核心实用要点(源自 AN5270 实操规范)

4.1 广播与连接时序规范

  1. 传统广播数据最大 31 字节,扩展广播支持超大包,可配置多组独立广播句柄;
  2. 广播间隔单位 0.625ms,可连接广播最小间隔不低于 20ms,不可连接信标最低 100ms;
  3. 断开链路后必须等待 100ms 再发送新指令,否则安全密钥存储失败。

4.2 功耗优化关键指令

  1. ACI_HAL_SET_TX_POWER_LEVEL按需降低发射功率,近距离设备可降至 0dB 以下,减少射频耗电;
  2. 关闭无用事件掩码,过滤广播重复上报、闲置 GATT 事件;
  3. 从机侧通过ACI_HAL_SET_SLAVE_LATENCY开启从机延迟,延长休眠时长;
  4. 选用 BO/LO 极简协议栈裁剪,移除连接、GATT 功能,Flash 占用减少 40% 以上。

4.3 隐私与安全开发规范

  1. 启用地址解析列表存储 IRK 密钥,使用 RPA 私有地址,避免设备 MAC 泄露;
  2. 配对流程支持数字比对、密钥输入、OOB 三种验证方式,可配置加密密钥长度 7~16 字节;
  3. 可通过ACI_GAP_CLEAR_SECURITY_DB一键清空所有绑定设备,适用于设备恢复出厂逻辑。

4.4 数据传输配置

  1. 通过HCI_LE_SET_DATA_LENGTH调整单包最大载荷,提升传输速率;
  2. COC L2CAP 信道适合 KB 级连续数据,突破 ATT MTU 限制;
  3. 特征通知发送需判断协议栈缓冲区状态,避免数据包丢失。

5. 文档工程应用价值

  1. 协议栈裁剪依据:产品功能匹配 LO/PO/BO/BF 栈,精准缩减存储与功耗,是低成本、电池供电设备优化手册;
  2. 指令速查手册:替代零散 SDK 注释,完整覆盖所有 BLE 底层、上层接口参数、取值范围、生成事件;
  3. 射频产测标准:内置全套 RF 收发测试指令,直接用于产线校准、距离性能验证;
  4. 故障排查参考:每个指令携带状态错误码定义,断连、配对失败、广播异常均可对照文档定位根因。

6. 延伸 FAQ

Q1:AN5270 适配哪些 STM32WB 芯片?

A:全系列 STM32WB(WB15/WB35/WB50/WB55),匹配 STM32CubeWB 官方固件包。

Q2:HCI 和 ACI 指令调用先后顺序?

A:先通过 HCI 完成链路初始化、事件掩码配置,再调用 ACI 执行 GAP/GATT 上层业务。

Q3:BO 信标模式能否建立 BLE 连接?

A:不能,BO 栈仅保留广播指令,连接相关 HCI/ACI 全部不可用。

AN5270 并非单纯指令表格手册,而是 STM32WB 整套 BLE 无线接口的完整工程规范,打通标准蓝牙 SIG 底层 HCI 与 ST 私有 ACI 扩展指令,区分五种轻量化协议栈适配不同硬件产品。开发者阅读时可按场景分层:信标设备优先查阅 LO/BO 模式广播指令;传感从机聚焦 GAP/GATT 外设 ACI;高速数据传输关注 L2 COC 与数据长度指令;功耗优化重点研读 HAL 射频功率、事件掩码相关接口。

基于这份应用笔记搭建 BLE 业务逻辑,可大幅减少 SDK 试错成本,同时实现低功耗、高安全性、稳定无线通信的产品设计。

相关推荐