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

关于STM32WB55一些测评评价

[复制链接]
STMCU小助手 发布时间:2022-10-20 23:34
关于STM32WB55一些测评评价
, q; o2 \2 \3 j6 |        简单介绍下,STM32WB系支持无线功能的双核 MCU,内嵌 工作频率为 64 MHz 的 Arm® Cortex®-M4 内核和工作频率为 32 MHz 的 Arm® Cortex®-M0+ 内核。STM32WB 平台是在STM32L4系列 MCU 的基础上发展而来。它提供同样的数字与模拟外设,适合需要更长电池使用寿命和复杂功能的应用。, K# B" |" V5 q% l0 F  y% k' Z: ]
* a+ t7 f1 O) l# B1 x+ X: C. p5 K
20200711205036833.png
/ q- C9 l# a  S- e; C

4 G% q% R# j. }' k
2020071120455631.png

4 X% Z- v3 Z  A  A4 o* d% K: k- r
2 E' b" H2 h5 j     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) 提供更多选择。: A/ Q0 J" w7 C3 n, ~

* s9 V9 k! [' S0 o+ e$ y1 u$ B        STM32WB55 Nucleo pack 套件是 STM32 的第一款双核 MCU,又具有BLE 5.0 + 802.15.4 双模的无线功能,低功耗设计。
5 J. k1 c9 |$ L; j; n- x2 ~- U  b4 x
20200711204159752.png
! L9 M7 U6 O. m  S
  N1 u2 w! m! ~( K. ?
20200711205115530.png

, ?. ~  D7 z, J5 j. @: R/ Y8 a9 \) b0 u' l& ~- w/ |7 k
20200711205133925.png

; m1 W1 V, E/ [
- {" C! g7 u; a8 H! t# G7 Z
20200711205154862.png

4 m7 F) ?' F7 {$ x( I# M" y4 y1 z8 Y+ T! C* a+ d
20200711205216651.png
$ i3 ?, U, J1 B+ @; p8 y. A0 M. R% V
4 ^: g! @2 p7 m( t! S9 [9 B
20200711205233575.png

3 p& E& D0 D/ s5 ^: ?; [9 `: M0 S" _- B, K& w/ h2 ^/ o
出厂配置的范例就是一个作为广播的server,另一个作为client的群工作方式,可以互相控制绿色LED的亮灭。/ c1 Y. H* b! U
首先给nucleo板通过st-link的usb口加电,led开始闪烁。这时就自动进入server模式,开始广播信号。
& f2 A1 v$ M' j8 M( L" C然后直接通过usb-A给doggle加电,进入client模式,按下SW1,进入server时自动连接模式。8 ~) p0 U0 g( c+ I5 A
1 r5 V; I/ N% Y8 \, `2 m+ V
aHR0cDovL2Jicy5lZXdvcmxkLmNvbS5jbi9kYXRhL2F0dGFjaG1lbnQvZm9ydW0vMjAxOTA1LzA4LzE1.png

4 v8 w6 a) Q# g  h; g/ E5 _0 E* M9 r5 {% l
建立连接后,led的闪烁频率都发生变化,
# x/ G4 O0 N$ P
aHR0cDovL2Jicy5lZXdvcmxkLmNvbS5jbi9kYXRhL2F0dGFjaG1lbnQvZm9ydW0vMjAxOTA1LzA4LzE1.png

( |2 h2 [- J, c$ [$ y$ {3 K, d" i/ E3 m' v0 f* S
在nucleo板上按SW1可以控制client的led亮灭,同时控制SW2可以控制连接的间隔。/ {) e6 l0 F$ V" z
7 R" Y) q, d2 {7 D
快速进入开发状态,当然是直接登陆mbed网络,可以快速开始开发的。不过应该还没有蓝牙的配置,应该只是对应于M0内核的
6 R! t6 ^( {$ B1 z: M% d8 e! _& D
4 D( Q5 x- ~9 g" h模式,不适合比较全面的开发。 4 @5 p" q2 Y8 p: S
  w+ t2 F/ L5 K0 N9 R7 M5 [- i
aHR0cDovL2Jicy5lZXdvcmxkLmNvbS5jbi9kYXRhL2F0dGFjaG1lbnQvZm9ydW0vMjAxOTA1LzA4LzE1.png
8 Q$ h  B0 P9 s) q, o, N
. ]7 K0 {% U8 w" j3 [+ c; C
6. 便于开发,提供了参考范例程序STM32CubeWB Firmware Examples for STM32WBxx Series ,并提供了参考的内核架构,# K0 w" }3 A' u
. e( H$ r& j& Q" |9 J
aHR0cDovL2Jicy5lZXdvcmxkLmNvbS5jbi9kYXRhL2F0dGFjaG1lbnQvZm9ydW0vMjAxOTA1LzA4LzE1.png
, v9 U7 Y1 ~1 \, q" t) k8 @

7 v% y$ s$ G3 m7 l后续可以围绕这个开始项目开发。2 m  ?4 b/ @& o; n) E4 s

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

8 y# q( O8 p5 S* }# N
2 o/ B4 h  v5 I5 i5 p3 v4 q- j  2. 就算是不去动 CPU2 部分的东西,只开发 CPU1 的程序,那么怎么跟 CPU2 交互得知道吧。然而这方面的文档(据我能找到的)还是空白。CubeWB 中有不少例子,没错,可惜这些工程使用的程序库——STM32 WPAN,没有提供函数说明的文档,更没有编程手册。好,如果要新开发一个无线的应用应该怎么编写?总不能拿 demo 自己去改吧。我个人觉得(从 BLE_p2pServer 这个工程看来)这代码的结构真是乱啊,效率怎样先不管,嵌套的调用太多,使得每个函数的意图看不明显,再开发就很费劲了。
3 u2 l# a4 k1 [  N7 Q$ w* t
3 O0 [" r; Z3 H) J
3 }0 z4 e$ j1 A/ K; \  3. 低功耗呢,试下 BLE_p2pServer 这个应用运行时电流有6个多mA. 我从板子上 JP2 这个跳线这里测量的。既然板子后面还准备了电池,demo 程序也得注意省省电吧。我相信 MCU 省电能力是有的,只是 demo 软件上没做,或者没尽力实现。就说自带的 SMPS,代码里似乎也配置了一些与之有关的寄存器,但是我测试电流并没有发现任何效果——我断开 JP2, 用可调稳压电源给 MCU 供电,结果发现 VDD 从 3.2V 降到 2.4V,电流并没有增大,反而稍有减小。这不像是用了降压型DC-DC的效果。
  ]6 c9 \( N' {6 i5 V+ N1 Z0 j* i8 ^1 A3 c- V
8 u3 b6 ?( ]* E+ a3 f( D. S5 }
  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 的型号,固件怎么办?# v1 l6 b' g5 O. j# N! v) ?4 }5 t
————————————————7 a7 t! f2 V2 o" z0 \( h/ ?
版权声明:&热爱
- w# a3 @. R5 }9 K$ `; C0 E  F( k3 }8 D; {( X

$ v6 |4 g- H1 E$ O( V5 h
赞 收藏 评论0 发布时间:2022-10-20 23:34

举报

0个回答

所属标签

相似技术帖

官网相关资源

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