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

搞定收工

相关推荐
KOAN凯擎小妹1 小时前
采样率与晶振频率选型
单片机·嵌入式硬件·信息与通信
从小白到大师1 小时前
第二课 P-MOS管应用
嵌入式硬件
吃货界的硬件攻城狮3 小时前
【江科大CAN】2.1 STM32 CAN外设(上)
stm32·can·通讯协议
Ronin-Lotus11 小时前
嵌入式硬件篇---ESP32驱动异常
嵌入式硬件·esp32
Cyrus_柯12 小时前
单片机(STM32-ADC模数转换器)
stm32·单片机·嵌入式硬件·adc
南山十一少12 小时前
STM32CubeMX + HAL库:基于DHT11温湿度监测实现
stm32·单片机·嵌入式硬件
Hallin_Me13 小时前
单片机的第一个程序—LED灯的控制
单片机·嵌入式硬件
乌恩大侠16 小时前
卫星物联网:使用兼容 Arduino 的全新 Iridium Certus 9704 开发套件深入探索
单片机·嵌入式硬件·物联网
lixzest16 小时前
Stm32中USB 对时钟的要求
stm32·单片机·嵌入式硬件
螺丝钉的扭矩一瞬间产生高能蛋白16 小时前
MCU+RTOS调试
c语言·stm32·单片机·嵌入式硬件·嵌入式