LAT1214
Local Application Tips
LAT1214 Rev 1.0 Jan. 2023
ST Restricted
使用 BlueNRG-LP SoC 方案无法扫描到扩展广播包
关键字:BlueNRG-LP, 传统广播,扩展广播
1. 引言
BlueNRG-LP 是意法半导体第三代低功耗蓝牙单芯片解决方案,兼容低功耗蓝牙 5.2
版本。相较于之前的 BlueNRG-1/2 版本,意法半导体对其低功耗蓝牙协议栈进行了升级和
优化,引入了 Radio Task 的概念,客户在研发过程中,应切实关注其应用中使用到的
Radio Task 数量并在程序中做相应的配置,才能避免相关问题的发生。
2. 问题描述
客户使用两块 BlueNRG-LP 评估板,搭建一主一从测试平台,从设备同时发送传统广
播包和扩展广播包,主设备能通过事件 “hci_le_meta_event 下的子事件
hci_le_extended_advertising_report_event”获取到传统广播数据包,但是始终无法同时
扫描到扩展广播包。
3. 问题分析与定位
第一步测试:
使用相同的 BlueNRG-LP 评估板(STEVAL-IDB011V1)搭建一主一从测试平台,单从验
证上述客户问题的角度,本测试无需动用 IDE 工具,可直接烧录 SDK 中预编译好的可执
行示例文件。
从设备端烧录 SDK 程序:ST\BlueNRG-LP DK
1.x.y\Firmware\BLE_Examples\BLE_Beacon\STEVAL-IDB011V1\
BLE_Beacon_ExtendedAdv.hex, 该程序能同时支持传统广播和扩展广播的发送。
主设备端烧录 SDK 程序:ST\BlueNRG-LP DK
1.x.y\Firmware\BLE_Examples\DTM\STEVAL-IDB011V1\ DTM_UART.hex,该程序可以
和意法半导体提供的 PC 端测试工具 BlueNRG GUI 配合使用,通过 GUI 工具将该评估
板配置成主设备并扫描从设备发出的广播包。可 GUI 工具界面直接扫描到广播包数据和
广播包类型。
第一步测试结果,如图 1 所示,可以同时扫描到传统广播和扩展广播。说明 BlueNRG-
LP 同时支持扫描传统广播和扩展广播是没有问题的。
LAT1214
LAT1214 - Rev 1.0 page 2/5
ST Restricted
1. BlueNRG GUI 界面同时获取传统广播和扩展广播
客户台的一样的程客户使用 SDK
BLE_SerialPort 参考示例更改的代码,可初步断定该问题处在客户平台主设备端程序上。
第二步测试:
主设备端重新烧录 SDK 程序:\BlueNRG-LP DK
1.x.y\Firmware\BLE_Examples\BLE_SerialPort\STEVAL-IDB011V1\
BLE_SerialPort_Client.hex, 经过调试,发现也无法同时扫描到扩展广播和传统广播,问题
现象和客户描述一致。
通过 BlueNRG-LP 编程手册(PM0269) 章节 4 中所述,发现客户问题应该和代码中
置的 Radio Task 数量太小有关,即下图 2 中的宏 NUM_LINKS,当前配置值为 1,即只支
持一个 Radio Task。所以无法同时支持扫描传统广播和扩展广播。
2. BlueNRG GUI 界面同时获取传统广播和扩展广播
4. 问题解决
建议客户将 BLE Serialport_Client 项目的配置头文件 Serialport_config.h ”中对宏
NUM_LINKS 中做如下图 3 中所示的更改,加 NUM_LINKS 配置值,该宏配置的是
BlueNRG LP 在该项目中能支持的最大 Radio Task 的数量。客户需要同时扫描到扩展广
播和传统广播,还要求建立连接,所以至少需要支持 3 Radio Task该配置值按要求更
改后,重新编译主设备端程序并下载测试,问题解决。