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