This article gives designers real power to reduce power. It will cover practical techniques on key low power issues such as: where to begin, how to select a processor, low power I/O considerations, sleep/wake-up issues, and general design issues.
The number of embedded devices that must be run off of battery power or parasitic power continues to grow. The traditional approaches to designing these systems vary from simply relying on semiconductor manufacturers to provide the lowest power parts to the liberal use of pentagrams, black candles, and rubber chickens.
Every low power design is different and will have its own interesting set of problems to solve. You have to think through every element of the design if you want to operate at very low power levels.
Begin at the beginning
Where do you begin when designing an embedded system for low-power operation? Like any other design task, the answer to that question is to ask more specific questions. Some of the important issues to consider include the power consumption limits, size restrictions, I/O requirements, and operational duty cycle.
It has been our experience that getting someone to volunteer a parameter for how long a device must operate on batteries is much easier to do than to get serious consideration paid to this problem. To have a meaningful discussion of battery life, those taking part must understand something about the end use of the device. Here are some things to consider.
Is recharging practical?
The answer to this question is not always yes. In fact, for an embedded device that operates for long periods of time without actually being held by a human, the answer is almost always no. An example of this would be a data collection collar for wildlife (it's pretty difficult to get a raccoon to plug in his radio collar before he goes to bed).
Another area where recharging may not be practical would be when continuous use by multiple users is required. Consider the digital thermometers used by hospitals today. Since the same device may be used by the nurses on all shifts, when can you let it sit in a recharging station? It is important to remember that, from the embedded electronics design standpoint, there is little difference between a device with replaceable batteries and one with removable, rechargeable batteries.
How big can the device be?
Unfortunately, for those of us who have to design embedded systems, the marketing hype of battery manufacturers far exceeds the actual improvements in energy densities. In spite of what the little pink bunny would have you believe, no significant improvements have been made in the energy density of commonly available batteries in many years. All batteries are limited to a maximum amount of energy per unit volume. We will discuss battery selection in more detail later. For now, just remember that the bigger the battery compartment, the longer the battery will last.
How long does the device have to run?
Be sure and come up with a model for usage that includes a practical estimate for the percentage of time that the device will be operating in the various power modes, including off. A good example of why this is important is a simple handheld device like a Palm. A Palm IIIx will run in active mode for about 24 hours on a pair of AAA batteries. If kept in active mode for the entire work day, the batteries would have to be replaced every two to three days. In most real life scenarios, the batteries on this device will last from two to four weeks, because the device spends the vast majority of its operating life in sleep mode.
How much power will the device require?
That's the $64,000 question! Work out a preliminary power budget as quickly as possible. Keep in mind that you absolutely, positively have forgotten something, so add a fudge factor. If you even mention a guess at battery life to your marketing department, that number will become the absolute minimum battery life for the product. If you add some fudge in the beginning, you have the opportunity to be a hero when the numbers turn out better than your first guess. Another hint: you will almost always get into trouble if your power estimate begins with the words, “This other device is similar, I am only adding/deleting.”
What types of I/O will be required?
Optically isolated I/O and electromechanical relays are your enemy. Back-lighting and serial communications are not your friends. Limit the I/O and isolation to what is truly needed. Come up with clever ways to avoid having to keep LEDs and relays energized for long periods. Determine if displays can be turned off for extended periods.
How fast does it have to be?
Speed kills! As a general rule, if you double the speed, you double the power consumption. And here's a corollary that we often forget: if you double the bus width, you may also double the power consumption. Try to architect your system to run as slowly as practical in all operating modes.As with most embedded system designs, you will probably find that you cannot meet all of the initial criteria. A thorough understanding of the application is irreplaceable on such occasions. You, as the official techie on the scene, will be responsible for helping those you work with by recommending and explaining trade off opportunities.
Many processors claim to be low power, but which one is right for your design? Remember when you only had to worry about the availability of tools, cost, speed, and integration? In the realm of low-power designm you can kiss those simple times good-bye. While looking at the processor's data sheet, you need to ask several questions.
Does the processor have a static or dynamic core?
Processors that have dynamic cores generally don't respond well to reduced speed or stopped clocks. If the data sheet does not clearly state what type of core the processor is designed with, check the specification for fosc(min) . If it is 0, or there is no specification for tcycle(max) , you can most likely slow down the processor as much as you want.
How much power will the I/O and the bus consume?
Look at the leakage currents on the various I/O and bus pins that you are considering. These parameters will be listed in the data sheets as IIL , IIH , or input leakage current. Remember that different input pins can have different leakage currents, and that leakage can vary depending on the state of the pin.
Can the clock speed be changed on the fly?
Internal programmable phase locked loops (PLL) for clock generation make the job of controlling power consumption much easier. These allow the processor to dynamically change the speed of operation based on instantaneous demand for computing power.
What is the nominal supply current?
Look at IDD , this seems obvious, so don't forget. On a processor designed for low power systems this will often be given in the form of a graph of current vs. operating frequency. There may also be specifications for various sleep and low power modes.
Is the sleep mode practical for your application?
Read everything you can about the sleep and low-power modes supported by the processor. Some of the nasty surprises you don't want to discover after you have committed to using a particular device include slow wake up times and power-down modes that turn off a function that is critical to your device waking up. (That low power mode won't do much good if it turns off the on-chip UART and you have to wake up based on receiving characters on the serial port.)
Power consumed by modern CMOS devices is almost always dominated by how fast the device is being clocked. Figure 1 is a simplified diagram of a CMOS totem pole output driving a typical CMOS input.
Figure 1 CMOS output and input equivalent circuit
Each time the gate is switched from ground to Vcc , the capacitor must be charged. When the gate switches from Vcc back to ground, the capacitor must be discharged. Since this energy does not get reused (it is dissipated as heat in the driving gate), every change in state causes a little loss in energy. This loss can be expressed as P = fVcc CL , where P is the power loss, and f is the frequency. As you can see, speed kills.
|Table 1 Example power consumption as a function of bus size|
|16-bit Bus||8-bit Bus|
|Bus cap (μF)||Power (mW)||Bus cap (μF)||Power (mW)|
Because this equation applies to every signal on a bus, it is easy to see why wide external buses should be avoided in low-power designs. Load capacitance can vary between pins, but are generally in the range of 4pF for an input to 12pF for a bi-directional pin. Table 1 illustrates the different levels of power consumption of a microprocessor connected to a 1Mbit flash device and operating with a 4MHz bus cycle, based on bus size. Looking at these numbers, it is easy to see how using a processor that has internal memory can substantially reduce power consumption.
Now that you've selected a low-power processor and added peripherals with the lowest quiescent currents you could find, marketing still wants more battery life. Let's face it, everyone always wants more battery life. Fortunately, you can help the situation. Asking the following questions should help you ferret out some more battery life.
What pull-up values are really needed?
The days of using 4.7K pull-up resistors are gone. Even if you use 62KW pull-ups in a 3V system, each one will pull 48μA when the output is driven low. If you only use 10 of them, 480μA is consumed right there. Start thinking of pull-ups with values in the 1MW range. Consider input leakage current and VIH (or VIL for pull-downs) when calculating the maximum possible value.
What parts of the device can be turned off?
If possible, shut down circuits that are used infrequently, then resurrect them when needed. Choosing low power components is great. But if you can switch off power to portions of your circuit, you can even save the quiescent current. When evaluating areas where this may be performed, keep in mind:
- Duty cycle of use vs. inactivity
- Stabilization of Vcc when power is reapplied
- Overhead required to control power
Any of these areas may be a reason to keep power applied.
Is dead really dead?
Watch out for zombies. When you try to reduce power consumption by removing Vcc from sections of your design, some parts may try to come back to life on their own. Digital inputs tend to have a protection diode (see Figure 2), which internally connects input pins to Vcc . This diode prevents input voltages from getting more than a few tenths of a volt above Vcc . Consequently, the part will be powered by leaving an input high when you float Vcc .
Figure 2 CMOS input protection
Are all of the pull-up resistors required all of the time?
Consider removing power from pull-ups. If a signal associated with a pull-up is polled, there is a good chance that the pull-up is wasting power most of the time. This goes back to examining the use duty cycle and limiting quiescent currents.
Should you use a pull-down instead?
Look at the state you expect an input to be in most of the time. If it will be reliably low most of the time, consider using a pull-down resistor rather than a pull-up.
Do you really need that buffer?
Ask this question when looking at signal drive power. Components that overdrive signal lines tend to consume more power on transitions than parts with lower drive capabilities. Obviously, you want to avoid under-driving signals or using buffers unnecessarily. But if power consumption is a concern some power can be saved by spending time choosing parts with an appropriate drive capability.
Saving power means more than selecting low-power parts. Most techniques revolve around reducing the average quiescent current of the design. Remove power from circuits (including pull-ups) when they aren't being used. Increase the value of pull-up resistors. Watch out for current sneak paths through a protection diode. These are all tools in extending battery life and reducing power consumption.
Have you ever had this conversation?
Marketing: The battery has to be readily available to the public.
Engineer: Okay, car batteries are available. This'll make power consumption easy.
Marketing: It has to be lightweight.
Engineer: Scratch the car battery. How about a D cell battery? Decent power storage, but now I need to start watching power consumption.
Marketing: It has to be the size of a pager.
Engineer: Okay, maybe AA batteries and we swap them out every month or so.
Marketing: It has to run for 10 years without recharge.
Engineer: Get a life!
Agreeing on battery size and technology is often a battle between marketing and engineering. Everyone wants a device that is no larger than the display and keypad, light as a feather, and runs forever on a single (low cost, widely available) battery. While the battery affects the size and weight of the unit, it is often overlooked until the end of the design or chosen arbitrarily by marketing.
These questions can help narrow the selection:
- What voltages are needed in the system?
- Does the battery need to be rechargeable?
- What do the typical use/charge cycles look like for this product?
- What are the standard and peak currents used by the system?
- Does the battery need to be easily replaced by a consumer?
Once these questions are answered, you can specify the battery type and size required to achieve the desired battery life. But, even with these questions answered, you must still choose from a number of battery chemistries. Table 2 is not comprehensive, but it lists the more common varieties of batteries.
|Table 2 Battery chemistry comparison|
|Battery Type||Vnominal||MaximumLoadCurrent*||Energyby Wgt.(Wh/Kg)||Energyby Vol.(Wh/L)||OperatingTemperature||Recharge||Maintenance**||Life Cycle(Recharge)||Shelf life/Self discharge|
|Alkaline||1.5V||150||375||-20 to 55C||5 yrs to 80%|
|NiCd||1.25V||>2C||45-80||125||-40 to 60C||t||1/Mo||1500||20% per Mo|
|NiMH||1.25V||0.5-1C||60-120||180||-20 to 60C||t||1/3Mo||500||30% per Mo|
|Lithium ion||3.6V||1C||100||270-325||-20 to 60C||t||50-100||10% per Mo|
|Lithium polymer||3.7V||0.2C||120-160||230-270||-20 to 60C||t||500||10+ years|
|Sealed lead acid||2V||0.2C||30||80||-20 to 60C||t||1/6Mo||200-500||5% per Mo|
|Zinc air||1.4V||300||1150||-20 to 60C||3-12 weeks to 50%|
|Silver oxide||1.55V||130||500||-20 to 60C||2 yrs. to 84%|
|Lithium poly||3.0V||-40 to 85C||10+ years|
|Lithium manganese||3.0V||225||550||-20 to 60C||10+ years|
|Lithium thionyl||3.6V||710||1300||-55 to 100C||9 yrs to 80%|
|Lithium sulfur||3.0V||290||500||-60 to 85C||10 yrs to 80%|
|* C = Amp-Hour rating of battery divided by 1 Hour, e.g. for a 1500mAH battery, C = 1500mA|
|** Required interval between deep cycles|
Before selecting a battery type, additional research is required. Each battery chemistry has it own nuances. For instance, a Zinc Air battery cannot be sealed. It must be exposed to air for it to work properly. Lithium batteries prefer a slow discharge and require low voltage protection circuitry.
To generate the working voltages, use either linear regulators or switchers. If the voltage coming onto the board is close to the needed voltage, a low drop-out (LDO) linear regulator might be the best choice:
- Doesn't generate noise on the board
- Low parts count
- Can't create a voltage higher than the input
But linear regulators generate heat.
On the other hand, a switcher:
- Usually has a better efficiency
- Doesn't generate as much heat
- Can generally generate any output voltage from any input voltage
But switchers are noisy and have higher parts counts.
Many designers are still afraid to use switching regulators because they are perceived as “touchy” to design and most digital designers naturally stray away from any math that is not boolean. Fear not, many companies offer excellent application notes to go with their switching regulator products (Maxim and Linear Technology are two of our favorites). If you follow their instructions, it works every time.
Another issue to consider is a battery voltage that crosses the generated board voltage. For example, if the required working voltage is 3.3V and the power source is a lithium ion battery that will vary from 2.9V to 4.0V during its useful life, you have several options. One is a buck-boost configuration, where the voltage is generated through two stages of power supplies. The problem with this is that the efficiencies of the two stages are multiplied, reducing the combined efficiency.
Another option is a SEPIC configuration. This is a switcher configured with two coupled inductors (possibly a small transformer). This type of power supply does not have the same efficiency as a typical buck or boost but does better than the two-stage approach.
A third and, hopefully, obvious solution is to arrange the batteries in series or parallel so that the battery voltage no longer crosses any of the board voltages during the course of discharging the battery.
Sleeping and reduced speed clocking
Many embedded applications spend most of their time waiting for something to happen: receiving data on a serial port, watching an I/O pin change state, or waiting for a time delay to expire. If the processor is still running at full speed when it is just waiting for something to happen, we are burning up battery life while accomplishing little.
Microcontroller designers dealwith inactivity by providing sleep modes and adjustable clock speeds. When a processor is put into a sleep mode most (if not all) of the device is turned off. The oscillator is either turned off or switched to a lower frequency and the CPU stops executing instructions. Many processors have different levels of sleeping, each with a different power consumption based on which peripherals are left on.
Microcontrollers are typically awakened from a sleep mode when an interrupt is generated. When using a sleep mode that stops the processor clock, stabilizing the clock before executing instructions typically takes a long time. This time is often measured in tens to hundreds of milliseconds. When you go into sleep mode, keep in mind that the device cannot react to the stimulus for however long the clock takes to stabilize. Also, look at the expected frequency of events. When an event takes place 10 times per second and 50 milliseconds of warm-up is required to come out of sleep mode, you may save substantially more power by running the processor at a lower clock speed instead of sleeping.
Now your design is complete. You can proceed with layout, fabrication, and assembly, verify the board, and start production. That would be perfect, but perfection is something you strive for yet rarely achieve on the first try. So, say it with me now: “There will be a second spin of the PCB.” Repeat this mantra until you are saying it in your sleep.
Once you admit that a second spin will take place, life gets easier. The design can always be reviewed again, but there is a point of diminishing returns. By no means is this a license to frivolously spin boards. Test everything on paper to a reasonable level, then spin the board. Now you have a platform to verify the design and measure current values. The following list of features should be considered for the first spin, though they may be removed for subsequent versions:
- Test points connected to unused I/O-this will help ease software development.
- Test points and 0W resistors to allow for current measurement.-primarily this would be used for measuring battery current coming onto the board and current from each of the on-board power supplies. Additionally, they should be added to examine current consumption for various sections of the design.
- Build it larger than the final form factor. You know there is going to be a second spin (you already had to say it). So, give yourself room to work.
Ultimately, designing for low power does not require black magic, but it does require extreme attention to detail.
Mike Willey is VP of development for Paragon Innovations. He has over 23 years of experience in embedded systems design. He holds a BS in electrical engineering from Texas A&M University. His e-mail address is
Kris Stafford is director of operations for Paragon Innovations. He has over 13 years of experience in embedded systems design. He holds an ME in electrical engineering from Texas A&M University. His e-mail address is .