你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用 BlueNRG-LP SoC 方案无法扫描到扩展广播包

[复制链接]
STMCU小助手 发布时间:2023-2-17 13:30
1. 引言BlueNRG-LP 是意法半导体第三代低功耗蓝牙单芯片解决方案,兼容低功耗蓝牙 5.2版本。相较于之前的 BlueNRG-1/2 版本,意法半导体对其低功耗蓝牙协议栈进行了升级和优化,引入了 Radio Task 的概念,客户在研发过程中,应切实关注其应用中使用到的Radio Task 数量并在程序中做相应的配置,才能避免相关问题的发生。' R0 _$ t6 h3 M: v) d

+ F0 Q7 ?1 {( Q8 Q  _2. 问题描述
4 D* w9 |! n1 W, J客户使用两块 BlueNRG-LP 评估板,搭建一主一从测试平台,从设备同时发送传统广播包和扩展广播包,主设备能通过事件 “hci_le_meta_event ”下的子事件“hci_le_extended_advertising_report_event”获取到传统广播数据包,但是始终无法同时扫描到扩展广播包。; X9 l4 Q  K( g2 M6 B9 t+ ]% n; O

- X" i) M* d) H2 Y$ {; B( _" K3. 问题分析与定位
. x2 h, X4 N2 V  Q% b$ V第一步测试:
; X5 n+ k# n; H0 G) i4 t  A9 U使用相同的 BlueNRG-LP 评估板(STEVAL-IDB011V1)搭建一主一从测试平台,单从验证上述客户问题的角度,本测试无需动用 IDE 工具,可直接烧录 SDK 中预编译好的可执行示例文件。
% }: f- [3 l" q; c9 {3 n- C8 t2 t  K从设备端烧录 SDK 程序:ST\BlueNRG-LP DK 1.x.y\Firmware\BLE_Examples\BLE_Beacon\STEVAL-IDB011V1\BLE_Beacon_ExtendedAdv.hex, 该程序能同时支持传统广播和扩展广播的发送。
  I# w7 A& g5 ~7 C6 n: o0 S主设备端烧录 SDK 程序:ST\BlueNRG-LP DK 1.x.y\Firmware\BLE_Examples\DTM\STEVAL-IDB011V1\ DTM_UART.hex,该程序可以和意法半导体提供的 PC 端测试工具 BlueNRG GUI 配合使用,通过该 GUI 工具将该评估板配置成主设备并扫描从设备发出的广播包。可从 GUI 工具界面直接扫描到广播包数据和广播包类型。
, y& c! i# c" C8 ^; _3 V$ F, V0 _; [第一步测试结果,如图 1 所示,可以同时扫描到传统广播和扩展广播。说明 BlueNRGLP 同时支持扫描传统广播和扩展广播是没有问题的。/ V% ?* h) S. B" M7 \0 ^" l

0 p3 Y$ P7 {" X) w5 J

1 z* X' _  K& ?) b ]{TFPKOF78D7O`AIUNQU7YY.png $ [, h1 M% q5 S
/ \4 z: R7 x8 T8 X9 G$ C
比较分析与客户平台的区别,从设备烧录的一样的程序,主设备端客户使用的基于 SDK 中BLE_SerialPort 参考示例更改的代码,可初步断定该问题处在客户平台主设备端程序上。
2 v6 E" ^3 x) L" \2 X  q/ A! a/ x! ~% W$ S' _8 V

" p# B" @  [  [6 v第二步测试:& N7 O  O7 _; K
主设备端重新烧录 SDK 程序:\BlueNRG-LP DK 1.x.y\Firmware\BLE_Examples\BLE_SerialPort\STEVAL-IDB011V1\BLE_SerialPort_Client.hex, 经过调试,发现也无法同时扫描到扩展广播和传统广播,问题现象和客户描述一致。1 ~1 f8 ?% j/ Z! @' c2 b- D7 r5 Q
通过 BlueNRG-LP 编程手册(PM0269) 章节 4 中所述,发现客户问题应该和代码中配置的 Radio Task 数量太小有关,即下图 2 中的宏 NUM_LINKS,当前配置值为 1,即只支持一个 Radio Task。所以无法同时支持扫描传统广播和扩展广播。图2. BlueNRG GUI 界面同时获取传统广播和扩展广播 1 i6 G. c- i) Q& _. m
" ]3 u3 |" P6 \$ @

3 J' w% X; M- w1 t+ v3 y U@3Q52]I4LC5N5%X(V5%W2F.png   D1 P/ [' G$ X$ V! B

, W: e& N) t' h" g* _* [, K4. 问题解决2 i- x+ ?, G# p* Y) N' H" G1 A
建议客户将 BLE Serialport_Client 项目的配置头文件 “Serialport_config.h ”中对宏NUM_LINKS 中做如下图 3 中所示的更改,加大 NUM_LINKS 配置值,该宏配置的是BlueNRG LP 在该项目中能支持的最大 Radio Task 的数量。客户需要同时扫描到扩展广播和传统广播,还要求建立连接,所以至少需要支持 3 个 Radio Task。该配置值按要求更改后,重新编译主设备端程序并下载测试,问题解决。 7 S4 ?7 ^1 y# h
# [; Y1 L2 y+ D7 i' y

6 V8 p, F! K: D+ R6 l& O
/ Q9 ]) m) g9 ~8 k; G( @
C3F7FM1K6JE[MQXLAF863ZE.png
  L% X" E! N9 D6 v
( S$ O& m1 n0 l/ o9 |/ z完整版请查看:附件 使用BlueNRG LP_SoC方案无法扫描到扩展广播包.pdf (312.05 KB, 下载次数: 1)
赞 收藏 评论0 发布时间:2023-2-17 13:30

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版