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

搞定收工

相关推荐
番茄灭世神15 分钟前
PN学堂GD32教程第21篇——WiFiIOT
c语言·stm32·单片机·嵌入式·gd32
不怕犯错,就怕不做1 小时前
ARM设备异常断电容易造成数据损坏,硬件如何设计
linux·驱动开发·嵌入式硬件
jghhh012 小时前
基于DSP28335的RS485串口通信与AD采样开发方案
单片机·嵌入式硬件
say_fall2 小时前
微处理器及其体系结构:从8088到现代多核处理器
单片机·硬件架构·硬件工程
2301_775602382 小时前
晶振相关知识
单片机
2zcode3 小时前
基于STM32的直流电机串级PID伺服控制系统设计与实现
stm32·单片机·嵌入式硬件·直流电机
都在酒里3 小时前
STM32低功耗休眠详解——睡眠、停止与待机模式实战,综合应用(三)
stm32·单片机·嵌入式硬件
嵌入式小站3 小时前
STM32 零基础可移植教程 06:外部中断按键,不用一直在 while 里盯着它
stm32·单片机·嵌入式硬件
大卡片3 小时前
GPIO控制器原理
单片机·嵌入式硬件
余生皆假期-3 小时前
J-link Commander 命令操作 MCU 连接、调试、烧录、擦除等
单片机·嵌入式硬件