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

1

[复制链接]
topdreams 发布时间:2023-7-25 11:22

| 评测一 DTM射频&ACI事件测试由于这期评测内容有点多,涉及到控制器的HCI指令、脚本、蓝牙协议栈、CW载波定频、信号噪声等,主要从ACI Utilities主从机测试、RF Test收发误码测试、Beacon无连接测试、脚本测试(下发HCI命令)一系列STM32CubeMonitor-RF射频集成工具集来展开,休絮赘言。1、 测试环境准备STM32Cube系列工具功能齐全:| 名称 | 功能 | | --------------------- | ------------------------ | | STM32CubeProgrammer | 烧录器 | | STM32CubeMonitor | 图形化低代码流程编辑器 | | STM32CubeMonitor-RF | 射频测试 | | STM32CubeIDE 1.12.1 | 编辑器 | | STM32CubeMX | 图形化代码生成器 |

本次由于测试要对其烧录透明模式HCI固件以及射频测试,因此软件环境STM32CubeProgrammer和STM32CubeMonitor-RF必须要先装上。硬件环境如下:| 板子 | 编号 | 串口 | | --------------- | ------------------------- | --------------------- | | P-Nucleo-WB55 | MB1355C-02 Nucleo board | ST-Link Virtual COM | | P-Nucleo-WB55 | MB1293C-02 dongle | USB串口COM |

1板子.jpg图1 STM32WB55 Dongle和Nucleo board装好后,STM32WB Nucleo Board要烧录透明模式固件,路径见STM32Cube_FW_WB_V1.16.0\Projects\P-NUCLEO-WB55.Nucleo\Applications \BLE\BLE_TransparentMode\Binary\BLE_TransparentMode_reference.hex;同理STM32WB Dongle也要烧录透明模式固件,路径见STM32Cube_FW_WB_V1.16.0\Projects\P-NUCLEO-WB55.USBDongle\Applications\BLE\BLE_TransparentModeVCP\Binary BLE_TransparentModeVCP_reference.hex。由于STM32WB55 dongle没有引出Jlink ISP之类的接口,需要IAP烧录,具体是拔下掉电把SW2拨动开关打到boot0位置再插上,打开STM32CubeProgrammer,虽然有串口,但应切到USB,选择上述文件烧录即可;STM32WB55有板载ST-Link,烧录就简单很多,可以用前期的ST-link Utility或者后来替代者STM32CubeProgrammer来烧录,只需选择ST-Link连接方式,或者还可以工程烧录,见工程文件夹。2.1cubeNecloprogrammer.PNG图2.1 STM32WB55 Nucleo board(MB1355C-02)烧录测试固件2.2cubeprogrammer_done.PNG图2.2 STM32WB55 Dongle(MB1293C-02)烧录测试固件打开STM32CubeMonitor-RF,可看到支持IEEE 802.15.4(ZigBee/Thread)、BLE,本文仅讨论BLE,点击BLE就行,进入后如果固件烧录不对连接时会报错“STM32Cube device under test not responding”:3cubemonitor-rf.PNG图 3 STM32CubeMonitor-RF Lanuch Splash页面接下来开始测试。2、 STM32CubeMonitor-RF 工具2.1 ACI Utilities主从机测试2.1.1广播测试勾选Advertising,可以看到控制蓝牙控制器里的基带定频、MAC地址、广播通道参数等,保持默认,选好后点击START ADVERTISING,在手机ST BLE Toolbox里能看到dongle刚才的广播包,同样由于连接是空包,安卓端读不到属性数据库从而连接不上,iOS可以建立连接:4.1adv.PNG图4.1 广播测试2.1.2 扫描测试勾选Discover remote service,可以看到控制蓝牙控制器里的发射功率、MAC地址等,保持默认,选好后点击STCAN,开始捕捉ADV_REPORT事件,停止后可以在Select Device下拉框选中扫描到的设备连接,此处连接老是提示Could not connect peer错误,应该是server端拒绝了:4.2scan.gif图4.2 扫描测试2.2 RF Test收发误码测试2.2.1收发测试5射频.PNG图5 收发双方两个STM32CubeMonitor-RF操控界面开启两个STM32CubeMonitor-RF,一个串口连上STM32WB55 dongle充当发方,一个串口连上STM32WB55 Nucleo board充当收方,然后默认配置点进去后先点收方的START RX按钮,然后再点发方的START TX按钮,结束后反过来先点发方的STOP TX,再点收方的STOP RX按钮,就能在上面呈现看到发包、收包统计数量:6射频收发测试.PNG图6 收发测试包统计不知道为什么,我这里收方有丢包,而且有点多。2.2.2 误码测试7误码测试.PNG图7 收发双方一个STM32CubeMonitor-RF显示误码率界面结果跟刚才上面收发测试一样,也有0.81%的误码率,这个待追查。2.3 Beacon无连接测试iBeacon在几年前很流行,现在已经基本少见了,不妨填上最初微信退出的摇一摇周边UUID、Major、Minor:| UUID | Major | Minor | | ---------------------------------- | ------- | ------- | | FDA50693A4E24FB1AFCFC6EB07647825 | 000A | 0007 |

8Beacon.PNG 图8 ibeacon无连接包测试2.4 脚本测试9脚本.gif图9 加载脚本文件执行命令弄过BlueZ协议栈的应该对这个熟悉,主要是下发HCI命令给下层,比如OCF、OGF域设置,脚本命令首字母要大写,不然会报错,详细格式查看软件手册,详细指令查看Core Spec,比如设置设备名为“风云”,就可以填入“0709E9A38EE4BA91”(此处为小端存储),效果见上图10脚本解析.PNG图10 脚本指令解析举例脚本内容如下:

Send(HCI_RESET)

Wait(1000)

Send(ACI_HAL_SET_TX_POWER_LEVEL;0x00;0x1F)

Wait(1000)

Send(ACI_HAL_WRITE_CONFIG_DATA;0x00;0x06;0x665544332211)

Wait(1000)

Send(ACI_GATT_INIT)

Wait(1000)

Send(ACI_GAP_INIT;0x03;0x00;0x00)

Wait(1000)

Send(HCI_LE_READ_ADVERTISING_CHANNEL_TX_POWER;0x01;0x07;0x20;0x00)

Wait(1000)

Send(HCI_LE_SET_ADVERTISING_PARAMETERS;0x0800;0x0800;0x00;0x00;0x00;0x665544332211;0x01;0x00)

Wait(1000)

Send(ACI_GAP_SET_DISCOVERABLE;0x00;0x0080;0x00A0;0x00;0x00;0x07;0x91BAE48EA3E909;0x03;0x180d02;0x0000;0x0000)

Wait(1000)

Send(ACI_GAP_UPDATE_ADV_DATA;0x03;0x000A02)

本主题由 STMCU-管管 于 2023-6-25 08:48 审核通过

9 脚本.gif (4.84 MB, 下载次数: 0)

9 脚本.gif

1 收藏 评论0 发布时间:2023-7-25 11:22

举报

0个回答

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版