PowerMode - 待机模式

材料准备

  • AmebaPro2 [ AMB82 MINI ] x 1
  • Optional: Push button x 1
  • Optional: Register 220 ohms x 1
  • Optional: USB to ttl serial cable x 1

范例说明

介绍

在此范例中,开发板将示范待机模式以节省电量。有 6 个唤醒源 系统将倒计时 5 秒,然后进入待机模式。当唤醒源被触发时,系统将重新启动并再次唤醒。

下面两个表列出了待机模式下的模块和电路板功耗报告。

RTL8735B 模块功耗结果

唤醒源模块功耗 (uA)
待机模式 (3V3)
AON timer41.22
AON GPIO41.28
RTC41.46
PON GPIO41.07
UART/Serial141.32
Gtimer041.48

AMB82 MINI 开发板功耗测量

唤醒源开发板耗电量测量值 (mA)
一般模式待机模式
AON timer53.154.79
AON GPIO53.124.81
RTC53.114.75
PON GPIO55.094.87
UART/Serial155.614.79
Gtimer055.594.83

流程

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

1

接下来是设置系统并进入电源模式。请参考以下步骤进入待机模式。
步骤 1. 设置“WAKEUP_SOURCE”,AON定时器:0; AON GPIO: 1; RTC:2,PON GPIO:3,UART/Serial1:4,Gtimer0:5。
步骤 2. 设置唤醒源。有 6 个唤醒源,每个都有自己的设置。
对于 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”。
对于 PON GPIO,在“#elif (WAKEUP_SOURCE == 3)”部分,设置“WAKUPE_SETTING”。范例中的“WAKUPE_SETTING”是Pin,可以是0到11。 GPIO引脚设置为高准位触发,请参考下面的连接。

1

对于 UART/Serial1,无需设置。但是USB 到 ttl serial cable Tx(绿色)和 Rx(白色)引脚需要连接到 Serial1 Rx 和 Tx 引脚。请参考以下连接。 (红色电源5V/3.3V,黑色接地)

1

对于 Gtimer0,在“#elif (WAKEUP_SOURCE == 5)”部分,设置“SLEEP_DURATION”。 “SLEEP_DURATION”是以秒为单位的定时器睡眠持续时间。
步骤 3. 启动待机模式。此步骤只有 1 个可选设置。当唤醒源设置为 RTC 时,使用“PowerMode.start(1970, 1, 1, 0, 0, 0);” 替换“PowerMode.start();” 用于设置开始时间。 (默认为 1970.1.1 00:00:00)。

1

所有定时器将在持续时间结束时自动唤醒,所有 GPIO 引脚必须按下按钮来高准位触发,UART 需要通过 USB-ttl cable 通过 Serial1 提供输入。
正确的开机、进入Standby、重启周期如下图。

1

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