Article: Power Management
Power Management is primarily required by Battery Powered Systems, in order to maintain effective operational life in the absence of external power. While Power Management is absolutely necessary for Battery powered systems, it is also becoming increasingly important for other systems in order to make them energy efficient. It is also important for systems which are inactive for a long period of time, and upon receiving a certain input, function for a very short time and then go back to their inactive state.
In Embedded Systems, Power management applies to the main microcontroller as well as auxiliary circuits which may or may not be controlled directly by the microcontroller.
1. Power Management for the Microcontroller:-
i. Power Modes
Most microcontrollers support two or more different power modes. Each of these modes switch off certain peripherals for power saving while keeping others powered on. It is important to know which peripherals are absolutely essential and cannot be switched off. Once this is known, the mode supporting all essential peripherals with the lowest power consumption can be selected.
Microcontroller datasheets often detail procedures to be followed for switching between power modes. The sequences suggested by these documents must be followed strictly. Otherwise microcontroller HANG or Lock Up may occur.
Sometimes it may not be possible to switch from one power mode to another without first entering an intermediate power mode. So it is important to study what kinds of transitions are possible while switching power modes.
ii. Sleep and Wakeup
Sleep or extremely low power mode may be entered by the microcontroller during periods of inactivity. In order to use this mode effectively, it is important to detail the conditions for entering this mode. Also it is necessary to determine how to Wakeup or exit from this mode.
Some conditions to enter Sleep may be no input from any of the peripherals like ADC, or no data from any of the ports like RS-232 or SPI, or in general no processing by the CPU core. It can also be a combination of these factors for a period of time which has to be determined.
Wakeup can again be due to a timer, in which case system will exit low power mode after fixed intervals of time. Or it can be if certain inputs are received on a data port, or if an interrupt occurs. It is also possible to configure which Power Mode the system should enter after Sleep. This should be part of the overall strategy.
How long the system stays in Sleep mode and when it should enter and exit depends on the longevity desired out of the system as well as critical event which it cannot afford to miss by virtue of being in Sleep Mode. Balance between these two has to be obtained.
It is important to manage memory while switching between power modes. If data may be lost due to memory being powered down and if such data is critical, it must be backed up before entering the power mode. Similarly the data must be restored to its original location while exiting the power mode. This is essential for system stability.
2. Power Management for Auxiliary Circuits:-
Auxiliary circuits on an embedded board may consist of components like transceivers, voltage regulators, line drivers, sense circuits etc. Many of these components have enable/disable controls. When not required these components may be disabled to save power. Some components operate at lower power levels by changing their core voltages. Voltage regulators with controllable outputs maybe used in such cases to reduce or increase core voltages of components as per operational requirements. These measures go a long way in power saving. An added benefit is less heat dissipation.
Power management leads to good design and also responsible design.