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,每个外设所处的总线段
  • 了解了时钟树,外设的时钟来源
    那么利用前面的工程模板,应当可以相对比较简单的开发出一些简单的功能了。后面会基于这些内容进行项目开发,从简单项目到一个复杂项目,最终收获自己的产品。

搞定收工

相关推荐
柒月玖.34 分钟前
基于AT89C52单片机的计算器设计与仿真
单片机·嵌入式硬件
乐十九1 小时前
物模型详解
嵌入式硬件
czhaii1 小时前
STC32G144K246,高速PWM@240Mhz 运行测试
stm32·单片机·fpga开发
炸膛坦客2 小时前
Cortex-M3-STM32F1 开发:(十一)ARM Cortex-M 内核中的 MPU 和 FPU
arm开发·stm32·嵌入式硬件
✎ ﹏梦醒͜ღ҉繁华落℘2 小时前
单片机开发---分层架构设计
单片机·嵌入式硬件·mongodb
国科安芯4 小时前
AS32S601ZIT2抗辐照MCU在商业卫星飞轮系统中的可靠性分析
服务器·网络·人工智能·单片机·嵌入式硬件·fpga开发·1024程序员节
应用市场4 小时前
STM32卡尔曼滤波算法详解与实战应用
人工智能·stm32·算法
优信电子4 小时前
电脑控制DFPlayer Mini MP3播放音乐
单片机·串口·嵌入式·mp3·语音播报·串口语音·mp3播报
点灯小铭5 小时前
基于单片机的±5V数字电压表设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
djarmy6 小时前
使用定时器14(GPIOF9复用映射到TIM14_CH1)控制LED0闪烁实验
stm32·单片机·嵌入式硬件