Download Dynamic Current Profiling

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Islanding wikipedia , lookup

Wireless power transfer wikipedia , lookup

Power inverter wikipedia , lookup

Voltage optimisation wikipedia , lookup

Opto-isolator wikipedia , lookup

Standby power wikipedia , lookup

Pulse-width modulation wikipedia , lookup

Power factor wikipedia , lookup

Rectifier wikipedia , lookup

Current source wikipedia , lookup

Mercury-arc valve wikipedia , lookup

Audio power wikipedia , lookup

Embedded system wikipedia , lookup

TRIAC wikipedia , lookup

History of electric power transmission wikipedia , lookup

Electric power system wikipedia , lookup

Electrification wikipedia , lookup

Power over Ethernet wikipedia , lookup

Distribution management system wikipedia , lookup

Power electronics wikipedia , lookup

Mains electricity wikipedia , lookup

Buck converter wikipedia , lookup

Switched-mode power supply wikipedia , lookup

Power engineering wikipedia , lookup

AC adapter wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Alternating current wikipedia , lookup

Transcript
Power Toolbox for Embedded System Design
Dynamic Current Profiling
Application Note
Introduction
If you are designing with embedded systems, you face various power optimization and power characterization hurdles throughout your design process.
You know what you want to output, simulate, and measure, — but you need
a whole “toolbox” of instruments and hardware to do the job. Not only is this
toolbox costly, but properly configuring the hardware and software into an
accurate, dependable solution can be time consuming.
The power challenges that embedded system designer’s face can be broken
into three categories: properly powering on and off multiple power inputs,
characterizing power needs under dynamic load conditions, and simulating
real-world power conditions. This application note focuses on characterizing
the power needs of an embedded design under dynamic load conditions.
We will explore why it is critical to fully characterize a dynamic load for
minimizing power usage and increasing battery life. Then we will introduce
you to a single, easy-to-use instrument that can supply and characterize
the dynamic power needs of your embedded design.
This is the second in a
series of application
notes that addresses power
optimization, characterization,
and simulation challenges
in embedded designs.
Rapid advances in semiconductor technology and portable device
technology have led to an explosion in the development of low-power
embedded systems that conserve battery life. In battery-powered
devices, power is limited, which leaves you at the mercy of
available power when you try to decide what features to include,
what size your device should be, and at what speed it should
operate. Because of the power challenges battery-powered devices
present, it is becoming critical that you optimize the hardware and software
of your design for minimum power usage.
To conserve power, many embedded applications have turned to dynamic
power usage models. Dynamic power usage models have an ever-changing
current profile, which is caused by the various power-saving steps that are
being taken dynamically during the embedded system’s operation. These
power-saving steps may include putting components in sleep or idle mode
when they are not being used, slowing the system clock during certain stages
of operation and trying various hardware and firmware methods to optimize
a task for power efficiency. As the designer, you need to figure out the
most accurate and fastest way to characterize and analyze an embedded
design’s current profile so you can optimize your design to achieve lower
power consumption and longer battery life.
The Growing Need for
Dynamic Current Profiling
2. Capturing areas of low current consumption
Capturing the dynamic current profile of your embedded design requires
a power source and some type of digitizing instrument that can capture
the output of the power source over the full dynamic range of the design.
Such a setup is typically expensive and requires you to invest significant
time to configure it. But capturing the dynamic current profile, versus
just capturing average current, gives a more complete view of a device’s
current needs.
In embedded system designs, there are often periods of inactivity where
CPUs and other semiconductor components are turned off or put in sleep
mode or idle mode. During these low-power states, most of the current
that is consumed is in the form of a small leakage current that can be
less than 10 μA. At such low current values it is hard to find a digitizing
instrument that can accurately capture the current profile. Low-level
current profiles are important to characterize because they can tell you
if the various integrated circuits on your embedded design are properly
configured for the lowest power consumption in their inactive state.
For example, for a microcontroller to achieve its lowest current levels
while in sleep mode, its data sheet typically specifies that you must set
all the pins as inputs and ensure certain registers are in default states.
With everything internally on the microcontroller set for low power
consumption, current levels below 10 μA are easily achievable, but
without the proper settings you could see current levels somewhere
around 1 mA. For designs that go through long periods of inactivity,
ensuring the design is at the lowest current consumption possible
can lead to significant increases in battery life.
Three ways current profiling helps you design embedded systems for
maximizing battery life:
1. Capturing areas of high current consumption
Areas of high current consumption in some embedded designs include
time periods when the various systems on the integrated circuit are
active, thus the highest power draw occurs to power these various
processes. With so many tasks going on concurrently, there are typically
a number of different ways these tasks can be performed from a hardware and software standpoint. Of course, with every change in how a
task is carried out, there are always a number of tradeoffs. One of those
tradeoffs is often power consumption.
3. Stochastic battery modeling
Capturing the dynamic current profile of your embedded design allows
you to first identify these areas of large current consumption with a high
degree of resolution. This allows you to run multiple iterations of the
same task and get an accurate picture of the effect on the power needs
of the design. Also, details in the current profile of embedded designs
often allow you to spot when different tasks begin and end. This type of
insight into the power profile allows you make performance adjustments
such as varying the clock speed and scheduling operations. Digitizing
the dynamic current profiles also allows you to spot current anomalies,
such as sudden spikes of current that averaged measurements would
not allow you to see.
There are several different battery modeling techniques you can use to
predict a device’s battery life based on its power consumption. Stochastic
battery modeling is ideal for embedded system designs that have a
dynamic current profile, such as a design that goes in and out of sleep/
idle modes or a device that has sudden current pulses, like a power
amplifier. This type of battery modeling accounts for the non-linear effects
on battery drain during high-current phases of a dynamic current profile,
and it accounts for periods of low current flow when charge recovery
can take place in the battery. For a brief description of why the battery
exhibits the behavior described above, refer to the paper, “BatteryDriven System Design: A New Frontier in Low Power Design”. [1]
The following section provides an example of the benefits of using a
stochastic modeling approach with an embedded design. For more
information on stochastic battery models, see the papers, “Importance
of a Pulsed Battery Discharge in Portable Radio Devices,” [3] and
“Battery Life Estimation for Mobile Embedded Systems”. [4]
Stochastic modeling was used on an IEEE 802.11 media access control
(MAC) processor-based embedded system design. Besides the MAC
processor, our example employs multiple integrated circuits for carrying out various tasks. Figure 1 shows the power profile of our example
embedded system running through various stages of a communication
protocol. The difference between the current profile in 1a and the one
in 1b is caused by a change in the ordering and method in which certain
tasks were carried out. See “Efficient Power Profiling for BatteryDriven Embedded System Design.” [2]
2
2500
2000
2000
Power(mW)
Power(mW)
2500
1500
1000
The dynamic current profile characterization challenges embedded design
engineers face can be overcome with the Agilent N6705A DC Power
Analyzer. The N6705A combines the functionality of four power supplies,
an oscilloscope, a data logger, a voltmeter, an ammeter, and a power
arbitrary waveform generator into a single bench-top instrument. The
N6705A’s power supply modules employ digitizers that capture the output
current profile or the output voltage profile – or both – from its outputs.
You can log the digitized data in non-volatile memory and view it on the
N6705A’s scope-like display.
1500
1000
500
500
0
Overcoming Embedded-Design
Challenges
0 50 100 150 200 250 300 350 400 450 500
Time (msec)
Figure 1a:
HW and SW Configuration 1
0
0 50 100 150 200 250 300 350 400 450 500
Time (msec)
Figure 1b:
HW and SW Configuration 2
The N6705A provides up to four power supply outputs in a single
mainframe, and each output is defined by a plug-in module. There are
21 different modules available, which vary in power range, measurement
capabilities and speed. Table 1 on page 8 provides a list of modules
that are a great fit for embedded design testing and shows their key
specifications.
For the power profile in Figure 1a, the average power over the 500 ms
is 596.2 mW, and for the power profile in Figure 1b the average power
is 590.7 mW. In this outcome, the average power of Figure 1b is less
than 1% better than the average power in Figure 1a. But calculating the
battery life of these two examples using a stochastic battery model yields
a much larger difference between the two configurations. The battery life
for the configuration in Figure 1a is 3,673 s and the battery life for the
configuration in Figure 1b is 4,783 s, which is a 30% battery life improvement [2]. The increased battery life for the configuration in Figure 1b is
due to a better mix of short-duration high current levels and ample time
periods of low current levels that allow charge recovery to occur within
the battery. If we had employed a battery modeling technique based
on averaging the power consumption of the load, such as the analytical
modeling technique [1], that 30% improvement in battery life would have
been hidden from us. To perform stochastic modeling you need to be able
to simulate and capture the dynamic current profile of the design.
For measuring low-level sleep and leakage currents, the N6705A offers
plug-in modules with a 200-uA measurement range that allows you to
capture current levels accurately down to microamp levels. Other features
on the N6705A that are valuable for embedded design testing:
• An oscilloscope-like display shows voltage, current, and power versus
time on multiple channels. This feature allows you to view in real time
the voltage, current, and power events of your designs.
• A built-in data logger continuously logs time-stamped data to a large
color display and to a file. You can log data on all four outputs at the
same time. You can save data log files to internal memory or to an
external USB memory drive.
Traditional Methods of Capturing
Dynamic Current Profiles
• Built-in waveform functions and arbitrary waveform capability let you
modulate DC outputs. An arbitrary waveform can be defined with up
to 64k points.
In the previous section we discussed the advantages of capturing a
detailed picture of the current profile of an embedded design compared
to making averaged current measurements. The downside to employing
tools to characterize the dynamic current needs of an embedded design
is the added cost and the additional configuration time required. First and
foremost, you will need some type of digitizing device like a scope with a
current probe or shunt. Since the lower range of an oscilloscope current
probe is typically limited to the milliampere range, it cannot capture the
low current levels that are typical when a device is in sleep mode. Using
some type of shunt is effective for small current ranges, but large dynamic
ranges present the problem of varying measurement accuracies because
you are using a fixed shunt. Also, at high current levels, the voltage drop
across the shunt will affect the design’s performance.
• Power on/off sequencing with slew rate control
The scope and data logging functions of the N6705A allow you to
capture and analyze dynamic current models without writing a single line
of code or putting together complicated hardware setups. Because all the
functionality of the instrument can be accessed through its front panel,
setup is quick and easy. You can view and measure the logged data from
the built-in data logger from the N6705A’s large display or export the
data from the N6705A in a .csv file (no special software needed) for post
processing, such as for performing stochastic battery modeling.
There are some specialized power supplies with built-in digitization capability to capture dynamic current, but you will need some type of software
tool and a computer to analyze the data, which adds to test configuration
time and complexity. The majority of embedded designs require multiple
power inputs, so any scope or digitizing power supply solution would
require multiple channels or you would need to take the time to move the
dynamic current capture solution to each channel and rerun the test.
3
Using the N6705A to capture the current profile
of an embedded design
To demonstrate the current profiling capabilities of the N6705A using the
data logger feature, a simple embedded design is set up using a 24-bit
microcontroller. The microcontroller-based design also employs four
LEDs and an EEPROM memory chip. The microcontroller requires a
3.3-V input supply. The 3.3 V supply is being provided by channel 1
of the N6705A using the N6762A precision power module (see specs
for modules in Table 1).
When the microcontroller is powered on, it attempts to communicate
with the EEPROM memory chip. The EEPROM chip indicates that it is
currently busy and the microcontroller goes into a power save mode that
includes setting all of the IO ports as high impedance inputs to prevent
leakage current, setting up a wake-up timer, and finally going to sleep. At
wake up, the microcontroller reconfigures its IO pins, checks the memory
chips status (which is no longer busy), and begins transferring data to the
EEPROM chip. While data is being transferred, the four LEDs are lit up to
signal a data transfer. The LEDs are cycled at a rate that, to the human
eye, gives them the appearance of continued illumination. The N6705A
data logger feature was set up to capture 16 s of the output current
profile of channel 1.
Figure 2 shows the data logger setup screen and the measurement
marker setup screen. As shown in Figure 2, setting up the N6705A
can be done quickly and easily via the front panel. Changing your data
capture or measurement settings is as easy as pushing a button.
We performed two 16 s data logs on the microcontroller circuit, each with
a different sample period (see Figure 2 for setting the sample period). The
internal digitizer performing the current measurement on channel 1 of the
N6705A is sampling at a rate of 100 kS/s. The sampling period returns
the average value of samples that occur in the sampling period. The
first data log returned the average value of samples over a 2 ms sample
period, and the other returned the average value of samples over a 40 μs
sample period, giving us increased resolution.
Figure 2. Datalogger setup screen and measurement marker setup screen
4
In Figures 3a, 3b, and 3c you will see three screen captures of the
N6705A scope-like display showing the current profile of the microcontroller using the 2-ms sample period. The N6705A allows you to
analyze all the logged data by zooming in or out and by performing
quick measurements using the built-in measurement markers. Figure 3a
displays the whole 16-s data log. Figure 3b shows a more zoomed-in
view of the current when the microcontroller powers on, checks the
status of the EEPROM chip, and then goes into sleep mode. Figure 3c
shows a zoomed-in view of the microcontroller after it wakes up from
sleep mode, reconfigures itself, and starts transferring data to the
EEPROM chip and driving the LEDs. Notice in this screen shot the
markers are being used to perform measurements.
Figure 3a. Entire 16 s data log
Figure 3b. Dynamic current switching into sleep mode
Figure 3c. Dynamic current measurements with built-In markers
5
Figures 4a and 4b show two screen captures of the data log being
performed with a 40-us sample period. Figure 4a shows all of the
16-s logged data and Figure 4b shows a zoomed-in view of the current
profile of the microcontroller after it wakes up from sleep mode,
reconfigures itself, and starts retrieving data from the EEPROM chip
and driving the LEDs.
Figure 4b. Dynamic current coming out of sleep mode
Figure 4a. Entire 16 s data log
Using a sample period like 2 ms cancels out most of the random noise to
give you an easy-to-read visual picture of an embedded design’s current
profile. It is also handy during post processing for calculating a power use
model. A short sample period like 40 μs is useful when you are trying to
capture any short-duration anomalies in your current profile. For example,
in Figure 4b we can see a sudden sharp spike of high current when the
microcontroller comes out of sleep mode and begins reconfiguring itself.
This short-duration spike of current was caused by low impedance paths
to ground that were briefly created at two IO pins on the microcontroller
during reconfiguration. In Figure 3c, in the 2-ms sample period example,
the current anomaly does not really show up, and this simple error in
the design may have gone unnoticed. Figure 5 shows a close up of the
current spike from the 40-μs sample period data log using the measurement markers. The measurement marker gives us an easy, quick way
to get the peak current value and the time stamp of the current
spike to help easily identify the point where the event took place.
Figure 5. Current spike captured using a 40-μs sample period
It is important to pick up these current anomalies during the design
process to prevent early component failure in the device from high current
values and to cut down on the device’s power cost, since periods of high
current cut down on battery efficiency.
6
Conclusion
References
In embedded system designs where power is expensive, engineers
devote significant effort to minimizing the power needs of their designs.
For embedded designers, this means adopting a dynamic power usage
model. During the design process, you need a way to accurately capture
the current profile of your embedded system’s dynamic power model to
test and analyze various power optimization techniques and understand
their tradeoffs. In the past, a solution consisted of multiple hardware
pieces and software that required significant configuration time. The
N6705A DC Power Analyzer overcomes those obstacles by providing a
single solution that can accurately capture and display a dynamic current
profile without requiring you to write any code or use special software.
1. Kanishka Lahiri, Anand Raghunathan, Sujit Dey, Debashis Panigrahi,
“Battery-Driven System Design: A New Frontier
in Low Power Design”
http://esdat.ucsd.edu/~klahiri/papers/vlsi02.pdf. 2002.
2. Kanishka Lahiri, Anand Raghunathan, Sujit Dey,
“Efficient Power Profiling for Battery-Driven
Embedded System Design”
http://esdat.ucsd.edu/~klahiri/papers/tcad-04-3.pdf. 2004.
3. C. F. Chiasserini and R. R. Rao,
“Importance of a Pulsed Battery Discharge
in Portable Radio Devices,”
in Proc. Of MOBICOMM, Aug 1999.
The N6705A is a bench-top instrument that combines the functionality
of a four-output power supply, a data logger, oscilloscope, voltmeter,
ammeter and high-power arbitrary waveform generator. In this
application note we showed how the N6705A data logger function
allows you to quickly and easily capture the current profile of your
embedded design to non-volatile memory. The N6705A data logger can
be easily reconfigured to run multiple tests using varying measurement
time interval periods so you can get an easy-to-read overall picture of the
current profile or a detailed view that will reveal short-duration current
anomalies. You can then analyze the data on the N6705A via the large
front-panel scope-like display and built-in measurement capabilities.
Retrieving the logged data out of the N6705A’s memory for post processing, such as performing stochastic battery modeling, can be easily done
through the front-panel USB port or via the Web interface, which
you can access with a LAN connection and a Web browser.
4. D. Panigrahi, C. F. Chiasserini, S. Dey, R. R. Rao,
A. Raghunathan, and K. Lahiri,
“Battery Life Estimation for Mobile Embedded Systems,”
in Proc. Int. Conf. VLSI Design, pp 55-63, Jan 2001.
Table 1 provides a list of N6705A modules that are a
good fit for embedded design along with some
of their key specifications.
Table 1: N6705A modules
DC output ratings
Max up-programming
time with full R load
(Time from 10% to
90% of total voltage)
Voltmeter/ammeter
measurement accuracy
(at 23°C ± 5°C) voltage
Voltage
Current
Power
Voltage change
Time
Voltage change
Time
Voltage high range
Voltage low range (5.5 V)
Current high range
Current low range (² 100 mA, at 0 - 7 V)
(² 100 mA, at 0 - 50 V)
(≤200 μA)
7
N6751A/52A
50 V
5 A / 10 A
50 W / 100 W
0 to 10 V
0.2 ms
0 to 50 V
1.5 ms
0.05% + 20 mV
N/A
0.1% + 4 mA
N/A
N/A
N6754A
60 V
20 A
300 W
0 to 15V
0.35 ms
0 to 60 V
2.0 ms
0.05% + 25 mV
N/A
0.10% + 8 mA
N/A
N/A
N/A
N/A
N6761A/62A
50 V
1.5 A / 3 A
50 W / 100 W
0 to 10 V
0.6 ms
0 to 50 V
2.2 ms
0.016% + 6 mV
0.016% + 1.5 mV
0.04% + 160 μA
0.03% + 15 μA
0.03% + 55 μA
0.5% + 100 NA
(Option 2UA)
www.agilent.com
Remove all doubt
Our repair and calibration services will
get your equipment back to you, performing like new, when promised. You
will get full value out of your Agilent
equipment through-out its lifetime.
Your equipment will be serviced by
Agilent-trained technicians using the
latest factory calibration procedures,
automated repair diagnostics and genuine parts. You will always have the utmost
confidence in your measurements.
Agilent offers a wide range of additional
expert test and measurement services for
your equipment, including initial start-up
assistance, onsite education and training,
as well as design, system integration, and
project management.
For more information on repair and
calibration services, go to:
www.agilent.com/find/removealldoubt
For more information on Agilent Technologies’ products, applications
or services, please contact your local Agilent office. The complete
list is available at:
www.agilent.com/find/contactus
Americas
Canada
Latin America
United States
Asia Pacific
Australia
China
Hong Kong
India
Japan
Korea
Malaysia
Singapore
Taiwan
Thailand
www.agilent.com/find/agilentdirect
Quickly choose and use your test
equipment solutions with confidence.
1 800 629 485
800 810 0189
800 938 693
1 800 112 929
0120 (421) 345
080 769 0800
1 800 888 848
1 800 375 8100
0800 047 866
1 800 226 008
Europe & Middle East
Austria
Belgium
Denmark
Finland
France
Germany
www.agilent.com/find/emailupdates
Get the latest information on the
products and applications you select.
(877) 894-4414
305 269 7500
(800) 829-4444
Ireland
Israel
Italy
Netherlands
Spain
Sweden
Switzerland
United Kingdom
01 36027 71571
32 (0) 2 404 93 40
45 70 13 15 15
358 (0) 10 855 2100
0825 010 700*
*0.125 €/minute
07031 464 6333**
**0.14 €/minute
1890 924 204
972-3-9288-504/544
39 02 92 60 8484
31 (0) 20 547 2111
34 (91) 631 3300
0200-88 22 55
0800 80 53 53
44 (0) 118 9276201
Other European Countries:
www.agilent.com/find/contactus
Product specifications and descriptions in this
document subject to change without notice.
© Agilent Technologies, Inc. 2009
Printed in USA, December 15, 2009
5990-4399EN