STM32 电源控制PWR

一、PWR电源控制

1.1 PWR(Power Control

PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器低功耗模式的功能

可编程电压监测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阀值以下或上升到PVD阀值之上时,PVD会触发中断,用于执行紧急关闭任务

低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)和待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备使用时间

在三种低功耗模式下,第二次下载程序方法:长按复位键,之后点击下载按钮,及时松开复位键

1.2 电源框图

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

VDDA(VDD Analog,模拟部分供电):A/D转换器(参考电压VREF)、温度传感器、复位模块、PLL(锁相环)

VDD(数字电路供电):I/O电路(待机电路、电压调节器)

VBAT(备份区域供电):LSE、后被寄存器BSK、RCC BDCR寄存器(备份域控制寄存器)、RTC

电压调节器:为1.8V区域供电

复位后调节器总是使能的。根据应用方式它以 3 种不同的模式工作。
● 运转模式:调节器以正常功耗模式提供 1.8V 电源 ( 内核,内存和外设 )
● 停止模式:调节器以低功耗模式提供 1.8V 电源,以保存寄存器和 SRAM 的内容。
● 待机模式:调节器停止供电。除了备用电路和备份域外,寄存器和 SRAM 的内容全部丢失。

低电压检测器:VDD有电时由VDD为后备区域供电,VDD没电时由VBAT为后备区域供电

1.3 上电复位和掉电复位

上电复位和掉电复位:VDD/VDDA低于指定的限位电压VPOR/VPDR时,系统保持为复位(低电平有效)状态,不需外部复位电路

1.4 可编程电压监测器PVD

功能:用于执行紧急关闭任务

使用方法:寄存器 (PWR_CR) 中的 PLS[2:0] 位进行比较来监控电源,这几位选择监控电压的阀值。
通过设置 PVDE 位来使能 PVD
寄存器 (PWR_CSR) 中的 PVDO 标志用来表明 V DD 是高于还是低于 PVD 的电压阀值。
当V DD 下降到 PVD 阀值以下和 ( ) V DD 上升到 PVD 阀值之上时,根据外部中断第16 线的上升 / 下降边沿触发设置,就会产生 PVD 中断。

二、低功耗模式

CPU 不需继续运行时,可以利用多种低功耗模式来节省功耗,例如长时间等待某个外部事件
STM32F103C8T6 三种低功耗模式:
● 睡眠模式 (Cortex-M3 内核停止,所有外设包括 Cortex-M3 核心的外设,如 NVIC 、系统时
(SysTick) 等仍在运行 )
● 停止模式 ( 所有的时钟都已停止 )
● 待机模式 (1.8V 电源(电压调节器)关闭 )
此外,在运行模式下,可以通过以下方式中的一种降低功耗:
● 降低系统时钟((SYSCLK)(SystemInit():首先开启HSI,恢复寄存器的缺省配置,之后根据不同的宏,配置相关寄存器,得到既定的时钟频率
● 关闭 APB AHB总线上未被使用的外设时钟(HCLK:AHB的时钟、 PCLK1 PCLK2:APB的时钟)
WFI:Wait For Interrupt等待中断,一般醒来之后处理中断
WFE:Wait For Event等待事件,直接从睡得地方继续运行
低功耗模式判断:配置响应寄存器后,通过调用__WFI()或__WFE()后,进入低功耗模式
SLEEPDEEP和SLEEPONEXIT位于系统内核,只能操作相关寄存器,没有相关函数
PDDS和LPDS位于PWR外设,可以使用相关库函数

2.1 睡眠模式

进入:通过执行 WFI WFE 指令进入睡眠状态
退出:
如果执行 WFI 指令进入睡眠模式,任意一个被嵌套向量中断控制器响应的外设中断都能将系统从
睡眠模式唤醒。
如果执行 WFE 指令进入睡眠模式,则一旦发生唤醒事件时,微处理器都将从睡眠模式退出。唤
醒事件可以通过下述方式产生:

2.2 停止模式

在停止模式下,通过设置电源控制寄存器 (PWR_CR) LPDS 位使内部调节器进入低功耗模式,
能够降低更多的功耗。
如果正在进行闪存编程,直到对内存访问完成,系统才进入停止模式。
如果正在进行对 APB 的访问,直到对 APB 访问完成,系统才进入停止模式
程序默认时钟是HSE通过PLL得到72MHz, 当退出停止模式后,HSI作为系统时钟。为了避免前后时钟频率不一致 ,在进入停止模式的指令后,调用SystemInit()
可选择的其他功能

2.3 待机模式

2.4 低功耗模式下的自动唤醒(AWU)

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: STM32是意法半导体推出的一系列32位微控制器产品,sys.h是其系统头文件之一,用于定义系统级别的函数、宏和变量。 在进行STM32开发时,我们需要下载sys.h头文件并添加到工程中。 首先,我们需要到意法半导体官方网站或其他可靠资源网站下载STM32的软件开发工具包(如STM32CubeMX、STM32CubeIDE等)。这个软件开发工具包中包含了完整的STM32开发环境和相应的例程。 在软件开发工具包中,通常会自带sys.h头文件,也可以从对应的库文件中找到该头文件。 将sys.h头文件复制到自己的工程目录中的合适位置,通常是放在工程文件夹的Inc目录下。 在工程的源文件(通常是.c文件)中,通过#include指令引入sys.h头文件。例如,在main.c文件中,可以使用以下代码引入sys.h头文件: #include "sys.h" 下载并引入sys.h头文件后,我们就可以在代码中使用其中定义的函数、宏和变量了。例如,可以使用其中的宏定义来配置系统时钟,也可以使用其中的函数来配置中断或其他系统级别的操作。 总之,STM32的sys.h头文件是STM32开发中的一个重要组成部分,通过下载并引入该头文件,我们可以方便地访问其中定义的系统级别函数、宏和变量,进行系统级别的配置和操作。 ### 回答2: STM32的sys.h是一个头文件,主要用于定义STM32系列微控制器的一些系统和寄存器操作的宏和函数。sys.h文件中包含了一些宏定义,用于配置系统的时钟源和频率,以及一些系统相关的设置。在编写STM32的嵌入式软件时,可以包含sys.h头文件来方便地使用其中定义的宏和函数。通过这些定义,我们可以方便地控制和配置STM32的系统时钟、外设时钟和中断等。 为了使用sys.h头文件,我们需要先在工程中引入这个头文件,然后根据需要使用其中的宏和函数。通常情况下,我们可以在代码的开头使用以下代码来引入sys.h头文件: #include "stm32f10x.h" #include "sys.h" 在sys.h头文件中,我们可以找到例如以下这些常用的宏和函数的定义: - RCC和GPIO相关的定义和函数,用于配置和控制系统时钟和GPIO引脚。 - NVIC和中断相关的定义和函数,用于配置和控制外部和内部中断。 - NVIC和SCB相关的定义和函数,用于配置和控制系统的异常和异常处理。 - PWR相关的定义和函数,用于配置和控制电源管理。 - DMA相关的定义和函数,用于配置和控制直接存储器访问。 - SYSCLK和AHB/APB时钟相关的定义和函数,用于配置和控制系统时钟频率。 总的来说,sys.h头文件是STM32控制器的系统级别头文件,提供了一系列用于配置和控制系统的宏和函数。通过引入sys.h头文件,我们可以方便地进行STM32的系统级别的设置和操作,从而更好地开发STM32嵌入式应用。 ### 回答3: STM32的sys.h文件是在STM32片上系统中使用的头文件之一。它包含了有关系统时钟和外设模块的配置信息和函数定义。 首先,我们需要知道sys.h文件是由STM32提供的标准外设库(Standard Peripheral Library,也称为SPL)中的一个文件。SPL库是由STMicroelectronics提供的,用于简化STM32系列微控制器的外设模块和系统功能的配置和编程。 要下载sys.h文件,我们可以在STMicroelectronics的官方网站上找到SPL库的下载链接。在官方网站的支持页面中,我们可以找到与我们使用的具体STM32型号相对应的SPL库。 下载完成后,我们将得到一个zip压缩文件。我们需要解压缩这个文件,然后在解压缩的文件夹中找到sys.h文件。 找到sys.h文件后,我们可以将它复制到我们的工程项目中的合适位置。然后我们需要在我们的代码中引入这个头文件。 在代码中包含sys.h文件后,我们可以使用其中定义的函数和宏来配置和控制系统时钟和外设模块。这些函数和宏提供了一些方便的接口,使得我们可以轻松地配置系统的时钟源、时钟分频系数以及各个外设模块的初始化和控制。 总而言之,下载STM32的sys.h文件需要从STMicroelectronics的官方网站找到并下载到我们的项目中。然后,我们可以使用其中定义的函数和宏来进行系统时钟和外设模块的配置和控制

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值