Power Save - 省电深度睡眠模式

材料准备

  • AmebaD [AMB21 / AMB22 / AMB23 / BW16] x 1

范例准备

介绍

Ameba-D支持两种低功耗模式,分别是深度睡眠模式和睡眠模式。 DeepSleep模式的耗电约为7μA至8μA,而正常状态下约为22mA。本范例说明如何进入深度睡眠模式和配置唤醒源。

流程

Open “File” “Examples” “AmebaPowerSave” “DeepSleepMode”

../../../../_images/image160.png

Set condition values as picture below. “DS_WAKEUP_SOURCE” is used to set the wake-up source, user can chose 3 wake up sources now,

AON Timer(SET_DS_AON_TIMER_WAKEUP);
AON GPIO pins(SET_AONWAKEPIN_WAKEUP);
RTC Timer(SET_DS_RTC_WAKEUP);

使用 AON 定时器作为唤醒源

可以通过 AON_TIMER_SLEEP_DURATION 在0到32760000毫秒之间设置AON计时器

使用 AON GPIO 引脚作为唤醒源

对于AMB21,有5个引脚可以设置为AON引脚和上缘触发,GPIOA25(D16)、GPIOA26(D17)、GPIOA21(D26)、GPIOA20(D27)、GPIOA(D28)。

../../../../_images/image257.png

对于AMB23,有8个引脚可以设置为AON引脚和上缘触发,GPIOA12(D9), GPIOA13(D10), GPIOA14(D11), GPIOA15(D12), GPIOA16(D13), GPIOA18(D15), GPIOA19(D16)、GPIOA21(D18)。

../../../../_images/image338.png

For BW16 and BW16-TypeC, there is only 6 pins that can be set as AON pin and active high for wakeup, GPIOA_25 (D7), GPIOA_26 (D8), GPIOA_15 (D9), GPIOA_14 (D10), GPIOA_13 (D11), GPIOA_12 (D12).

../../../../_images/image429.png ../../../../_images/image521.png

这些 AON 引脚可以使用 SET_AON_GPIO_WAKEUP_GPIOA25 或您想使用的引脚进行设置,如下图所示。

../../../../_images/image611.png

使用 RTC 定时器作为唤醒源

RTC定时器通过设置闹钟唤醒系统。闹钟具有4个值,日,时,分和秒。可以通过 DS_RTC_ALARM_DAYDS_RTC_ALARM_HOURDS_RTC_ALARM_MINDS_RTC_ALARM_SEC 设置所有4个值。

../../../../_images/image79.png

完成条件值设置后,系统将运行并在唤醒源控制的正常和深度睡眠模式之间切换。 Serial Monitor显示切换日志。

AON 定时器

../../../../_images/image87.png

AON GPIO 引脚

../../../../_images/image94.png

RTC 定时器

../../../../_images/image104.png

程式码说明

请参考 API Documents  相关的说明。