stm32WB55
规格
STM32WB无线微控制器基于运行于64 MHz的Arm® Cortex®‐M4核心(应用处理器)和运行于32 MHz的Arm Cortex‐M0+核心(网络处理器)
时钟树 195
- HSE 时钟
高速外部时钟信号(HSE)有2个时钟源 196
- HSE 外部晶振
- HSE 用户外部时钟
外部晶振(HSE晶振) [001](外部晶振(HSE 晶振))
32 MHz 外部振荡器的优点是主时钟精度非常高外部源(HSE旁路) 196
由于生产工艺和所使用的晶振不同,不同芯片的HSE振荡器频率也不同。用户可以通过写入RCC时钟HSE寄存器(RCC_HSECR)中的HSETUNE位来调整应用中的HSE频率。 197HSI16时钟 197
HSI16 时钟信号是从 16 MHz 内部振荡器生成的。
HSI16 振荡器的优点是成本较低(无需使用外部元件)。此外,其启动速度也要比 HSE 晶振快,但即使校准后,其精度也不及外部晶振或陶瓷谐振器。
HSI16时钟还可作为备份时钟源(辅助时钟)使用,以防HSE晶振发生故障 197
- MSI时钟 197
MSI时钟信号是从内部RC振荡器生成的。频率范围可通过软件使用RCC时钟控制寄存器(RCC_CR)中的MSIRANGE[3:0]位进行选择。有12个频率范围可用:100kHz、200kHz、400kHz、800kHz、1MHz、2MHz、4MHz(默认值)、8MHz、16MHz、24MHz、32MHz和48MHz。 197
在从复位重启、从关断低功耗模式唤醒后,MSI时钟被用作系统时钟。从复位重启后,MSI频率被置为其默认值4MHz。 [001](在从复位重启、从关断低功耗模式唤醒后,MSI 时钟被用作系统时钟。从复位重启后,MSI频率被置为其默认值 4 MHz。)
MSIRC振荡器的优势在于可提供一个低成本(无外部元件)低功耗的时钟源 198
此外,当和LSE一起用于PLL模式时,它可提供一个非常精确的时钟源 198
- HSI48时钟 198
HSI48时钟信号由内部48MHzRC振荡器生成,可直接用于USB和随机数发生器(真RNG) 198
内部48MHzRC振荡器主要用于通过特殊的时钟恢复系统(CRS)电路向USB外设提供高精度时钟 198
PLL 199
器件嵌入了以下PLL:PLL和PLLSAI1。每个PLL提供了多达3个独立输出。内部PLL可用来倍频HSI、HSE或MSI输出时钟频率 199LSE时钟 199
LSE晶振是32.768kHz低速外部晶振或陶瓷谐振器,可作为实时时钟(RTC)的时钟源来提供时钟/日历或其他定时功能,具有功耗低且精度高的优点 199外部源(LSE旁路) 200
LSI1时钟 200
LSI1RC可作为低功耗时钟源在停止模式和待机模式下保持运行,供独立看门狗(IWDG)、RTC、LCD和RF唤醒使用。时钟频率为32kHz 200LSI2时钟 201
LSI2RC可作为低漂移
低功耗时钟源在停止模式和待机模式下保持运行,供独立看门狗(IWDG)、RTC、LCD和RF唤醒使用。时钟频率在32kHz左右。 201系统时钟(SYSCLK)选择 201
可以使用四种不同的时钟源来驱动系统时钟 (SYSCLK):
- MSI 振荡器
- HSI16 振荡器
- HSE 振荡器
- PLLRCLK
系统复位后,选择 MSI 振荡器(为 4 MHz)作为系统时钟。 在直接使用 HSI 或者通过 PLL 使用时钟源来作为系统时钟时,该时钟源无法
停止。 只有在目标时钟源已就绪时(时钟在启动延迟或 PLL 锁相后稳定时),才可从一个时钟源切换到另一个。
从待机模式唤醒时,HSI16被选为系统时钟。 201
低功耗模式
低功耗模式介绍
默认情况下,系统复位或电源复位后,微控制器处于运行模式,并且至少有一个CPU处于执行代码的CRun模式。系统提供了多个低功耗模式,可在CPU不需要运行时(例如等待外部事件时)节省功耗。 142
各CPU具有两种低功耗模式
可在执行WFI、WFE或在使能SLEEPONEXIT时从异常处理程序返回时通过CPU进入。 142
- CSleep 模式:当 CPU 进入低功耗模式且 SLEEPDEEP 禁止时,Arm®“睡眠模式”
- CStop 模式:当 CPU 进入低功耗模式且 SLEEPDEEP 使能时,Arm®“深度睡眠模式”
器件有多种低功耗模式:
睡眠模式:CPU 时钟关闭,包括 CPU 内核外设(例如 NVIC、SysTick 等)在内的所有外设都可以运行,并在发生中断或事件时唤醒 CPU。
低功耗运行模式(LP 运行):当系统时钟频率减少到 2 MHz 以下时实现此模式。从 SRAM 或 Flash 执行代码。稳压器处于低功耗模式以最大程度降低工作电流。
低功耗睡眠模式(LP 睡眠):从低功耗运行模式进入此模式:CPU 关闭
停止 0 模式、停止 1 模式 和 停止 2 模式:保留 SRAM1、SRAM2 和所有寄存器的内容。VCORE 域中的所有时钟都停止,并禁止 PLL、MSI、HSI16 和 HSE。 LSI 和 LSE 可以保持运行。RTC 可以保持有效(带 RTC 的停止模式,不带 RTC 的停止模式)。
在停止2模式下,大多数VCORE域处于低泄漏模式。停止1提供最大数量的有效外设和唤醒源,相比停止2,其唤醒时间较短,但功耗较高。在停止0模式下,主稳压器保持开启,可实现最快的唤醒,但功耗高很多。有效外设和唤醒源与停止1模式下相同。当从停止0、停止1或停止2模式退出时,系统时钟为最高48MHz的MSI或HSI16,具体取决于软件配置。 142
待机模式
VCORE 域断电。但是,可以保留 SRAM2a 内容
VCORE 域中的所有时钟都停止,并禁止 PLL、MSI、HSI16 和 HSE。LSI 和 LSE 可以保持运行。
RTC 可以保持有效(带 RTC 的待机模式,不带 RTC 的待机模式)。
当退出待机模式时,系统时钟为 HSI16。
待机模式下可以使用BOR达到最低功耗。待机模式基于CPU深度睡眠模式,其中稳压器被禁止(保留SRAM2内容时除外)。PLL、HSI16、MSI和HSE振荡器也会关闭。 158
除备份域和待机电路中的寄存器外,SRAM1 和寄存器内容都将丢失(请参见图 7)。当PWR 控制寄存器 3 (PWR_CR3) 中的 RRS 位置 1 时,SRAM2 内容保留。在这种情况下,低功耗稳压器开启并仅为 SRAM2 供电。关断模式
VCORE 域断电。VCORE 域中的所有时钟都停止,并禁止 PLL、MSI、HSI16、LSI 和 HSE。LSE 可以保持运行。当退出关断模式时,系统时钟为 4 MHz 的 MSI。在该模式下,会禁止电源电压监测,并且电源电压下降时不能保证产品特性。1
仅当两个 CPU 均处于 CStop 模式时,才会进入停止、待机和关断模式。
可以通过减慢系统时钟和/或在APB和AHB外设未使用时对其进行时钟门控来降低运行模式下的功耗 143
系统复位后,CPU1处于CRUN模式。仅在由CPU1通过C2BOOT寄存器位使能时,CPU2才会启动。只要CPU1不启动CPU2,系统就会作为单CPU系统运行。CPU1可自行进入系统低功耗模式
,也可从系统低功耗模式唤醒。当CPU2启动时,CPU1、CPU2和无线电子系统可以自行进入系统低功耗模式以及从该模式唤醒。表23详细介绍了不同子系统的不同唤醒源。 143
低功耗模式时钟
可通过软件禁止 AHB 和 APB 外设时钟,包括 DMA 时钟。
在睡眠和低功耗睡眠模式下,CPU 时钟停止工作。在睡眠模式下,可通过软件停止存储器接口时钟(Flash、SRAM1 和 SRAM2 接口)。当连接到 AHB-APB 总线桥时钟的所有外设时钟均被禁止时,睡眠模式期间将通过硬件禁止 AHB-APB 总线桥时钟
。
在停止模式(停止0、停止1和停止2)下,将停止VCORE域中的大多数时钟,并禁止PLL、MSI和HSE振荡器。当允许从停止模式唤醒的IP(USART1、LPUART1、I2C1和I2C3)发出请求时,HSI16可以保持运行。 209
即使 MCU 处于停止模式(如果选择 HSI16 作为该外设的时钟源),所有 U(S)ART、LPUART 和 I2C 也均可使能 HSI16 振荡器
在待机和关断模式下,将停止VCORE域中的所有时钟,并禁止PLL、HSI、MSI和HSE振荡器。 209
通过将DBGMCU_CR寄存器中的DBG_SLEEP、DBG_STOP或DBG_STANDBY位置1,可以覆盖低功耗模式以进行调试
209
当退出停止模式时, 系统时钟为 MSI 或 HSI, MSI 振荡器的频率(范围和用户微调)是进入停止模式之前配置的频率。
HSI16 的用户微调将保留。
退出待机模式时,系统时钟为 HSI。
退出关断模式时,系统时钟为 MSI。从关断模式唤醒时的 MSI 频率为 4 MHz。用户微调将丢失。
如果正在执行Flash编程操作,则将延迟到Flash接口访问结束后再进入停止、待机和关断模式。如果正在访问APB域,则将延迟到APB访问结束后再进入停止、待机和关断模式。 209