本文主要是介绍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 mode | Description |
Mode entry | WFI (Wait for Interrupt) or WFE (Wait for Event) while: – SLEEPDEEP = 0 and – SLEEPONEXIT = 0 Refer to the System Control register. |
Mode exit | If 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 latency | None |
Table 2. Sleep-on-exit
Sleep-on-exit | Description |
Mode entry | WFI (wait for interrupt) while: – SLEEPDEEP = 0 and – SLEEPONEXIT = 1 Refer to the System Control register. |
Mode exit | Interrupt: refer to: Interrupt and exception vectors. |
Wakeup latency | None |
另外,还有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.
这篇关于AG32 MCU 如何进入低功耗模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!