【NXP i.MX RT1170 技術手冊】- Low Power Mode_ Configure wake up pin and measure power consumption

一.介紹

透過 evkmimxrt1170_power_mode_switch_bm_core0 範例確認 RT1170 在低功率模式下消耗的電流。

二.環境

1.MCUXpresso

用途說明 : 開發環境,本文使用版本 11.3.0_5222。

2.SDK

用途說明 : 驅動及範例,本文使用版本SDK_2.9.2_MIMXRT1170-EVK。   

3.RT1170 開發版

用途說明 : 功能驗證。 

4.Micro USB Cable

用途說明 : 提供程式燒錄與Debug。

 

三.範例配置

透過 SDK 選擇 evkmimxrt1170_power_mode_switch_bm_core0 配置並順帶說明如何配置 GPIO 做為 Wake up Pin

1.在 Import SDK Example 中選擇 power mode switch bm,由於此範例會同時運作在 M7 及 M4 故兩個專案 core0 及 core1 都需要 Import。

圖 3.1. 

 

2.在專案 core0 中點選 MCUXpresso Config Tools à Open Pins

圖 3.2. 

3.點選 D9 配置為 gpio_mux5_io11。

圖 3.3. 


4.在 Routing Details for BOARD_IniPins 中設定 D9 如下

l Direction : Input

l GPIO Interrupt : Falling Edge

l Pull up/down Config : Pull Up

l Pull/Keeper Select : Keeper

圖 3.4. 

 

5.完成後點選 Update Code 後,會跳出將要更新的檔案,如要確認變更那些,可點擊 change 確認 Config Tools 更新哪些部分,在此本文點選 OK 進行下一步。

圖 3.5. 

 

  1. 開啟source à power_mode_switch_core0.c 中在第 133 行新增下列程式,此程式主要在處理設定的 GPIO 產生中斷後退出 lower power mode

void GPIO5_Combined_0_15_IRQHandler(void){

 

    if ((1U << 11U) & GPIO_GetPinsInterruptFlags(GPIO5))

    {

 

        /* Disable interrupt. */

      GPIO_ClearPinsInterruptFlags(GPIO5, 1U << 11U);

        GPIO_DisableInterrupts(GPIO5, 1U << 11U);

        GPC_DisableWakeupSource(GPIO5_Combined_0_15_IRQn);

#ifdef CORE1_GET_INPUT_FROM_CORE0

        MU_TriggerInterrupts(MU_BASE, kMU_GenInt0InterruptTrigger);

#endif

 

    }

    SDK_ISR_EXIT_BARRIER;

}

 

圖 3.6. 

 

7.在 APP_SetWakeupConfig 中新增以下程式片段,設定 GPIO5_11 為 wake up pin

    /*************************************

        *

        * Use GPIO_DISP_B2_10 as Wake up pin

        *

        * **********************************/

    GPIO_ClearPinsInterruptFlags(GPIO5,1U << 11U);

    /* Enable GPIO pin interrupt */

    GPIO_EnableInterrupts(GPIO5,1U << 11U);

    /* Enable the Interrupt */

    EnableIRQ(GPIO5_Combined_0_15_IRQn);

 

    GPC_EnableWakeupSource(GPIO5_Combined_0_15_IRQn);

 

圖 3.7. 

 

8.點擊 build Project。

圖 3.8. 

9.將板子上 J38 Jumper 調整為 3-8 以 Micro USB 供電,將 UART Dongle 接在 J9-2、J9-4,將 Micro USB 接上電腦點選 debug (藍色蟲子符號) 後會進入 debug mode。


圖 3.9. 

圖 3.10. 

10.因為進入 Low Power Mode 會關閉模組電源,故確認燒入成功後即可點選 Terminate All Debug Sessions

圖 3.11. 

11.開啟 Tera Term 分別是 USB 序列裝置及 UART Dongle,UART 參數均為 baud 115200。

圖 3.12. 

圖 3.13. 

 

12.按下開發版上的 Reset 按鍵,則 Tera Term 會印出下列訊息,本範例有兩種展示模式

  • A : 範例預設各個 Setpoint 與 CPU 狀態搭配
  • B : 在 Setpoint 0 設定下各個 CPU 狀態


圖 3.14.
 

 

13.輸入 A 會進入範例預設的組合範例,選擇 L Setpoint 10,M7 & M4 Suspend,選此模式主要在說明在 Setpoint 10 下 GPIO 電源並未關閉下,前述設定的 GPIO 中斷可以動作。

圖 3.15. 

圖 3.16. 

 

14.將 GPIO_DISP_B2_10 接地,此時可看到 Tera Term 印出退出 Low Power Mode

圖 3.17. 

 

圖 3.18. 

 

四.POWER MODE 說明

整個 Power Mode 的機制由三個模式組成 Setpoint、CPU Mode 、Standby,藉由三個模組設定達到控制功耗的目的

圖 4.1. 

  1. Setpoint

Setpoint 是在 RT1170 新增的概念,透過預先寫設定的模式對應相關模組電源開關,用戶可依造需求直接設定所需的模式,避免繁雜的開關模組電源設定,目前總共可以有 16 個 Setpoint 可以設定,下表說明在各個不同 Setpoint 下模組電源狀態,+為啟動狀態,-為關閉狀態,xPx 代表 x.xV 電壓。

 

Power Group

DCDC_
ONOFF

DCDC_
DIG_
ONOFF

DCDC_
LP_
MODE

DCDC_
DIG_
ONOFF_
STBY

DCDC_
LP_
MODE_
STBY

DCDC_
1P0

DCDC_
1P0_
STBY

DCDC_
1P8

DCDC_
1P8_
STBY

Setpoint 1

+

+

-

+

-

1P0

1P0

1P8

1P8

Setpoint 2

+

+

-

+

-

1P1

1P1

1P8

1P8

Setpoint 3

+

+

-

+

-

1P1

1P1

1P8

1P8

Setpoint 4

+

+

-

+

-

1P1

1P1

1P8

1P8

Setpoint 5

+

+

-

+

-

1P0

1P0

1P8

1P8

Setpoint 6

+

+

-

+

-

0P9

0P9

1P8

1P8

Setpoint 7

+

+

-

+

-

0P9

0P9

1P8

1P8

Setpoint 8

+

+

-

+

-

0P9

0P9

1P8

1P8

Setpoint 9

+

+

-

+

-

0P9

0P9

1P8

1P8

Setpoint 10

+

+

-

+

-

0P9

0P9

1P8

1P8

Setpoint 11

-

-

-

-

-

0P9

0P9

1P8

1P8

Setpoint 12

-

-

-

-

-

0P9

0P9

1P8

1P8

Setpoint 13

-

-

-

-

-

0P9

0P9

1P8

1P8

Setpoint 14

-

-

-

-

-

0P9

0P9

1P8

1P8

Setpoint 15

-

-

-

-

-

0P9

0P9

1P8

1P8

Setpoint 16

-

-

-

-

-

0P9

0P9

1P8

1P8

  

 

Power Group

WAKEUP

MIX power

MEGA

MIX

power

DISPLAY

MIX

power

LPSR

MIX

power

WAKEUP

MIX

state

save

MEGA

MIX

state

save

DISPLAY

MIX

state

save

LPSR

MIX

state

save

PMIC

stand

by

Setpoint 1

+

+

+

+

-

-

-

-

-

Setpoint 2

+

+

+

+

-

-

-

-

-

Setpoint 3

+

+

+

+

-

-

-

-

-

Setpoint 4

+

+

+

+

-

-

-

-

-

Setpoint 5

+

+

+

+

-

-

-

-

-

Setpoint 6

+

+

+

+

-

-

-

-

-

Setpoint 7

+

+

+

+

-

-

-

-

-

Setpoint 8

+

+

+

+

-

-

-

-

-

Setpoint 9

+

+

+

+

-

-

-

-

-

Setpoint 10

+

+

+

+

-

-

-

-

-

Setpoint 11

-

-

-

+

-

-

-

-

-

Setpoint 12

-

-

-

+

-

-

-

-

-

Setpoint 13

-

-

-

+

-

-

-

-

-

Setpoint 14

-

-

-

+

-

-

-

-

-

Setpoint 15

-

-

-

+

-

-

-

-

 

Setpoint 16

-

-

-

+

-

-

-

-

 

  

圖 4.2.RT1170 電源組

 

  1. CPU Mode

i.MX RT1170 包含兩顆 CPU 平台:Cortex-M7 及 Cortex-M4,兩個 CPU 均有支援以下模式 RUN、Wait、Stop 及 Suspend。

CPU Mode可由以下事件進行切換

l Sleep Event:CPU 使用 WFI / WFE 指令進入睡眠狀態

l Wakeup Event:由尚未休眠的 IRQ 喚醒

兩個 CPU 可同時進入相同或相異的 CPU Mode,比如 CPU M7 進入 Run Mode,CPU M4則進入 Stop Mode。所有組合均是被允許的但根據應用並非所有組合都可使用。如特定資源僅 M7 可訪問,但在應用中使用該資源,此時 M7 則必須是醒著狀態。

  1. Standby

該模式是在 CPU Mode 及 Setpoint 之外的一種 low-power Mode 設置,當 CPU 在 Wait,Stop,Suspend 下並兩個 CPU 發出需求時才可進入。

 

五.功耗量測

1.下表為在範例 A展示模式下電流量測數值

CPU State

SP Mode

Current (A) Total

Current (mA)

DCDC_IN

Current (A)

DCDC_DIG

Current (A)

DCDC_ANA

Current (mA)

VDD_SNVS

Current (mA)

VDD_LPSR_IN

M7

M4

Run

Run

1

0.307

172

0.452

0.03

0.006

0.028

Run

Run

0

0.238

87

0.248

0.026

0.006

0.028

Run

Run

5

0.185

42

0.118

0.022

0.006

0.028

Run

Stop

7

0.164

19

0.074

0.006

0.006

0.028

Stop

Run

9

0.155

9.8

0.036

0.006

0.006

0.028

Suspend

Run

11

0.168

0.003

0

0

0.006

28.2

Suspend

Run

12

0.158

0.003

0

0

0.006

18.35

Suspend

Suspend

1

0.152

2.41

0.008

0

0.006

0.036

Suspend

Suspend

0

0.152

1.85

0.006

0

0.006

0.036

Suspend

Suspend

5

0.146

1.5

0.004

0

0.006

0.036

Suspend

Suspend

7

0.146

1.5

0.004

0

0.006

0.036

Suspend

Suspend

10

0.147

1.3

0.002

0

0.006

0.036

Suspend

Suspend

11

0.141

0.002

0

0

0.006

0.28

Suspend

Suspend

15

0.142

0.002

0

0

0.006

0.176

  

2.下表為在範例 B展示模式下電流量測數值

CPU State with SP 0 Mode

Current (A)  Total

Current (mA) J19


DCDC_IN

Current (A) J14
DCDC_DIG

Current (A) J23
DCDC_ANA

Current (mA) J28
VDD_SNVS

Current (mA) J49
VDD_LPSR_IN

Run

0.236

86

0.248

0.026

0.006

0.028

Wait

0.203

61

0.17

0.026

0.006

0.028

Stop

0.186

43

0

0

0.006

28.2

Suspend

0.187

41

0

0

0.006

16.68

Wait, System Standby

0.151

2.04

0.17

0.026

0.006

0.028

Stop, System Standby

0.151

2.04

0

0

0.006

28.18

 

六.參考資料

  •   AN13148 I.MXRT1170 Low-Power Modes Rev. 0 — 03/2021 Application Note
  •  i.MX RT1170 Processor Reference Manual Document Number:  MXRT1170RM Rev. 0, 12/2020

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能