In recent decades, the increase in demand for low power solutions required the development of new algorithms and clever techniques, which could save energy and guarantee a long-lasting shelf life of a standalone solution powered by batteries.
Three key parameters and components of a general electronic solution are the semiconductor, software, and power for operation. Semiconductor chips usually last longer if programmed bug-free changes are mild. The third parameter —power — is something that could bring down the system before the semiconductor itself is corroded.
There are many ways to save energy, such as supply voltage scaling, clock gating, frequency and capacitance decrease, etc.
In this article, we will see how to save battery power by implementing dynamic power management, which could lead to a longer shelf-life.
What is dynamic power management?
A given system module and its peripherals are not always in run state. Individual peripherals or whole systems could be taken to low power state depending on energy-saving policies.
Power consumption of a typical IoT device is dependent on the workload, which is the useful activity required to complete a task. The workload is usually represented as current consumption by a particular processing unit in different states.
For example, in the workload figure below, the duty cycle is divided into two states 1) Active and 2) Idle. In the active state, the processor/control unit is performing some operation. Whereas in idle state, the processor is not processing any data. Note, even when the processor is in idle state, it is still consuming power but on a much lesser scale.
In an active state, the processor is performing three tasks sensing data, computing it, and transmission to output. Energy consumed by each task is highlighted in different colors. The total energy consumed in an active state is the combined area under the squares of all tasks.
A system can have more than one power state. PSM (power state machine) defines the power consumption and nodes represent the states and power consumed in each state. Vectors represent the time and power required for transition between states. For example, Intel Xscale processors have four states.
To get the best out of a given system, PSM and workload must determine an optimal allocation of power states to save energy.
In the above case, the power state is allotted depending on the workload. We lose power in prediction and power, plus the time spent in switching to the next state.
What about saving time by pre-wakeup?
In this case, the time penalty is overcome, but the wakeup power penalty is still present. Pre-wakeup is based on an estimation of the idle time. This technique does not perform well if the idle time is mispredicted. However, if we predict the accurate idle time, we can save energy at a higher amount. The only power loss then is the transition cost.
Researchers have come up with different policies to exploit the power state and time.
In predictive policies, the idle time is predicted depending on a threshold. The threshold is known as break-even time. Break-even time is the minimum idle time necessary to cover up the shutdown cost. In predictive policies, the chances of underprediction and overprediction are always present. Underprediction creates power waste, whereas overprediction creates a power penalty.
Time out policy
With the time out policy, you put the device in shutdown state based on a predefined timeout, which is usually breakeven time. Since breakeven time covers up the cost of the shutdown, taking it as a timeout makes sense. This policy covers the shutdown cost. Depending on the system, time out can be varied. Time out policy covers the shutdown cost but the system always suffers from wakeup penalty.
In history-based policies, the previous active times are taken under consideration, and the next idle period is predicted on the bases of active periods. In history-based policies, it is assumed that long idle periods are followed by short active periods. This prediction might not always be correct, but it saves energy in most of the cases.
Many more algorithms and policies are popping up year by year. All have some tradeoffs, but we can’t ignore them.
Dynamic power management yields significant power savings and performance improvement. The solution for individual system heavily depends on the workload and policy implemented.
Filed Under: Articles, Microcontroller Projects