stm32wb55rg (2) 阅读资料手册

阅读资料是嵌入式开发的必备技能,能够从资料中找到自己想要的技术信息,才是最为核心的技术能力。

nucleowb55rg板子的MCU为stm32wb55rg,这块板子的资料有很多,但有些内容可以边用边读,有些内容有必要预先掌握下。

下面几个技术点是非常有必要开发前掌握的。

开发板外观

认知始于感性。首先是看下板子的外观

从板子外观上可以看出来,这块板子支持无线,大多数GPIO被插针引导了出来,板载ST-link。背面应当是可以焊接纽扣电池供电的。

板子的有两个MCU

  • 一个是stm32wb55,这个连接了天线,应当是待开发的MCU了,作为关注重点,该芯片被放在了金属片里面,通过文字可以得出其芯片类型。
  • 另一个是STM32F103CBT6,用于板载st-link功能,这样我们就可以不用其他设备来下载程序了。

板子上还有1个reset swich,和3个user switch ,3个LED

多数MCU都是基于JTAG下载程序的,下载器除了st-link还有很多,比如jlink, ulink, cmsis-dapper等等。

电路原理图

电路原理图反应了控制器和各个电子元件之间的相互联系。

nucleowb55rg的电路原理图有多页,通过对比板子的丝印和原理图,可以知道板子上3个通用按键和3个LED与MCU的pin脚关联,高低电平触发方式,还知道GPIO对外的接插件信息。从中我们可以知道板子有两个外设晶振,为32MHZ和32K768HZ。

芯片封装

  • 一般每种芯片都会有多种package形式,这里的芯片封装为VFQPPN68,64个pin,每个pin的功能可以通过datasheet查到。有PA,PB,PC,PD4组GPIO口,每组的pin数量可以从图中看到,每个pin支持的功能也可以从datasheet的 pin定义表中得到,包括每个pin的可复用功能等。

  • 芯片为双核32位,有M4和M0两个内核,M0有特定功能,用于BLE的处理和收发。

  • 芯片有1MB的Flash和256K的SRAM,这个容量可以加载常用的OS和中间件。



芯片资源

数据手册首页概述了芯片的所有资源,包括内核型号,供电,时钟,外设/定时器数量,低功耗和温度适用等等。系统框图也提供了完整的high-level view.

Memory mapping

stm32wb55属于32-bit的arm MCU, 所以最大寻址空间为 2^{32} = 4GB,也就是寻址空间 从0x0的起始地址到0xFFFFFFFF,但实际上不会超过这个地址。

从memory mapping中可以知道mcu的kernel所有外设的所处的地址范围,各自的寄存器也都位于这个地址段中。并可以知道MCU的ram和flash的存储空间地址及大小。

时钟树

时钟是MCU的心脏,必须了解时钟源的设定和参数设置,通过时钟树可以了解不同时钟源的作用路径,前面讲过该板子上有两个外接时钟,分别是32M和32k768。

时钟树上的矩形框表示分频/倍频器,最左侧的竖线表示对外时钟相关的pin。竖放的梯形框为可复选框。

从时钟树上看出来,系统时钟sysclock有4个来源可供选择。分别是PLLRCLK, HSI16,HSE,MSI

看门狗WDG的时钟只能来源于LSI

从系统时钟SYSCLK出来的时钟可以经过分频得到HCLK1,HCLK2,HCLK4然后分别向不同的APB1,APB2等提供时钟。从memory maping 中,又可以快速知道APB1,APB2分别挂载了哪些外设,如果需要使用这些外设,就需要将对应的APB的时钟使能,并设置好相应的分频系数。

从时钟树的右下角,可以知道SMPS, USART1,LPTIMx 这几个外设的时钟可用来源。

I2Cx的时钟来源只能从PCLKn,SYSCLK,HSI16 中来选择。

还有MCO是芯片对外提供时钟,该时钟的可以有多个来源,也可以清楚看出来。

总结

  • 了解了板子的外观和原理图
  • 了解了芯片的pin 定义,片上资源和外设
  • 了解了芯片的memory mapping,每个外设所处的总线段
  • 了解了时钟树,外设的时钟来源
    那么利用前面的工程模板,应当可以相对比较简单的开发出一些简单的功能了。后面会基于这些内容进行项目开发,从简单项目到一个复杂项目,最终收获自己的产品。

搞定收工

相关推荐
深圳市恒锐丰科技杨生19 分钟前
EG1192H 零功耗使能集成上管非同步降压 DC‑DC|屹晶 EGmicro
嵌入式硬件·硬件工程
星栖与芯1 小时前
LiteOS-M 切换汇编逐行图解(1):汇编是什么·寄存器与栈
汇编·stm32·嵌入式硬件·harmonyos·鸿蒙系统
xx~t2 小时前
嵌入式——单片机2
嵌入式硬件·学习·51单片机·串口·蜂鸣器
JNX_SEMI3 小时前
OC5138T 8V~100V超宽输入降压恒流驱动:覆盖12V汽车至72V电动车全场景
单片机·嵌入式硬件
xx~t3 小时前
嵌入式——51单片机3
linux·c语言·嵌入式硬件·51单片机
Zw-awa4 小时前
重新认识结构体:为什么 STM32 库函数喜欢接收一大包参数
stm32
云栖梦泽4 小时前
网络设备驱动(1)
linux·arm开发·嵌入式硬件
智购科技无人售货机工厂4 小时前
2026自动售货机AI智能体架构:从47个小模型到33.7亿Token的工程实践~YH
android·人工智能·驱动开发·单片机·pandas
雨田言炎4 小时前
Qt的常用类QList--序列数据管理
嵌入式硬件·qt
单片机仿真设计5 小时前
【proteus仿真】基于 STM32 单片机太阳能双轴追踪系统 Proteus 仿真设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·课设