Power Saving Schemes of The ARM CORETX M3
Power Saving Schemes of The ARM CORETX M3
It has sleep mode and deep sleep mode supports, which can work with various system-design
methodologies to reduce power consumption during idle period.
Its low gate count and design techniques reduce circuit activities in the processor to allow
active power to be reduced.
Since Cortex-M3 has high code density, it has lowered the program size requirement. At the
same time, it allows processing tasks to be completed in a short time, so that the processor can
return to sleep modes as soon as possible to cut down energy use.
Starting from Cortex-M3 revision 2, a new feature called Wakeup Interrupt Controller (WIC)
is available. This feature allows the whole processor core to be powered down, while processor
states are retained and the processor can be returned to active state almost immediately when an
interrupt takes place.
The following below explains the various modes available in Cortex M3 for power management.
Sleep Modes:
During sleep mode, the system clock can be stopped, but the free-running clock input could still be
running to allow the processor to be woken by an interrupt.
18BCB0072 and 18BCB0081
Sleep-On-Exit Feature:
Processor can be programmed to go back to sleep automatically after the interrupt routine exit. In this
way, we can make the core sleep all the time unless an interrupt needs to be servedTo use this feature, we
need to set the SLEEPONEXIT bit in the System Control register.
If the Sleep-On-Exit feature is enabled, the processor can enter sleep at any exception return to thread
level, even if no WFE/WFI instruction is executed.
Wake-up Interrupt Controller:
A new unit called the Wakeup Interrupt Controller (WIC) is available as an optional component. This
controller is coupled to the existing NVIC and is used to generate a wakeup request when an interrupt
arrives.
By using the technology called State Retention Power Gating (SRPG) and WIC together, most portions of
the Cortex-M3 processor can be powered down during deep sleep, leaving a small amount of logic for
state retention.
During this power down state, the WIC remains operational and generates a wakeup request to power up
and restore the system state when an interrupt arrives. Maximum interrupt latency in such case is around
20-30 clock cycles.
Conclusions:
The low power modes on the Cortex-M processors are one of the major keys to decreasing how much
energy consumption an embedded system uses. As we have seen, developers can use the WFI instruction
to place their system into their low power mode and the system will then wake-up once the previously
configured wake-up event or interrupt has been triggered. Each microcontroller vendor is able to
customize their power modes and we will see microcontrollers with as few as the three default power
modes all the way through parts with a dozen power modes and complex state machines that facilitate
how the processor moves from one mode to the next.