>

STM32的电源管理与低功耗控制设计

- 编辑:宜春市空间模块有限公司 -

STM32的电源管理与低功耗控制设计

  进行写操作(见“系统控制寄存器”)可以控制Cortex-M3系统功耗的状态,表7-1列出了支持的睡眠模式。

  a.即使没有异常被激活也可以执行WFI指令。不要使用WFI指令来探测异常是否发生。WFI通常使用

  在线程模式下的空闲循环中。要了解更多有关WFI、WFE、BASEPRI以及PRIMASK的信息,请参考

  SLEEPING该信号在立即睡眠或“退出时睡眠”模式下有效,表示处理器时钟可以停

  止运行。在接收到一个新的中断后,NVIC会使该信号变无效,使内核退出睡眠。有关

  SLEEPDEEP当系统控制寄存器的SLEEPDEEP位置位时,该信号在立即睡眠或“退

  出时睡眠”模式下有效。该信号被传送给时钟管理器,并可以用来门控处理器和包含相环

  (PLL)的系统元件以节省功耗。在接收到新的中断时,嵌套向量中断控制器(NVIC)将

  SLEEPDEEP信号变无效,并在时钟管理器显示时钟稳定时让内核退出睡眠。有关

  图7-1给出了如何在低功耗状态利用SLEEPING来门控处理器的HCLK时钟以减少功

  为了探测中断,处理器必须一直接收自由振荡的FCLK。FCLK用于对以下元件计时:

  B)DWT和ITM模块。这些模块被使能相应功能后可以在睡眠期间产生跟踪包。如果

  “调试异常与监控寄存器”的TRCENA位使能,那些模块的功耗将会降低。见“调

  图7-2给出了如何在低功耗状态利用SLEEPDEEP来停止时钟控制器以进一步减少功耗

  的实例。退出低功耗状态时,LOCK信号指示PLL稳定,并且此时使能Cortex-M3时钟是

  为了检测中断,处理器在低功耗状态下必须接收自由振荡的FCLK。在SLEEPDEEP有效期

  STM32的工作电压(VDD)为2.0~3.6V。通过内置的电压调节器提供所需的1.8V电源。 当主电源VDD掉电后,通过VBAT脚为实时时钟(RTC)和备份寄存器提供电源。

  4.1.2电池备份区域使用电池或其他电源连接到VBAT脚上,当VDD断电时,可以保存备份寄存器的内容和维持RTC的功能。VBAT脚也为RTC、LSE振荡器和PC13至PC15供电,这保证当主要电源被切断时RTC能继续工作。切换到VBAT供电由复位模块中的掉电复位功能控制。 如果应用中没有使用外部电池,VBAT必须连接到VDD引脚上。

  如果在应用中没有外部电池,建议VBAT在外部通过一个100nF的陶瓷电容与VDD相连

  复位后调节器总是使能的。根据应用方式它以3种不同的模式工作。 ● 运转模式:调节器以正常功耗模式提供1.8V电源(内核,内存和外设)。

  ● 停止模式:调节器以低功耗模式提供1.8V电源,以保存寄存器和SRAM的内容。

  ● 待机模式:调节器停止供电。除了备用电路和备份域外,寄存器和SRAM的内容全部丢失。

  在系统或电源复位以后,微控制器处于运行状态。当CPU不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。STM32F10xxx有三种低功耗模式:

  ● 睡眠模式(Cortex?-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC、系统时钟(SysTick)等仍在运行)

  在运行模式下,通过对预分频寄存器进行编程,可以降低任意一个系统时钟(SYSCLK、HCLK、PCLK1、PCLK2)的速度。进入睡眠模式前,也可以利用预分频器来降低外设的时钟。详见第6.3.2节:时钟配置寄存器(RCC_CFGR)。

  在运行模式下,任何时候都可以通过停止为外设和内存提供时钟(HCLK和PCLKx)来减少功耗。 为了在睡眠模式下更多地减少功耗,可在执行WFI或WFE指令前关闭所有外设的时钟。 通过设置AHB外设时钟使能寄存器(RCC_AHBENR)、APB2外设时钟使能寄存器(RCC_APB2ENR)和APB1外设时钟使能寄存器(RCC_APB1ENR)来开关各个外设模块的时钟。

  停止模式是在Cortex?-M3的深睡眠模式基础上结合了外设的时钟控制机制,在停止模式下电压调节器可运行在正常或低功耗模式。此时在1.8V供电区域的的所有时钟都被停止,PLL、HSI和HSE RC振荡器的功能被禁止,SRAM和寄存器内容被保留下来。在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态。进入停止模式关于如何进入停止模式,详见表11。在停止模式下,通过设置电源控制寄存器(PWR_CR)的LPDS位使内部调节器进入低功耗模式,能够降低更多的功耗。 如果正在进行闪存编程,直到对内存访问完成,系统才进入停止模式。 如果正在进行对APB的访问,直到对APB访问完成,系统才进入停止模式。 可以通过对独立的控制位进行编程,可选择以下功能:

  ●独立看门狗(IWDG):可通过写入看门狗的键寄存器或硬件选择来启动IWDG。系统模块结构图一旦启动了独立看门狗,除了系统复位,它不能再被停止。详见17.3节。

  ●实时时钟(RTC):通过备份域控制寄存器(RCC_BDCR)的RTCEN位来设置。

  ●内部RC振荡器(LSI RC):通过控制/状态寄存器(RCC_CSR)的LSION位来设置。

  ●外部32.768kHz振荡器(LSE):通过备份域控制寄存器(RCC_BDCR)的LSEON位设置。

  在停止模式下,如果在进入该模式前ADCDAC没有被关闭,那么这些外设仍然消耗电流。通过设置寄存器ADC_CR2的ADON位和寄存器DAC_CR的ENx位为0可关闭这2个外设。退出停止模式关于如何退出停止模式,详见下表。当一个中断或唤醒事件导致退出停止模式时,HSI RC振荡器被选为系统时钟。当电压调节器处于低功耗模式下,当系统从停止模式退出时,将会有一段额外的启动延时。如果在停止模式期间保持内部调节器开启,则退出启动时间会缩短,但相应的功耗会增加。

  待机模式可实现系统的最低功耗。该模式是在Cortex-M3深睡眠模式时关闭电压调节器。整个1.8V供电区域被断电。PLL、HSI和HSE振荡器也被断电。SRAM和寄存器内容丢失。只有备份的寄存器和待机电路维持供电。

  关于如何进入待机模式,详见表12。 可以通过设置独立的控制位,选择以下待机模式的功能:

  ● 独立看门狗(IWDG):可通过写入看门狗的键寄存器或硬件选择来启动IWDG。一旦启动了独立看门狗,除了系统复位,它不能再被停止。

  ● 实时时钟(RTC):通过备用区域控制寄存器(RCC_BDCR)的RTCEN位来设置。

  ● 内部RC振荡器(LSI RC):通过控制/状态寄存器(RCC_CSR)的LSION位来设置。

  ● 外部32.768kHz振荡器(LSE):通过备用区域控制寄存器(RCC_BDCR)的LSEON位设置。 退出待机模式。

  当一个外部复位(NRST引脚)、IWDG复位、WKUP引脚上的上升沿或RTC闹钟事件的上升沿发生时,微控制器从待机模式退出。从待机唤醒后,除了电源控制/状态寄存器(PWR_CSR)(见第4.4.2节),所有寄存器被复位。

  这里有你想知道的新知识,通过本次直播,我们可以了解到:1、锂离子电池有哪些关键特性?2、怎样更全面地了解锂离子电池的知识

  void TIM3_Int_Init(u16 arr,u16 psc) { TIM_TimeBaseInitTypeDef TIM_TimeBase...

  我在网上看了一段代码实现长按单击双击,我觉得不能实现,求大神看下我对不对

  unsigned char scan_key() { /* 值key_return如下: 1---------单击 &...

  我在网上看了一段实现长按,单击,双击,我看了好像不能实现,求大神看一下我认为对不对

  #include #include int main() { printf(Hello world!\n); return 0; } ...

  哪位大神可以提供一个库函数版打印ADC的代码,初学者不会使用串口输出数据 ...

  从事MCU单片机方案的开发多年,包括51核ARM核,各种应用:1.通信基站环境控制箱控制板; 2. ....

  哪位好友有STM32F103原理图,给我传一下,最好输入与AC220有关,输出控制继电器……[email][/em...

  一、资料包含si4438例程 二、提供技术支持 三、有技术问题可以直接来电 ...

  为了提搞系统的可靠性,STM32F4系列MCU有一个独立看门狗(IWDG)和一个窗口看门狗(WWDG)。今天做的实...

  1,main函数里,stm32的串口初始化和pwm初始化位置问题。串口初始化直接放pwm初始化前面,影响pwm使之无波形输出。中...

  PanGu Board开发板是西安湃兔核科技基于STM32MP1系列处理器设计的SoC开发板,提供了HDMI、以太网、LC...

  戴森,一家来自于英国的传奇性家电产品公司。之所以说他传奇,是因为他们的产品开始时在英国是卖不掉的,...

  打开 Env 工具,在 Env 命令行中输入 menuconfig,进入配置界面,使用 menuco....

  先看看芯片内部RAM情况。目前使用的芯片是STM32F746NG,查看其数据手册可知其内部系统RAM....

  考虑到许多基于ARM的微型计算机都内置了DAC模块,因此Mikroelektronika还将易于使....

  意法半导体提供能够满足很多这些来源要求的不同电源管理设备。作为典型应用,我们将以一个光伏捕获系统为例....

  要使用JTAG方式下载程序,不管是使用J-LINK、ULINK、ST-LINK,只需要把单片机上相应....

  多源数据采集板卡主要由 STM32 核心电路、2 路 CAN 总线....

  据悉,除了华为自研芯片外,还有少部分芯片来自美国,比如德州仪器的晶元、高通的射频前端模块、美国凌云的....

  1、睡眠模式(Cortex?-M3内核停止,所有外设包括Cortex-M3核心的外设,如NVIC、系....

  stm32的外设地址从0x4000 0000开始,可以看到在库文件中,是通过基于0x4000 000....

  有些人一直在用手机快速充电的功能,但不明白,手机的快速充电功能,是充电头还是充电线起到了最重要的作用....

  iPhone手机如果无法开机该怎么办?下面北京苹果维修中心为大家带来几个解决手机无法开机的办法,如果....

  μClinux最大特点在于针对无MMU处理器设计,这对于没有MMU功能的STM32F103来说是合适....

  TIM3的更新时间控制两个SPI的收发节奏,即定时器每产生一次更新事件,SPI1/SPI2这两个主从....

  这里使用STM32F302_Nucleo板来实现之。使用STM32常规定时器中的高级定时器TIM1来....

  第一种,将相关PWM输出的GPIO口的复用功能取消,对其进行GPIO的高低控制。这种方法简单可行,有....

  当然。可以说STM32cubeIde已经将stm32CubeMx作为一个模块嵌入其开发环境中了。我们....

  Qorvo并不满足于凭借射频核心优势打下的江山,正在持续扩展其产品组合,使其应用更加无处不在,为Io....

本文由新闻动态发布,转载请注明来源:STM32的电源管理与低功耗控制设计