STM32G4系列MCU的低功耗模式介绍

news/2024/10/21 6:46:39/

目录

概述

1 认识低功耗模式

1.1 低功耗模式的应用

1.2 低功耗模式介绍

2 低功耗模式的状态关系

2.1 低功耗模式可能的转换状态图

2.2 低功耗模式总结

3 运行模式

3.1 减慢系统时钟

3.2 外围时钟门控

3.3 低功耗运行模式(LP运行)


概述

本文主要介绍STM32G4系列MCU的低功耗模式的相关内容,包括低功耗的运行状态机,时钟关系,运行模块等内容。

1 认识低功耗模式

1.1 低功耗模式的应用

默认情况下,微控制器在系统复位或电源复位后处于运行模式。当CPU不需要保持运行时,例如等待外部事件时,可以使用几种 低功耗模式来节省电源。这是由用户选择 模式,给出了低功耗,短启动时间 和可用的唤醒源之间的最佳折衷。

1.2 低功耗模式介绍

该设备具有7种低功耗模式:

1)休眠模式:

CPU时钟关闭,所有外设包括Cortex®-M4与FPU核心外设,如NVIC, SysTick等可以运行,并在中断或事件发生时唤醒CPU。

2)低功耗运行模式:

当CPU时钟频率降低到2mhz以下时,支持该模式。代码从SRAM或闪存执行。稳压器处于低功率模式,以最小化稳压器的工作电流。

3)低功耗睡眠模式:

从低功耗运行模式进入:Cortex®-M4 带FPU关机

4)停止0和停止1模式:

SRAM和所有寄存器内容保留。所有的时钟都在停止VCORE域,禁用PLL、HSI16和HSE。LSI和LSE可以保持运行。

RTC和stamp可以保持活动状态(有RTC的停止模式,没有RTC的停止模式)。一些具有唤醒能力的外设可以在Stop 模式期间启用HSI16 RC来检测它们的唤醒状态。

在停止0模式下:

主调节器保持ON,这允许最快的唤醒时间 但消耗更高。活动外设和唤醒源与停止1模式下的 相同。

当从停止0或停止1模式退出时:

系统时钟为HSI16时钟。如果将设备配置为在低功耗运行模式下唤醒,则必须在进入停止模式之前配置RCC_CFGR 寄存器中的HPRE位,以提供不大于2Hz 的频率。

5)Standby模式:

表示VCORE域处于下电状态。然而,它是有可能保存的 SRAM内容:

1) 当位RRS在PWR_CR3寄存器中设置时,具有SRAM2保留的备用模式。在这种情况下,SRAM2由低功耗稳压器提供。

2) 当PWR_CR3寄存器中的位RRS被清除时,进入待机模式。在这种情况下,主稳压器和低功率稳压器断电。

VCORE域中的所有时钟都停止,锁相环、HSI16和HSE振荡器 被禁用。LSI和LSE可以保持运行。 RTC可以保持激活状态(有RTC的备用模式,没有RTC的备用模式)。当退出Standby模式时,系统时钟为HSI16振荡时钟。

6)关机模式:

表示VCORE域下电。VCORE域中所有时钟停止,PLL、HSI16、LSI和HSE关闭。伦敦证交所可以继续运转。退出Shutdown模式时,系统时钟为HSI16振荡时钟。 在这种模式下,电源电压监测功能被关闭,当电源电压下降时,产品的行为不能得到保证。

另外,运行模式下的功耗可以通过以下 方式降低:

1) 减慢系统时钟

2) 当APB和AHB外设未使用时,对时钟进行门控。

2 低功耗模式的状态关系

2.1 低功耗模式可能的转换状态图

2.2 低功耗模式总结

3 运行模式

3.1 减慢系统时钟

在运行模式下,系统时钟(SYSCLK, HCLK, PCLK)的速度可以通过 编程预分频寄存器来降低。这些预缩放器也可用于在进入睡眠模式之前减慢 外设的速度。

3.2 外围时钟门控

在运行模式下,单个外设和存储器的HCLK和PCLK可以随时停止 以降低功耗。 为了进一步降低睡眠模式下的功耗,可以在执行WFI或WFE指令之前 禁用外围时钟。 外围时钟门控由RCC_AHBxENR和RCC_APBxENR 寄存器控制。 通过重置 RCC_AHBxSMENR和RCC_APBxSMENR寄存器中的相应位,可以自动执行休眠模式下禁用外设时钟。

3.3 低功耗运行模式(LP运行)

为了进一步降低系统在运行模式下的功耗,可以将稳压器配置为 低功耗模式。在此模式下,CPU主频不能超过2M Hz。 有关稳压器和外设的详细信息请参阅产品数据表 工作条件。


http://www.ppmy.cn/news/1540722.html

相关文章

在掌控板上搭建http服务器

在掌控板上搭建http服务器 打开Arduino IDE&#xff0c;并且已经添加了ESP32的支持库。以下是创建一个基本HTTP服务器的步骤&#xff1a; 包含必要的库&#xff1a; #include <WiFi.h> #include <WebServer.h>配置WiFi&#xff1a; 替换ssid和password为你的WiFi网…

【02】RabbitMQ客户端应用开发实战

1、RabbitMQ基础编程模型 RabbitMQ提供了很多种主流编程语言的客户端支持&#xff0c;这里只分析Java语言的客户端。在上一章节提供了一个简单的RabbitMQ的客户端的实现&#xff0c;下面就以此为基础&#xff0c;了解RabbitMQ客户端开发的基础流程。 1.1 Maven依赖 amqp是一种…

设备ESD防静电监控仪助力自动化产线设备稳定运行

在现代自动化生产线中&#xff0c;设备的稳定运行至关重要。而静电放电&#xff08;ESD&#xff09;常常是导致这些问题的隐患之一。许多企业在生产管理中面临着设备接地状况不明、漏电检测困难、人工点检耗时巨大的难题。这些问题不仅影响生产效率&#xff0c;更可能造成潜在的…

华为OD机试2024年真题(基站维修工程师)

基站维修工程师&#xff08;200分&#xff09; 小王是一名基站维护工程师&#xff0c;负责某区域的基站维护。 某地方有n个基站(1<n<10)&#xff0c;已知各基站之间的距离s(0<s<500)&#xff0c;并且基站x到基站y的距离&#xff0c;与基站y到基站x的距离并不一定会…

Git推送被拒

今天开发完成一个新的需求&#xff0c;将自己的分支合并到test分支后&#xff0c;推送到远程仓库&#xff0c;结果显示推送被拒&#xff1a; 原因是因为有人更新了test分支的代码&#xff0c;我在合并之前没有拉取最新的test分支代码&#xff0c;所以他提示我“推送前需要合并…

java计算机毕设课设—飞机大战游戏(附源码、文章、相关截图、部署视频)

这是什么系统&#xff1f; 资源获取方式再最下方 java计算机毕设课设—飞机大战游戏(附源码、文章、相关截图、部署视频) 基于Java的飞机大战游戏是一款经典的射击类游戏&#xff0c;主要包含我方飞机、敌方飞机、子弹、特殊NPC、开始背景、结束背景以及背景音乐等元素。我方…

LabVIEW提高开发效率技巧----VI继承与重载

在LabVIEW开发中&#xff0c;继承和重载是面向对象编程&#xff08;OOP&#xff09;中的重要概念。通过合理运用继承与重载&#xff0c;不仅能提高代码的复用性和灵活性&#xff0c;还能减少开发时间和维护成本。下面从多个角度介绍如何在LabVIEW中使用继承和重载&#xff0c;并…

analysis-ik分词器

analysis-ik分词器 1、安装离线在线 2、使用配置拓展词典 3、测试ik_smartik_max_word 1、安装 离线 使用离线安装下载地址https://release.infinilabs.com/analysis-ik/stable/找到对应es版本的ik分词器、下载zip后放到/elasticsearch/plugins/ik文件夹下。重启es即可生效 …