超低功耗 Arm® Cortex®-M0+ 32 位 MCU,高达 64 KB Flash 存储器,12 KB SRAM数据手册
#技术资源#1 简介
本文提供 STM32U031x4/6/8 器件的相关信息,例如描述、功能概述、引脚分配和定义、电气特性、封装和订购信息。必须结合 STM32U031x4/6/8 参考手册 (RM0503) 一起阅读。有关数据手册和参考手册的器件勘误信息,请参见 STM32U031x4/6/8 勘误表 (ES0603)。有关 Arm® Cortex®-M0+ 内核的信息,请参见《Cortex-M0+ 技术参考手册》(可从 www.arm.com 网站获取)。
注 Arm 是 Arm Limited(或其子公司)在美国和/或其他地区的注册商标。
2 说明
STM32U031x4/6/8 器件为超低功耗微控制器,基于高性能 Arm® Cortex®-M0+ 32 位 RISC 内核,工作频率最高可达56 MHz。
STM32U031x4/6/8 器件内置高速存储器(高达 64 KB Flash 存储器和 12 KB SRAM,带硬件奇偶校验),丰富的增强 I/O 和外设与 APB 和 AHB 总线连接,并有一个 32 位多 AHB 总线矩阵。
这些器件还内置保护机制以保护嵌入式 Flash 存储器和 SRAM,例如读保护和写保护。
STM32U031x4/6/8 器件提供一个 12 位 ADC、一个 12 位 DAC、一个内置的轨到轨模拟比较器、一个运算放大器、低功耗RTC、一个通用 32 位定时器、一个专用于电机控制的 16 位 PWM 定时器,三个通用 16 位定时器和两个 16 位低功耗定时器这些器件还内置多达 21 个容性感应通道。
同时,这些器件采用标准和高级通信接口,分别为三个 I2C、两个 SPI、四个 USART 和两个低功耗 UART。
STM32U031x4/6/8 器件的工作温度范围为 -40 °C 到 +85 °C(+105 °C 结温)和 -40 °C 到 +125 °C(+130 °C 结温):当使用内部 LDO 稳压器时,VDD 电源 1.71 V 到 3.6 V;当使用外部 SMPS 电源时,VDD12 电源 1.00 V 到1.32V。全套的节电模式实现低功耗应用设计。
支持独立电源:用于 ADC、DAC、OPAMP 和比较器的独立模拟电源输入,以及支持 RTC 和备份寄存器的 VBAT输入。
STM32U031x4/6/8 提供 20 到 64 个引脚的八种封装。
有关各器件可用外设的列表,请参见下表。
表 1. 器件特性和外设数量
图 1. 框图
3 功能概述
3.1 带有MPU的Arm® Cortex®-M0+内核
Arm Cortex -M0+ 是一款入门级 32 位 Arm Cortex 处理器,可用于种类丰富的嵌入式应用。它为开发人员提供的显著优势包括:
[*]架构简单,易于学习和编程
[*]功耗超低,支持高能效运行
[*]优秀的代码密度
[*]可确保实现高性能中断处理
[*]向上兼容 Cortex-M 系列处理器
[*]集成了存储器保护单元 (MPU),具有极强的平台安全性。
Cortex-M0+ 处理器基于面积和功率实现了高度优化的 32 位内核而构建,采用 2 级流水线冯诺依曼架构。该款处理器通过功能强大的小型指令集和广泛优化的设计,提供包括单周期乘法器在内的高端处理硬件,从而实现卓越能效。与其他 8 位和 16 位微控制器相比,Cortex-M0+ 处理器实现了 32 位现代架构所应具备的卓越性能,同时提高了代码密度。
由于采用嵌入式 Arm 内核,STM32U031x4/6/8 器件与 Arm 工具和软件兼容。
Cortex-M0+ 与第 3.13.1 节: 嵌套向量中断控制器 (NVIC) 中所述的嵌套向量中断控制器 (NVIC) 紧密耦合。
3.2 自适应实时存储器加速器 (ART Accelerator)
ART Accelerator 是针对 STM32 工业标准 Arm® Cortex®-M0+ 处理器进行了优化的存储器加速器。该加速器很好地体现了 Arm Cortex-M0+ 在 Flash 存储器技术方面的固有性能优势,克服了通常条件下,高速的处理器在运行中需要经常等待 Flash 存储器读取的情况。
为了在 56 MHz 下让处理器发挥接近 67 DMIPS 的性能,该加速器将实施指令预取队列和分支缓存,从而提高了64 位 Flash 存储器的程序执行速度。根据基准测试,凭借 ART 加速器所获得的性能相当于 Flash 存储器在 CPU 频率高达 56 MHz 时以 0 个等待周期执行程序。
3.3 存储器保护单元
存储器保护单元 (MPU) 用于管理 CPU 对存储器的访问,以防止一个任务意外损坏另一个激活任务所使用的存储器或资源。
若应用中有一些关键的或认证的代码必须受到保护,以免被其他任务的错误行为影响,则 MPU 尤其有用。它通常由RTOS(实时操作系统)管理。若程序访问的存储器位置被 MPU 禁止,则 RTOS 可检测到它并采取行动。在RTOS 环境中,内核可基于执行的进程,动态更新 MPU 区的设置。
MPU 是可选的,若应用不需要则可绕过。
3.4 存储器
3.4.1 嵌入式 Flash 存储器
STM32U031x4/6/8 器件采用高达 64 KB 嵌入式 Flash 存储器,可用于存储代码和数据。可以通过选项字节对灵活保护功能进行配置:
[*]健壮的读保护 (RDP),基于密码的回退(128 位 PSWD)。提供三个保护状态等级:
– 级别 0:无读保护
– 级别 1:存储器读保护,若连接了调试特性或选择了通过 RAM 或自举程序自举,则无法读写 Flash 存储器
– 级别 2:芯片读保护,并且禁止调试功能(Cortex-M0 串行线)和通过 RAM 和自举程序自举选择。该选择不可逆。
有关存储器区域访问与 RDP 保护级别的信息,请参见表 2。
[*]写保护 (WRP):保护区域受到保护,可防止被擦除和编程。每个存储区可选择两个区域,粒度为 2 KB。
表 2. 访问状态与读保护级别和执行模式
整个非易失性存储器内置纠错码 (ECC) 功能,可支持:
[*]单个错误检测和纠正
[*]双重错误检测
[*]从 ECC 寄存器读取 ECC 失效地
安全区域
Flash 存储器一部分区域,可以在其包含的代码执行后对应用程序隐藏 。只要通过 FLASH_HDPCR 和
FLASH_SECR 寄存器在安全区域使能了安全功能,在系统复位前,便无法访问安全存储器。安全区域通常包含安全
启动代码,仅在启动时执行一次。这可以帮助将机密代码与不受信任的应用代码隔离开来。
3.4.2 嵌入式 SRAM
STM32U031x4/6/8 器件具有 12 KB SRAM,带硬件奇偶校验。硬件奇偶校验可检测存储器数据错误,可帮助提高应用的功能安全性。
嵌入的 SRAM 分为两个区域,如下所述:
[*]SRAM1:8 KB,带硬件奇偶校验,映射地址为 0x2000 0000
[*]SRAM2:4 KB,带硬件奇偶校验,地址为 0x1000 0000
SRAM2 还映射在地址 0x2000 8000 处,从而与 SRAM1 一起提供连续的地址空间(4 KB 位带别名区)。
在待机模式下,将保留 SRAM2 的内容。
以 1 KB 的粒度对其进行写保护。
可以以 CPU 时钟速度对存储器进行读/写访问,并保持零等待状态。
3.5 启动模式
启动时,通过自举引脚和自举选择器选项位来选择以下三种自举模式之一:
[*]从用户 Flash 存储器自举
[*]从系统存储器自举
[*]从嵌入式 SRAM 自举
自举引脚与标准 GPIO 共用,可通过自举选择器选项位来使能。自举程序位于系统存储器中。可通过以下接口之一来管理 Flash 存储器重新编程:
[*]PA9/PA10、PC10/PC11 或 PA2/PA3 引脚上的 USART
[*]PB6/PB7 或 PB10/PB11 引脚上的 I2C 总线
[*]PA4/PA5/PA6/PA7 或 PB12/PB13/PB14/PB15 引脚上的 SPI
3.6 电源管理
3.6.1 电源方案
STM32U031x4/6/8 器件需要 1.71 V 到 3.6 V 的工作电压 (VDD)。为特定外设提供了多个不同的电源:
[*]VDD = 1.71 到 3.6 V:外部电源,用于 I/O (VDDIO1)、内部稳压器和系统模拟信号(例如复位、电源管理和内部时钟)。通过 VDD 引脚从外部提供。
[*]VDDA = 1.62 V (ADC/COMP)/1.80 V (DAC/OPAMP)/2.4 V (VREFBUF) 到 3.6 V:外部模拟电源,用于ADC、OPAMP、DAC 和比较器。VDDA 电压电平独立于 VDD 电压。
[*]VBAT = 1.55 V 到 3.6 V:当 VDD 不存在时,用作 RTC、32 kHz 外部时钟振荡器和备份寄存器的电源(通过电源开关)。封装上没有 VBAT 引脚时,VBAT 焊盘在内部与 VDD/VDDA 引脚连结。
[*]VCORE
使用嵌入式线性稳压器为内部数字电源 VCORE 供电。VCORE 是用于数字外设、SRAM 和 Flash 存储器的电源。
Flash 存储器还可以通过 VDD 供电。
注
如果不使用由 VDDA 供电的功能,则最好将该电源与 VDD 短接。
如果这些电源接地,则由这些电源供电的 I/O 不具备 5 V 容差。
VDDIOx 是 I/O 通用数字功能电源。VDDIOx 表示 VDDIO1,VDDIO1 = VDD。
图 2. 电源概述
3.6.2 电源监控器
该器件集成了上电/掉电 (POR/PDR) 复位功能,除关断模式之外,在其他所有电源模式下均有效,从而确保上电和掉电时正常运行。当供电电压低于 VPOR/PDR 阈值时,该功能可让器件保持在复位状态,无需使用外部复位电路。欠压复位 (BOR) 功能增加了灵活性。该功能可通过选项字节使能和配置,方法是在 VDD 上升时选择四个阈值中的一个,在 VDD 下降时选择其他四个阈值中的一个。
该器件还有一个嵌入式可编程电压检测器 (PVD),用于监视 VDD 电源并将其与 VPVD 阈值进行比较。当 VDD 值超出VPVD 阈值时,可以选择在下降时、上升时或在下降和上升时产生中断。随后,中断服务程序会生成一条警告消息并且/或者使 MCU 进入安全状态。PVD 由软件使能。
3.6.3 稳压器
两个嵌入式线性稳压器(主稳压器 (MR) 和低功耗稳压器 (LPR))为器件中的大部分数字电路供电:
[*]MR 用在运行模式、睡眠模式和 Stop 0 模式下。
[*]LPR 用在低功耗运行模式、低功耗睡眠模式以及 Stop 1 和 Stop 2 模式下。还用于在待机模式下为 4 KB SRAM2 供电,以确保 SRAM2 内容得以保留。
在待机模式和关断模式下,两个稳压器均掉电:稳压器输出处于高阻抗状态,内核电路掉电,因而实现零功耗。
3.6.4 VBAT 工作模式
VBAT 电源域能耗极低,包括 RTC、LSE 振荡器和备份寄存器。
在 VBAT 模式下,RTC 域由 VBAT 引脚供电。电源可以是外部电池或外部超级电容器等。提供两个防入侵检测引脚。
RTC 域也可以通过 VDD/VDDA 引脚供电。
通过内置开关,内部电压监控器可在 VDD 与 VBAT 引脚电压之间自动切换 RTC 域的供电电压,以确保 RTC 域的供电电压 (VBAT) 保持在有效的工作条件内。如果这两个电压均有效,RTC 域将由 VDD/VDDA 引脚供电。
如果 VDD 电压在有效范围内,可激活内部电路,以便在 VBAT 引脚上为电池充电。
注 外部中断和 RTC 闹钟/事件不会使微控制器退出 VBAT 模式,因为在该模式下,VDD 不在有效范围内。
3.7 低功耗模式
默认情况下,系统复位或上电复位后,微控制器进入运行模式。由用户从下述低功耗模式中选择一种模式:
[*]睡眠模式
在睡眠模式下,只有 CPU 停止工作。所有外设继续运行并可在发生中断/事件时唤醒 CPU。
[*]低功耗运行模式
实现该模式时,VCORE 由低功耗稳压器供电,以最大程度降低稳压器工作电流。代码可通过 SRAM 或 Flash 存储器执行,CPU 频率限制为 2 MHz。具有独立时钟的外设可由 HSI16 提供时钟。
[*]低功耗睡眠模式
从低功耗运行模式进入该模式。只有 CPU 时钟停止。当事件或中断触发唤醒时,系统会恢复到低功耗运行模式。
[*]Stop 0、Stop 1 和 Stop 2 模式
Stop 模式可在保留 SRAM 和寄存器内容的同时,实现最低功耗。VCORE 域中的所有时钟均停止,并将禁止PLL、MSI RC、HSI16 RC 和 HSE 晶振。LSE 和 LSI 时钟仍运行。
RTC 可以保持有效(带 RTC 的 Stop 模式,不带 RTC 的 Stop 模式)。
一些具有唤醒功能的外设可在 Stop 模式期间使能 HSI16 RC,以检测其唤醒条件。
提供三种 Stop 模式:Stop 0、Stop 1 和 Stop2:
– 在 Stop2 模式下,大多数 VCORE 域处于低泄漏模式。
– Stop 1 可提供最多的工作外设和唤醒源的数量,较短的唤醒时间,但功耗要高于 Stop 2 模式。
– 在 Stop 0 模式下,主稳压器保持开启状态,从而可以非常快速地唤醒,但功耗则会高很多。
退出 Stop 0、Stop 1 或 Stop 2 模式时,系统时钟可以是 MSI 时钟(最高 48 MHz)或 HSI16,具体视软件配置而定。
[*]待机模式
待机模式用于实现一种最低功耗,在该模式下 POR/PDR 始终保持工作状态。主稳压器关断,从而关闭VCORE 域。低功耗稳压器关断或保持工作状态。如果是后者,则仅为 SRAM 供电以确保数据得以保留。PLL 及HSI16 RC 振荡器和 HSE 晶振也将关断。RTC 可以保持有效(带 RTC 的待机模式,不带 RTC 的待机模式)。
对于每个 I/O,由软件确定在待机模式期间是否必须为该 I/O 应用上拉电阻、下拉电阻还是不应用电阻。
进入待机模式后,除 RTC 域和待机电路中的寄存器外,其他寄存器的内容都将丢失。SRAM 的内容可通过寄存器设置保留。
发生外部复位事件(NRST 引脚)、IWDG 复位事件、唤醒事件(WKUP 引脚,可配置的上升或下降沿)或RTC 事件(闹钟、周期性唤醒、时间戳、入侵),或者在 LSE 上检测到故障(LSE 上的 CSS)时,器件将退出待机模式。
[*]关断模式
在关断模式下可实现最低功耗。内部稳压器关闭,因此 VCORE 域将断电。PLL、HSI16、MSI、LSI 和 HSE振荡器也会关闭。
RTC 可以保持有效状态(带 RTC 的关断模式,不带 RTC 的关断模式)。
在关断模式下 BOR 不可用。在此模式下电源电压监测不可用,因此不支持备份域的开启。
除备份域中的寄存器之外,SRAM1、SRAM2 和寄存器的内容都将丢失。
发生外部复位(NRST 引脚)、WKUP 引脚事件(可配置的上升或下降沿)或 RTC 事件(闹钟、周期性唤醒、时间戳、入侵)时,器件将退出关断模式。
唤醒后的系统时钟为 MSI (4 MHz)。
查看更多内容请点击附件下载
收藏一份,免得下次找。。 STM32U031支持无线的设计的吗? 这个stm32cubmemx配置开发硬件简单很多,m0里面性价比比较高的单片机了。
页:
[1]