STM32

文章数:561 被阅读:1105636

账号入驻

STM32WB55评测 | DTM射频&ACI事件测试

最新更新时间:2023-07-12
    阅读数:
点击上方 关注 STM32

在 WiFi6.0 (IEEEax) 引入1024QAM调制+下行 OFDMA+TWT+160MHz 带宽没多久,它的后辈WiFi7.0 (IEEE802.11be)带着 4096-QAM+320MHz 带宽+6GHz 汹汹而来,掀起新一轮物联网变革。 同作为2.4G的无线技术标准,蓝牙同 样日新月异,蓝牙5.0引入2M PHY+247B MTU,蓝牙5.1引入AoA/AoD天线I/Q角度定位,蓝牙5.2引入助听器深耘十年的针对LEAudio的LC3编码,蓝牙5.3引入增强GATT,最近的蓝牙5.4引入针对ESL电子价签的周期广播特性,每一个展开都是一个很大很有兴趣的话题,故市场除了单独的WiFi和Bluetooth芯片外,也出现很多WiFi+Bluetooth共存的SoC,STM32WB系列正式这样的新一代无线SoC。


于是,共享单车、扫码洗衣机、地铁室内地图、闸机、车钥匙等处处可见蓝牙踪影,蓝牙SIG也放出众多profile,如健康领域的心率、血氧、计步、血压等,服务领域的靠近、位置、时间、电量等,mesh的出现更是打破传统一对8的Piconet和Scatternet,引入Ad-Hoc泛路由和发布/订阅机制,使得物联网的广度又拓宽不少。

为何采用STM32WB55体验电力物联网应用?



做过工控的工程师,对STM32可谓如雷贯耳,涉足通用计算、工控、AI、MPU、安全等,无线产品 S TM32WB55 早在2019年深圳蓝牙亚洲大会就出现过。

作为电力行业工程师,近期研发项目与电力物联网行业高度相关。加之碳中和、绿色新能源、智能电网、电动汽车话题,各种AMI抄表计量表计、抄表终端等都国网标准设备要求蓝牙、红外、RS485、HPLC载波等通道进行本地维护,其中有些电力设备出于安全没有对外提供通信接口,此时通过蓝牙抄表、升级就派上用场。例如,近期开发的物联网表计,集计量、ESAM安全费控、存储、时钟、显示、通信等一身,走 DLT698.45 协议,通过蓝牙升级程序或者维护,方便调试和维护。本文即采用 STM32WB55 这款蓝牙板卡来体验它的蓝牙特性,移植IAP升级框架,体验它的速度,并抓包,再就是和现有Realtek或别的Nordic平台进行互操性、mesh性能体验。

DTM 射频 & ACI 事件测试


本期评测涉及到控制器的HCI指令、脚本、蓝牙协议栈、CW载波定频、信号噪声等,主要从ACI Utilities主从机测试、RF Test收发误码测试、Beacon无连接测试、脚本测试(下发HCI命令)一系列STM32CubeMonitor-RF射频集成工具集来展开,休絮赘言。



测试环境准备

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 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.1 STM32WB55 Nucleo board(MB1355C-02)烧录测试固件
2.2 STM32WB55 Dongle(MB1293C-02)烧录测试固件
打开STM32CubeMonitor-RF,可看到支持IEEE 802.15.4(ZigBee/Thread)、BLE,本文仅讨论BLE,点击BLE就行,进入后如果固件烧录不对连接时会报错“STM32Cube device under test not responding”:

图 3 STM32CubeMonitor-RF Lanuch Splash页面


STM32CubeMonitor-RF 工具

ACI Utilities主从机测试

1、广播测试

勾选Advertising,可以看到控制蓝牙控制器里的基带定频、MAC地址、广播通道参数等,保持默认,选好后点击START ADVERTISING,在手机ST BLE Toolbox里能看到dongle刚才的广播包,同样由于连接是空包,安卓端读不到属性数据库从而连接不上,iOS可以建立连接:

图4.1 广播测试
2、 扫描测试
勾选Discover remote service,可以看到控制蓝牙控制器里的发射功率、MAC地址等,保持默认,选好后点击STCAN,开始捕捉ADV_REPORT事件,停止后可以在Select Device下拉框选中扫描到的设备连接,此处连接老是提示Could not connect peer错误,应该是server端拒绝了:

图4.2 扫描测试

RF Test收发误码测试
1、收发测试
图5 收发双方两个STM32CubeMonitor-RF操控界面
开启两个STM32CubeMonitor-RF,一个串口连上STM32WB55 dongle充当发方,一个串口连上STM32WB55 Nucleo board充当收方,然后默认配置点进去后先点收方的START RX按钮,然后再点发方的START TX按钮,结束后反过来先点发方的STOP TX,再点收方的STOP RX按钮,就能在上面呈现看到发包、收包统计数量:


图6 收发测试包统计
2、误码测试

图7 收发双方一个STM32CubeMonitor-RF显示误码率界面


结果跟刚才上面收发测试一样,也有0.81%的误码率,这个待追查。


Beacon无连接测试

iBeacon在几年前很流行,现在已经基本少见了,不妨填上最初微信退出的摇一摇周边UUID、Major、Minor:
UUID Major Minor

FDA50693A4E24FB1AFCFC6EB07647825

000A 0007
图8 ibeacon无连接包测试

脚本测试

图9 加载脚本文件执行命令

弄过BlueZ协议栈的应该对这个熟悉,主要是下发HCI命令给下层,比如OCF、OGF域设置,脚本命令首字母要大写,不然会报错,详细格式查看软件手册,详细指令查看Core Spec,比如设置设备名为“风云”,就可以填入“0709E9A38EE4BA91”(此处为小端存储),效果见上图。


图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)


来源:STM32论坛网友 MingXJ 版权归原作者所有




© THE END


 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: TI培训

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved