关于STM32WB55一些测评评价

关于STM32WB55一些测评评价

         部分内容转载自http://bbs.eeworld.com.cn/thread-1076335-1-1.html

          简单介绍下,STM32WB系支持无线功能的双核 MCU,内嵌 工作频率为 64 MHz 的 Arm® Cortex®-M4 内核和工作频率为 32 MHz 的 Arm® Cortex®-M0+ 内核。STM32WB 平台是在STM32L4系列 MCU 的基础上发展而来。它提供同样的数字与模拟外设,适合需要更长电池使用寿命和复杂功能的应用。

关于STM32WB55一些测评评价_第1张图片

关于STM32WB55一些测评评价_第2张图片

        STM32WB 除了富有多种通信特性外,还有一个实用的无晶体 USB2.0 FS 接口、音频支持、一个 LCD 驱动器、多达 72 个 GPIO、一个用于功耗优化的集成 SMPS 以及旨在最大限度延长电池使用寿命的多种低功耗模式。这款 MCU 还特别注重安全功能,例如 256 位 AES、PCROP、JTAG 熔丝、PKA(椭圆曲线加密引擎)和根安全服务 (RSS)。RSS 支持OTA验证 通信,不受无线协议栈或应用限制。获得 了STM32WB55 Bluetooth 5 认证的设备提供 Mesh 1.0 软件支持和多种配置文件,并且可灵活集成专有 BLE 协议栈。同时提供OpenThread 认证的软件协议栈。无线技术可同时运行 BLE/OpenThread 协议。内嵌通用 MAC 允许使用 IEEE 802.15.4 专有协议栈(如 ZigBee®)或其它专有协议,从而为将设备连接到物联网 (IoT) 提供更多选择。

 
 

        STM32WB55 Nucleo pack 套件是 STM32 的第一款双核 MCU,又具有BLE 5.0 + 802.15.4 双模的无线功能,低功耗设计。

关于STM32WB55一些测评评价_第3张图片

关于STM32WB55一些测评评价_第4张图片

关于STM32WB55一些测评评价_第5张图片

关于STM32WB55一些测评评价_第6张图片

关于STM32WB55一些测评评价_第7张图片

关于STM32WB55一些测评评价_第8张图片

出厂配置的范例就是一个作为广播的server,另一个作为client的群工作方式,可以互相控制绿色LED的亮灭。
首先给nucleo板通过st-link的usb口加电,led开始闪烁。这时就自动进入server模式,开始广播信号。
然后直接通过usb-A给doggle加电,进入client模式,按下SW1,进入server时自动连接模式。
关于STM32WB55一些测评评价_第9张图片
建立连接后,led的闪烁频率都发生变化,
关于STM32WB55一些测评评价_第10张图片
在nucleo板上按SW1可以控制client的led亮灭,同时控制SW2可以控制连接的间隔。

快速进入开发状态,当然是直接登陆mbed网络,可以快速开始开发的。不过应该还没有蓝牙的配置,应该只是对应于M0内核的

模式,不适合比较全面的开发。 关于STM32WB55一些测评评价_第11张图片


6. 便于开发,提供了参考范例程序STM32CubeWB Firmware Examples for STM32WBxx Series ,并提供了参考的内核架构,
关于STM32WB55一些测评评价_第12张图片

后续可以围绕这个开始项目开发。


  1. 采用了双核的设计很好,可惜 CPU2 这个核(对一般开发用户)不开放。不开放还不仅是没有提供 CPU2 上程序的SDK,仅提供了可选的几个编译好的 image(还是加密的不能反汇编),而且无法访问 CPU2 私有的 Flash、SRAM 部分,无法通过 SWD 对其调试。虽然称这特性为“安全”,然而这是开发板,并非卖到终端用户的产品,要防什么呢?总之结果就是:STM32WB55 只能当作一个单核 M4 MCU来用,而且还不能访问到片上全部资源(比如,想用整块 flash, SRAM2是不行的,不能全片擦除)。


  2. 就算是不去动 CPU2 部分的东西,只开发 CPU1 的程序,那么怎么跟 CPU2 交互得知道吧。然而这方面的文档(据我能找到的)还是空白。CubeWB 中有不少例子,没错,可惜这些工程使用的程序库——STM32 WPAN,没有提供函数说明的文档,更没有编程手册。好,如果要新开发一个无线的应用应该怎么编写?总不能拿 demo 自己去改吧。我个人觉得(从 BLE_p2pServer 这个工程看来)这代码的结构真是乱啊,效率怎样先不管,嵌套的调用太多,使得每个函数的意图看不明显,再开发就很费劲了。


  3. 低功耗呢,试下 BLE_p2pServer 这个应用运行时电流有6个多mA. 我从板子上 JP2 这个跳线这里测量的。既然板子后面还准备了电池,demo 程序也得注意省省电吧。我相信 MCU 省电能力是有的,只是 demo 软件上没做,或者没尽力实现。就说自带的 SMPS,代码里似乎也配置了一些与之有关的寄存器,但是我测试电流并没有发现任何效果——我断开 JP2, 用可调稳压电源给 MCU 供电,结果发现 VDD 从 3.2V 降到 2.4V,电流并没有增大,反而稍有减小。这不像是用了降压型DC-DC的效果。


  4. 使用不同模式的无线功能,需要切换 CPU2 的 firmware. 但是这部分 Flash 的更新不能通过 SWD 直接进行,而得用 DFU 模式——还是为了保护 ST 的软件进行了加密举措。这是需要 CPU2 运行一个程序来负责 Flash 的擦除和写入,负责 Option bytes 的修改,这叫做 RSS --- Root Security Service.  但是 RSS 的程序自己也在 Flash 里面(可以升级)。我不知道全新的 STM32WB55 芯片里面是否已经烧写了 RSS 程序了(怎么烧进去的?),本坛网友有升级固件给升级坏了的,那样芯片就到了一个自锁死的状态,又没法全片擦除。DFU 升级做得不完善,为什么还需要提供固件烧写的地址,难道不可以在固件文件文件里面直接包含?烧错了地址不能用,怎么知道正确的地址?不同容量 flash 型号的地址应该不同吧?Nucleo 套件带的都是 1MB flash 的型号,其中默认 BLE stack 固件的地址是 0x80C0000 以后了,也就是 flash 的后 1/4 里面。若开发产品用 256kB flash 的型号,固件怎么办?


  总体的就是 STM32WB55 这款对 STM32 开发爱好者不友好,尽管功能也许是强,尽管 Reference Manual 也如以往的 STM32 一样详细(Radio System一章除外)。

你可能感兴趣的:(STM32WB55)