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通訊軟體