STMCU小助手
发布时间:2021-7-19 13:56
|
前言/ U) W' N+ p* a; n" L, X 去年,STM32推出了STM32无线MCU系列,一开始我本以为是集成了蓝牙和WIFI的常规操作,要和ESP32下场开撕了,结果仔细看了简介之后,发现WB支持蓝牙不支持WIFI,但在蓝牙功能方面做的不错,可以支持蓝牙LE、Zigbee、Thread。而且WB55还是双核的,双核的MCU用的确实还不多,想试试水。 板子已经通过初步开发的检测,和我前些个设计的板子一样,全部开源,大家可以直接打样。(射频部分的Π型滤波、射频走线等需要根据板厂的层叠结构、阻抗控制、板材自行计算和调整。) 3 I v% G, K# S9 W) O" G: l/ [ 简介0 s# E; H. I$ s/ Y
, U! u/ t0 U& B 参数介绍 MCU方面: K5 D/ G) l7 \% W MCU型号:STM32WB55RGV6 主频:: P4 A8 }' W( j9 p2 a M4内核:64MHZ / 80 DMIPS* X& Z3 k& i$ K- o M0+内核:32MHZ Flash / RAM:1M / 256K 主要外设:( n# c4 U `( u3 { 2个串口' c4 ?& q4 a$ E# Y 2个SPI1 M. D9 W6 Q, G/ D1 F% e% ?! | 2个IIC 1个USB& B9 n4 }7 {( Y. Y; a 支持8*40 LCD9 [# @# i' h1 P6 `5 ] 6 C" b# Y( t1 i6 b" `3 T! b0 Y9 h# ~ " O W5 K2 v% e7 | 开发板方面 ?* U J; h. w1 L s* M' N: H0 {) c @ 板载功能: 板载射频天线 / 外接天线可选。 板载64Mb Flash,通过QSPI总线连接。3 K" q0 I4 _2 d 板载DAP下载器,并且一路UART连接到DAP,可以直接与电脑通讯,UART有LED指示。, Z, z/ J; j- l; c 引出MCU的USB接口。4 ~' J% V% j5 ~! | Z: v 引出除了QSPI、晶振、SWD、USB之外的所有IO,可以直接接在面包板上。 板载双色LED和一个用户KEY。3 H# L T1 T, q7 ^ / Q8 H; q$ L0 r8 b* `8 S9 n. W 这块板子本来是和G4的开发板一起做的,后来我焊接时看错了型号,本来3V3的输出的稳压芯片,用了5V的输出。导致上电之后DAP下载器和WB55直接挂了= =。无奈又买了两颗WB55。整板调试的时候,发现调试串口接反了(虽然预留了0Ω电阻,可以飞线,但我拒绝瑕疵)所以又打了一版,耽误了些时间。 5 _; f' U; G8 d4 [* \* R WB55开发初体验 点灯程序1 s$ r% F( Y+ W2 p 我为了测试板子,用CUBEMX做了个点灯程序,开发流程和普通F系列MCU一样。配置时钟,再配置引脚,写一下IO的电平跳变就可以了。# z/ q- Z* f/ O* ]+ N7 U ; p8 V/ Y f4 K$ r8 z6 Z" u. \$ W* q 蓝牙应用探索 我之前没有接触过蓝牙的内核配置,哪怕是ESP32,也只是用现有的固件通过指令控制。我本以为可以在CUBEMX里面像普通外设一样开启蓝牙,能做一个蓝发发生器什么的。我发现我太天真了,因为我发现一个问题,我之前有配置过H7的双核MCU的,在CUBEMX里面基本每个外设都可以选择控制的内核。但是在WB55里面,除了蓝牙之外的其他外设,只能有M4控制。7 T6 r: L# a- Z5 x 看了官方的文档和一些博主的文章。大致情况是,M0+的内核作为普通开发者不能开发固件。只能通过ST官方给出的几个固件方案来开发。3 _. v, u6 z: x! @ 需要下载自己需要的固件,通过STM32CubeProgrammer程序由串口、USB、ST-Link等方式将固件烧录到M0+内核中。只能通过M4内核用API来控制M0+,还有涉及到内核与内核通讯的状态机。( T+ z# Z; A4 v: Y6 H 为了方便研究,官方的关于RF的文档我基本都已经放在了【General document/射频部分资料】文件夹中。有一部分已经被我翻译了(英语菜鸡) 目前所知的是这款MCU的蓝牙方面的开发对技术要求还是比较高的,已知的是需要有蓝牙协议栈的知识基础、实时操作系统开发经验。以下是官方文档的原话(译文) 5 t, G" C4 L( g% B- b6 r( |0 |) A 为了充分受益于本文的信息,并开发一个应用,用户必须熟悉STM32微控制器、BLE技术、802.15.4 OpenThread协议、Zigbee®协议和802.15.4 MAC层,并且必须了解系统服务,如低功耗管理和任务排序。 : G+ {9 J# _, |% e 引用与《用STM32WB系列微控制器构建无线应用》-简介 , S! [ V N! y 所以想要开发一个实际可行的应用,要么买官方的开发板,有专用的软件连接(我试过用这个软件,但可能是因为我用的是DAP下载器,所以找不到我的板子)。要么苦练内功~目前我也是在学习蓝牙协议栈中。0 _1 l( Y1 I% C! e. O 0 a1 g1 K4 c0 N/ u) x) c( | 总体评价 目前来说这款MCU对于普通的爱好者其实不太友好,但作为ST唯二的无线MCU系列(另一个WL只要是LORA应用)不排除现在推出时间太短的关系。 性价比方面,现在这个特殊的时期,光是主控芯片某宝STM32WB55RGV6的价格已经是80+了,而ESP32-WROVER这款双核模块,240MHZ的主频加上20不到的价格基本上可以说是碾压了。又一次ESP32真香。对于原本对蓝牙和实时系统方面不太了解的爱好者或者是从业人员,这款MCU并不是入门蓝牙或嵌入式的好的选择 但不能说WB55现在无用吧,尤其是拥有Zigbee、Thread连接的功能。而且对我个人而言,还是比较喜欢STM32的软件生态的,毕竟STM32CUBEMX实在太好用了。目前来看,官方开放的资料还是比较多的,适合目标是在蓝牙、物联网、无线连接领域深耕的开发者入门、学习。 我所学习的是嵌入式硬件工程师的领域,也对蓝牙开发有兴趣,所以做了这张板子,希望可以学习些底层的蓝牙知识。如果有相同目标的开发者,可以关注我,对于这款开发板的软件开发进度我也会不定时更新。 开源地址4 s3 @. f$ ?7 @9 N 可以去白嫖了~下载的时候求求点一下星星,抱拳了!9 u U: ]6 c: A ?( d2 l github :https://github.com/lijinlong21549/STM32WB55RGV6* q4 C' b: |% S% v0 ` |
低功耗蓝牙无线升级:STM32WB OTA 固件更新技术解析
STM32WB Zigbee 自定义集群开发实战:AN5491 应用笔记深度解读
吃透:STM32WB 上 Zigbee 睡眠终端设备开发攻略
STM32 无线 MCU HSE 频率与启动时间精确调谐实战指南
深度解读:STM32WB 2.4GHz 低成本 PCB 蛇形天线设计实战指南
经验分享 | STM32WB 双核无线 MCU 开发全流程实战指南
STM32WB 基于 Custom Template 实现 BLE 私有协议 实操开发指南
详解STM32单片机的堆栈
STM32单片机进行除零运算,为何程序不崩溃?
从照明到楼宇:STM32WBx5 BLE Mesh 落地指南
微信公众号
手机版