PowerMode - 深度睡眠模式

材料准备

  • AmebaPro2 [ AMB82 MINI ] x 1
  • Optional: Push button x 1
  • Optional: Register 220 ohms x 1

范例说明

介绍

在此范例中,开发板将示范深度睡眠模式以节省电量。深度睡眠模式有 3 个唤醒源,分别是:AON 定时器、AON GPIO 和 RTC。系统将倒数计时 5 秒,然后进入深度睡眠电源模式。当唤醒源被触发时,系统将重新启动并再次唤醒。

下面两个表列出了深度睡眠模式下的模块和电路板功耗报告。

RTL8735B 模块功耗结果

唤醒源模块功耗 (uA)
深度睡眠模式 (3V3)
AON timer32.78
AON GPIO40.98
RTC41.08

AMB82 MINI 开发板功耗

唤醒源开发板功耗测量 (mA)
一般模式深度睡眠模式
AON timer53.014.59
AON GPIO52.974.74
RTC53.054.65

流程

在 “File” -> “Examples” -> “AmebaPowerMode” -> “DeepSleepMode” 中打开范例。

1

接下来是设置系统并进入电源模式。请参考以下步骤进入深度睡眠模式。
步骤 1. 设置“WAKEUP_SOURCE”,AON定时器:0; AON GPIO: 1; RTC:2。
步骤 2. 设置唤醒源。有 3 个唤醒源,每个都有自己的设置。
对于 AON 计时器,在“#if (WAKEUP_SOURCE == 0)”部分,设置“CLOCK”和“SLEEP_DURATION”。 “CLOCK”可以是 4MHz 或 100kHz。 “SLEEP_DURATION”单位是秒。
对于 AON GPIO,在“#elif (WAKEUP_SOURCE == 1)”部分,设置“WAKUPE_SETTING”。本范例中的“WAKUPE_SETTING”是Pin,可以是21或22。 GPIO引脚设置为高准位触发,请参考以下连接。

1

对于 RTC,在“#elif (WAKEUP_SOURCE == 2)”部分,设置“ALARM_DAY”、“ALARM_HOUR”、“ALARM_MIN”或“ALARM_SEC”。所有数值都设置了 RTC 唤醒的持续时间。范围是“1day, 0h, 0m, 0s”到“365day, 23h, 59min, 59s”。
步骤 3. 启动深度睡眠模式。此步骤只有 1 个可选设置。当唤醒源设置为 RTC 时,使用“PowerMode.start(1970, 1, 1, 0, 0, 0);” 来替换“PowerMode.start();”。 (默认为 1970.1.1 00:00:00)。

1

所有定时器将在持续时间结束时自动唤醒,所有 GPIO 引脚必须按下按钮来高准位触发。
正确的开机、进入深度睡眠、重启周期如下图。

1

请先确认已安装QQ通讯软体