AG32 MCU 如何进入低功耗模式

       默认情况下,微控制器(MCU)在系统复位或电源复位后处于运行模式。当CPU不需要持续运行时,可以使用几种低功耗模式来节省功耗。这是由用户选择的模式,给出了低功耗,短启动时间和可用的唤醒源之间的最佳妥协。

       AG32VF 系列MCU具有以下三种低功耗模式:
(1)休眠模式Sleep mode (CPU时钟关闭,包括核心外设在内的所有外设保持运行)
(2)停止模式Stop mode (所有时钟停止)
(3)待机模式Standby mode (1.2V域下电)


另外,海 振 远 建议,可以通过以下方式降低运行模式下的功耗:
(1)系统时钟变慢。
(2)在APB和AHB外设未使用时对时钟进行门控。

1. 减慢系统时钟
在运行模式下,系统时钟的速度可以降低。还会减慢外围设备的速度
进入休眠模式。

2. 外围时钟门控
在运行模式下,外设和存储器的时钟可以随时停止,以减少功耗。
为了进一步降低睡眠模式下的功耗,可以在执行WFI或WFE指令之前禁用外围时钟。

3. 睡眠模式
3.1 进入睡眠模式
      休眠模式通过执行WFI (Wait For Interrupt)或WFE (Wait For Event)指令进入。根据系统控制寄存器中的SLEEPONEXIT位,有两个选项可用于选择睡眠模式进入机制:
(1) Sleep-now:如果SLEEPONEXIT位被清除,则MCU在执行WFI或WFE指令时立即进入Sleep模式。
(2) Sleep-on-exit:如果设置了SLEEPONEXIT位,MCU一旦退出最低优先级ISR,就会进入Sleep模式。
       在休眠模式下,所有I/O引脚保持与运行模式下相同的状态。

3.2 退出睡眠模式
       如果使用WFI指令进入休眠模式,任何被嵌套的矢量中断控制器(NVIC)确认的外设中断都可以从休眠模式唤醒设备。如果使用WFE指令进入睡眠模式,则一旦发生事件,MCU就退出睡眠模式。唤醒事件可以通过以下方式生成:
(1)在外围控制寄存器中启用中断,但在NVIC中不启用中断,并在系统控制寄存器中启用SEVONPEND位。当MCU从WFE恢复时,外设中断挂起位和外设NVIC IRQ通道挂起位(在NVIC中断清除挂起寄存器中)必须被清除。
(2)或在事件模式下配置外部或内部EXTI线路。当CPU从WFE恢复时,不需要清除外设中断挂起位或NVIC IRQ通道挂起位,因为没有设置与事件行对应的挂起位。这种模式提供了最低的唤醒时间,因为没有时间浪费在中断进入/退出。

Table 1. Sleep-now

Sleep-now modeDescription
Mode entryWFI (Wait for Interrupt) or WFE (Wait for Event) while:
– SLEEPDEEP = 0 and
– SLEEPONEXIT = 0
Refer to the System Control register.
Mode exitIf WFI was used for entry:
Interrupt: Refer to : Interrupt and exception vectors
If WFE was used for entry
Wakeup event: Refer to : Wakeup event management
Wakeup latencyNone

Table 2. Sleep-on-exit

Sleep-on-exitDescription
Mode entryWFI (wait for interrupt) while:
– SLEEPDEEP = 0 and
– SLEEPONEXIT = 1
Refer to the System Control register.
Mode exitInterrupt: refer to: Interrupt and exception vectors.
Wakeup latencyNone

另外,还有stop mode 和Standby mode的设置,可以参考海振远科技提供的MCU手册,这里就不赘述了。

4. 自动唤醒(AWU)从低功耗模式
       RTC可用于从低功耗模式唤醒MCU,而不依赖于外部中断(自动唤醒模式)。RTC提供了一个可编程的时间基础,用于定期从停止或待机模式中唤醒。为此,可以通过在备份域控制寄存器中编程RTCSEL[1:0]位来选择三个备选RTC时钟源中的两个(RCC_BDCR):
(1)低功耗32.768 kHz外置晶体振荡器(LSE OSC)。
        这个时钟源提供了一个精确的时间基础,功耗非常低。
(2)低功耗内部RC振荡器(LSI RC)
      该时钟源的优点是节省了32.768 kHz晶体的成本。
 

       AGM AG32系列MCU,不仅仅是高性能MCU,还在片上集成了2KLE FPGA逻辑资源,非常适合工业控制、医疗及消费市场。芯片技术支持与芯片订购,可联系海振远科技提供支持。

AGRV2KQ32(AG32VF303KCU6) AGRV2KL48(AG32VF303CCT6)
AGRV2KL64(AG32VF407RGT6) AGRV2KL100(AG32VF103VCT6)
Description: If you order the AGRV2KQ32, we will provide the AG32VF303KCU6,because they are the same chips.
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/505725.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用docker部署es

直接安装运行es(会出现Linux系统卡死,下面有解决方案) [rootwq ~]# docker run -d --name elasticsearch -p 8020:9300 -e "discovery.typesingle-node" elasticsearch:7.6.2 Unable to find image elasticsearch:7.6.2 locally 7.6.2: Pulling from lib…

FreeRTOS学习笔记-基于STM32(1)基础知识

一、裸机与RTOS 我们使用的32板子是裸机,又称前后台系统。裸机有如下缺点: 1、实时性差。只能一步一步执行任务,比如在一个while循环中,要想执行上一个任务,就必须把下面的任务执行完,循环一遍后才能执行…

基于springboot+vue的网上服装商城

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

【JS】解构赋值注意点,解构赋值报错

报错代码 const 小明 { email: 6, pwd: 66 } const 小刚 { email: 9, pwd: 99 }const { email } 小明 const { email } 小刚 报错图 原因 2个常量重复,重复在同一个作用域内是不能重复的,例如大括号内{const a 1; const a 2} 小伙伴A提问 问&…

2024 年适用于电脑的十大录制屏幕软件

录制屏幕软件的设计和开发旨在让您的工作流程更轻松、更高效。这些漂亮的工具有助于为教育目的捕获图像快照或记录屏幕以与客户共享模型。无论您寻找桌面屏幕录像机的原因是什么,这里都有最好的付费和免费实用程序。该类别中我们最喜欢的一些选择是 奇客录屏助手和 …

关于阿里云oss的冗余存储类型问题

不得不说一个问题,阿里云服务方便我们的同时 ,他们的文档写的是真的差劲。 东一块,西一块的。非常不好系统的阅读,文档结构比较散。 关于阿里云oss的冗余存储类型问题,这里说一下,简直是个坑。 首页阿里…

【python】`assert`断言语句

assert是一个断言语句,用于在代码中检查某个条件是否为真。 如果条件为假,将触发AssertionError 异常,从而指示存在错误。

Windows11下载、安装和配置JDK(包含多个版本的JDK配置)

下载JDK17 下载地址 JDK_DOWNLOAD选择JDK17版本 安装JDK17 双击打开安装包 -> 选择下一步 -> 选择安装路径(注意不要安装在带有中文的路径下)->修改完路径后点击下一步->安装完成。 检验安装是否成功,打开cmd,输…

js中的任务处理机制

众所周知(不知道的话去查),js是以单线程的方式执行的,在执行的过程中,某一时刻上只能执行一个任务,也就是说,我们写好了代码后执行的时候,程序是根据代码从上到下依次排队执行,只有上一个任务执…

大模型理论基础(so-large-lm)课程笔记!

Datawhale干货 作者:辣条,Datawhale优秀学习者 前 言 在当前信息时代,大型语言模型(Large Language Models,LLMs)的发展速度和影响力日益显著。随着技术进步,我们见证了从基本的Transformer架构…

Android挖取原图手指触点区域RectF(并框线标记)放大到ImageView宽高与矩阵mapRadius,Kotlin

Android挖取原图手指触点区域RectF(并框线标记)放大到ImageView宽高与矩阵mapRadius,Kotlin 这里 Android挖取原图中心区域RectF(并框线标记)放大到ImageView宽高,Kotlin-CSDN博客 实现的是把原图中心区域的一片小图挖取出来放大放到下面的ImageView里面…

unity学习(44)——选择角色菜单——顺利收到服务器的数据

本节的思路参考自,内容并不相同:13ARPG网络游戏编程实践(十三):角色选择UI及创建面板制作(四)_哔哩哔哩_bilibili 现在的代码写在MessageManager.cs中,函数名UserHandler(是从OnMess…