
前言) v) h. U; Q5 W, U7 v/ H 去年,STM32推出了STM32无线MCU系列,一开始我本以为是集成了蓝牙和WIFI的常规操作,要和ESP32下场开撕了,结果仔细看了简介之后,发现WB支持蓝牙不支持WIFI,但在蓝牙功能方面做的不错,可以支持蓝牙LE、Zigbee、Thread。而且WB55还是双核的,双核的MCU用的确实还不多,想试试水。 板子已经通过初步开发的检测,和我前些个设计的板子一样,全部开源,大家可以直接打样。(射频部分的Π型滤波、射频走线等需要根据板厂的层叠结构、阻抗控制、板材自行计算和调整。)6 F/ J* G% H9 I' U- R 简介 ![]() 2 k0 p! ]# c7 ^- P- H, U 参数介绍 MCU方面 MCU型号:STM32WB55RGV6& z+ o( A* E7 y. ~; O, k9 e% J5 m 主频: M4内核:64MHZ / 80 DMIPS M0+内核:32MHZ; p# P c9 {- g2 ?2 S Flash / RAM:1M / 256K 主要外设:8 e# ~6 U' R5 X6 f. B' c2 } 2个串口1 |( K: _: U; ]0 m7 L5 S9 Y% \ 2个SPI* X0 ?* ]: E4 u; G: B3 k" `( U 2个IIC 1个USB 支持8*40 LCD9 {6 ?$ ]3 ]8 p4 m# v n) J 4 J& P! ?. z' l5 V( l0 l# B 开发板方面 板载功能:8 D* }0 X6 ?5 M 板载射频天线 / 外接天线可选。 板载64Mb Flash,通过QSPI总线连接。 板载DAP下载器,并且一路UART连接到DAP,可以直接与电脑通讯,UART有LED指示。$ [$ l6 u. C! E$ P$ N5 u6 r/ J7 l# I 引出MCU的USB接口。 引出除了QSPI、晶振、SWD、USB之外的所有IO,可以直接接在面包板上。1 b% z9 D' I V5 d: r* Y' y9 ` 板载双色LED和一个用户KEY。: Y' x' M- b5 E7 c- p7 x1 W - d: q* |; m, L* C8 E! U 这块板子本来是和G4的开发板一起做的,后来我焊接时看错了型号,本来3V3的输出的稳压芯片,用了5V的输出。导致上电之后DAP下载器和WB55直接挂了= =。无奈又买了两颗WB55。整板调试的时候,发现调试串口接反了(虽然预留了0Ω电阻,可以飞线,但我拒绝瑕疵)所以又打了一版,耽误了些时间。 \- u8 O0 t1 q) F# k 3 | _0 f$ \! C1 Q: G, x. o WB55开发初体验 点灯程序 我为了测试板子,用CUBEMX做了个点灯程序,开发流程和普通F系列MCU一样。配置时钟,再配置引脚,写一下IO的电平跳变就可以了。# F& I4 X4 g! Y* ^ 蓝牙应用探索) D; p, x. q6 i( Q 我之前没有接触过蓝牙的内核配置,哪怕是ESP32,也只是用现有的固件通过指令控制。我本以为可以在CUBEMX里面像普通外设一样开启蓝牙,能做一个蓝发发生器什么的。我发现我太天真了,因为我发现一个问题,我之前有配置过H7的双核MCU的,在CUBEMX里面基本每个外设都可以选择控制的内核。但是在WB55里面,除了蓝牙之外的其他外设,只能有M4控制。 看了官方的文档和一些博主的文章。大致情况是,M0+的内核作为普通开发者不能开发固件。只能通过ST官方给出的几个固件方案来开发。. n1 k& x) W6 k9 B 需要下载自己需要的固件,通过STM32CubeProgrammer程序由串口、USB、ST-Link等方式将固件烧录到M0+内核中。只能通过M4内核用API来控制M0+,还有涉及到内核与内核通讯的状态机。 为了方便研究,官方的关于RF的文档我基本都已经放在了【General document/射频部分资料】文件夹中。有一部分已经被我翻译了(英语菜鸡) 目前所知的是这款MCU的蓝牙方面的开发对技术要求还是比较高的,已知的是需要有蓝牙协议栈的知识基础、实时操作系统开发经验。以下是官方文档的原话(译文) . l: Y$ X) ]7 Y 为了充分受益于本文的信息,并开发一个应用,用户必须熟悉STM32微控制器、BLE技术、802.15.4 OpenThread协议、Zigbee®协议和802.15.4 MAC层,并且必须了解系统服务,如低功耗管理和任务排序。 引用与《用STM32WB系列微控制器构建无线应用》-简介; w. c9 l' v# ?/ L! V E ! A: w6 P" b8 ~# n, j, I, p; v: \ 所以想要开发一个实际可行的应用,要么买官方的开发板,有专用的软件连接(我试过用这个软件,但可能是因为我用的是DAP下载器,所以找不到我的板子)。要么苦练内功~目前我也是在学习蓝牙协议栈中。$ c3 O1 w( E( V8 h K8 n' z: z G- W7 r% \, u: d- E 总体评价- X0 [9 Q! C/ a3 ?" W) _ 目前来说这款MCU对于普通的爱好者其实不太友好,但作为ST唯二的无线MCU系列(另一个WL只要是LORA应用)不排除现在推出时间太短的关系。 性价比方面,现在这个特殊的时期,光是主控芯片某宝STM32WB55RGV6的价格已经是80+了,而ESP32-WROVER这款双核模块,240MHZ的主频加上20不到的价格基本上可以说是碾压了。又一次ESP32真香。对于原本对蓝牙和实时系统方面不太了解的爱好者或者是从业人员,这款MCU并不是入门蓝牙或嵌入式的好的选择 但不能说WB55现在无用吧,尤其是拥有Zigbee、Thread连接的功能。而且对我个人而言,还是比较喜欢STM32的软件生态的,毕竟STM32CUBEMX实在太好用了。目前来看,官方开放的资料还是比较多的,适合目标是在蓝牙、物联网、无线连接领域深耕的开发者入门、学习。, I9 o7 V9 R2 l- z3 K4 r 我所学习的是嵌入式硬件工程师的领域,也对蓝牙开发有兴趣,所以做了这张板子,希望可以学习些底层的蓝牙知识。如果有相同目标的开发者,可以关注我,对于这款开发板的软件开发进度我也会不定时更新。 2 v. r$ {* d/ ]0 y, i 开源地址; ~0 j: f8 E6 G G: ~ 可以去白嫖了~下载的时候求求点一下星星,抱拳了! github :https://github.com/lijinlong21549/STM32WB55RGV6 |
【NUCLEO-WB09KE评测】+3.蓝牙广播
Nucleo-STM32WB09KE测评-蓝牙调试并使用OLED显示数据
【NUCLEO-WB09KE评测】创建BLE工程和开启调试信息
【NUCLEO-WB09KE评测】+2.串口打印
【NUCLEO-WB09KE评测】+5.实现标准电量服务
【NUCLEO-WB09KE评测】BLE例程HeartRate及工具探索
STM32WB系列MCU低功耗测试
Nucleo-STM32WB09KE测评--IIC传感器读取
【NUCLEO-WB09KE评测】+4.蓝牙控制LED
【NUCLEO-WB09KE评测】+1.点灯