CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!
无匹配项 共计114个匹配页面
文档中心 > GR533x Datasheet/ System/ PMU/ Power Management Copy URL

Power Management

Introduction

To minimize power consumption, the device supports power management in multiple power modes, including active mode, IDLE mode, sleep mode, and ultra deep sleep mode. The relationship between different power modes is shown in the figure below.

图 19 Power mode block diagram
  • Cold Boot: Start the MCU from power-off or reset status. Current configuration and data are discarded. Program processing begins again with the initial values.
  • Warm Boot: Restart the MCU from sleep state. Program processing starts once again where retentive configuration and data are retained.
  • Check Warm Boot Flag: Whether to enter the warm boot can be determined by the warm boot flag in the SOFTWARE_REG1[5] register.

The possible transitions between different power modes are shown in the table below.

表 29 Power mode transitions
Current Mode Transition Action
Enter Active Enter IDLE Enter Sleep Enter Ultra Deep Sleep

Active

WFI/WFE

AON_SLP_CTRL[0]

AON_SLP_CTRL[0]

IDLE

IRQ

Sleep

Sleep Wakeup Source IRQ

Ultra Deep Sleep

Ultra Deep Sleep Wakeup Source IRQ

The table below displays an outline of the supported power modes and available features. In general, for each power mode, the lowest power configuration is set as the system default, with non-essential clocks and peripherals being deactivated. After that, software can selectively activate features as needed. The power management in different power modes for different modules is shown as follows.

表 30 Power modes
Item Software-configurable Power Modes Holding Reset Pin
Active IDLE Sleep Ultra Deep Sleep
CPU Active Off Off Off Off
Flash On Standby Off Off Off
SRAM On On Retention Off Off
Radio Available Available Off Off Off
Supply system On On Off
Current 2.6 μA 1.9 μA 0.2 μA
Register retention Full Full No No No
HFXO_32M Available Available Off Off N/A
HFRC_192M Available Available Off Off N/A
LFXO_32K Available Available Available Available N/A
LFRC_32K Available Available Available Available N/A
GPIO Available Available Off Off Off
AON IO Available Available Available Available Off
MSIO Available Available Available Available Off
I/O state retention Available Available Available Available N/A
Timer Available Available Off Off Off
Dual Timer Available Available Off Off Off
PWM Available Available Off Off Off
AON_WDT Available Available Available Available Off
RTC Available Available Available Available Off
SLP TIMER Available Available Available Available Off
UART Available Available Off Off Off
SPI Available Available Off Off Off
I2C Available Available Off Off Off
AES Available Available Off Off Off
TRNG Available Available Off Off Off
ADC Available Available Off Off Off
TEMP Available Available Off Off Off
LPCOMP Available Available Available Available Off
DMA Available Available Off Off Off
Wakeup on Bluetooth LE Available Available Available Off N/A
Wakeup on LPCOMP Available Available Available Off N/A
Wakeup on RTC Available Available Available Off N/A
Wakeup on SLP TIMER Available Available Available Available N/A
Wakeup on AON IO Available Available Available Available N/A
Wakeup on Reset Pin Available Available Available Available Available
Brown Out Detector(BOD Interrupt) Active Active Off Off N/A
Power On Reset (POR) Active Active Active Active N/A

Power Mode

Active Mode

By default, the system enters active mode after power-on reset. In active mode, the Cortex®-M4F is actively executing code. Active mode supports normal operations of the processor and all of the peripherals that are currently available. The radio functionality is available. The system clock can be any available clock source (refer to 表 30). The power management by the PMU in active mode is shown in the figure below. The I/O supply in active mode is from ANA_IO_LDO in order to gain a stronger drive capability.

图 20 Power management in active mode

IDLE Mode

In IDLE mode, the Cortex®-M4F core is in sleep mode so that no code is executed. However, the remaining system is fully available. All peripheral functionalities and the radio functionality are still available. The system clock can be any available clock source (refer to 表 30). The power supply is still applied to the Cortex®-M4F core logic so that it can immediately become active on a wakeup event and begin executing instructions. The power management by the PMU in IDLE mode is similar to that in active mode, as shown in 图 20.

Sleep Mode

In sleep mode, only the always-on (AON) domain is active. The Cortex®-M4F core is disabled and the radio functionality is not available. The AON domain peripherals are still available, such as AON_WDT, RTC, SLP TIMER and LPCOMP. A part of the memory unit is used as retention for storing data that needs to be retained during sleep. The state of the memory unit during sleep can be controlled by software as described in "SRAM Power Control".

The AON power is supplied from AON_LDO, and the retention memory power is supplied from RET_LDO. The DC-DC convertor, SYS_LDO and CORE_LDO will be powered off. Only low frequency clocks are available in the sleep mode. The I/O supply will be changed from ANA_IO_LDO to STB_IO_LDO in order to reduce power consumption during sleep mode.

The power management by the PMU in sleep mode is shown in the figure below.

图 21 Power management in sleep mode

The I/Os are latched with the value they are in before the system enters sleep mode. This configuration can be achieved by configuring the DPAD_LE_CTRL register.

  • When DPAD_LE_CTRL.SLEEP = 0 and DPAD_LE_CTRL.WAKEUP = 1, the I/Os are latched during sleep and automatically unlocked after wakeup.
  • If DPAD_LE_CTRL.WAKEUP = 0, the I/Os can manually be unlocked after wakeup by writing 1 to DPAD_LE_CTRL.WR and DPAD_LE_CTRL.APPLY_WR in order.

This function has been implemented in SDK. The default configuration in the SDK is DPAD_LE_CTRL.SLEEP = 0 and DPAD_LE_CTRL.WAKEUP = 0.

Ultra Deep Sleep Mode

Ultra deep sleep mode is the deepest power saving mode that the system can enter. In this mode, only the always-on (AON) domain is active with limited functionalities. The Cortex®-M4F core is disabled and the radio functionality is not available. All SRAMs are powered off, so the system restarts execution from cold boot when the system is woken up from ultra deep sleep mode. The power management by the PMU in ultra deep sleep mode is similar to that in sleep mode, as shown in 图 21. RET_LDO can be powered off in ultra deep sleep mode since all SRAMs are not retained.

The I/Os are latched with the value they are in before the system enters ultra deep sleep mode. This configuration is implemented in the same way as the sleep mode.

Low Power Mode Entry

IDLE Mode Entry

To transition from active mode to IDLE mode, a specific sequence of instructions is executed on the Cortex®-M4F core. First, specific bits in the Cortex®-M4F System Control Register must be set to determine the mode to enter. Refer to The Definitive Guide to Arm Cortex-M3 and Cortex-M4 Processors.

The Cortex®-M4F core can enter the IDLE state using one of the following two methods:

  • Execute a Wait-For-Interrupt (WFI) instruction.

  • Execute a Wait-For-Event (WFE) instruction.

Sleep Mode Entry

The sleep request can be initiated by configuring the AON_SLP_CTRL register. However, before the system enters sleep mode, it is necessary to ensure that the device is not in busy state and the remaining sleep time of the system is longer than the sleep threshold. When any high-speed peripherals/radio/DMA is working, or the Flash is being read/written/erased, it indicates the system is in busy state.

The integrated SDK implements pre-sleep state checks and automatic backup of peripheral configurations that need to be retained before the system enters sleep mode. I/O and MCU peripherals with retention do not need to be reconfigured when being woken up again, and the CPU that continues execution from warm boot goes into active mode.

A typical sleep mode entry procedure includes power mode check process and sleep enter process, as shown in the figure below. In the power mode check process, it is mainly to check whether the system can meet the conditions for entering the sleep mode. In the sleep enter process, the current system context should be saved, and then the system can request to enter the sleep mode.

图 22 Typical sleep mode entry procedure

In the sleep enter process, the following operations will be performed:

  1. When the PMU receives the sleep request, it will power off all the peripherals and Bluetooth LE Core. If the power- off is successful, the system is able to enter sleep mode. Otherwise, a sleep failure interrupt will be sent to the CPU.
  2. Then the system clock is stopped, and both the IO and SRAM will enter retention mode.
  3. Subsequently, the MCU core is powered off. The power modules including the DC-DC convertor, SYS_LDO, and CORE_LDO are turned off. High frequency clocks including HFXO_32M, CPLL_192M and HFRC_192M are turned off. The Brown-out Detector (BOD) and Flash are disabled. The I/O supply is changed from ANA_IO_LDO to STB_IO_LDO. After that the ANA_IO_LDO is turned off.

The Cortex®-M4F processor provides a register called the System Control Register (SCR) to allow developers to select between the IDLE mode and sleep mode. This register is at an address of 0xE000ED10, and can be accessed in C programming using the “SCB->SCR” symbol. However, the sleep mode implementation of the integrated SDK has nothing to do with this register. Arbitrary configuration of this register will cause unexpected errors.

Ultra Deep Sleep Mode Entry

The implementation of the system entering ultra deep sleep mode is similar to that in sleep mode. The difference is that more things will be closed in ultra deep sleep mode before requesting sleep than that in sleep mode. All SRAMs and peripherals will be powered off in order to minimize power consumption. In this mode, AON WDT and RTC will be disabled, and only the sleep timer and AON IO can wakeup the system. The slow frequency clock needs to choose RNG_OSC with div8 in order to minimize power consumption. These operations have been implemented in SDK. Since many states and registers are lost due to power loss, the system will wake up from a cold boot and reinitialize the whole system.

Timing Specifications

表 31 Power mode entry specifications
Symbol Description Min. Typ. Max. Unit
TENT_IDLE Entry time to IDLE mode 4 cycles
TENT_SLEEP Entry time to sleep mode 15 cycles
TENT_ULTRA_DEEP_SLEEP Entry time to ultra deep sleep mode 15 cycles

Low Power Mode Exit

There are some events that will bring the processor back to the active mode from the IDLE mode. Because neither system state nor memory is lost, the system can quickly become active and continue to operate as before it went into the IDLE mode. The possible reasons to return to the active mode from the IDLE mode are:

  • A reset
  • An enabled interrupt is received by the NVIC
  • An event is received by the NVIC
  • A debug event is received from the DAP

Due to the Cortex®-M4F processor will be powered off and all registers except the AON domain will be lost in sleep mode and ultra deep sleep mode, the processor will start executing from the zero address after the system wakes up. In sleep mode, the state of the system and the memory can be retained so that the system can go back to operate as before it went into the sleep mode through a warm boot. However, the system can only be re-initialized through a cold boot after waking up from the ultra deep sleep mode. For detailed description of the warm boot and the cold boot, refer to “Startup Procedure”.

A range of wake-up sources can bring the system back to the active mode from the sleep mode and the ultra deep sleep mode. The difference of the ultra deep sleep mode is that other wake-up sources will be blocked except for AON GPIO peripherals and the sleep timer. Only unmasked wakeup sources can bring the SoC back to the active mode. For detailed description of the wake-up sources, refer to "Wakeup Source".

扫描关注

打开微信,使用“扫一扫”即可关注。