Home > Hardware, Linux, Testing, Texas Instruments OMAP 4 > SoC Power Measurement with ARM Energy Probes and Linux EAP Tools

SoC Power Measurement with ARM Energy Probes and Linux EAP Tools

November 29th, 2012 Leave a comment Go to comments

Andy Green, TI Landing Team lead at Linaro,  gave an interesting presentation entitled “How to measure SoC power” at Linaro Connect Europe 2012. This talk was specifically aimed at software engineers, so that they know how to properly measure power consumption, and take actions to optimize the software to decrease it.

In the first part of the presentation, he gives an overview of electronics basics with definition of voltage, load, current and power, units used for power measurements (Clue: you need to use Watts), and how voltage, current and power can be measured with voltmeters and ammeters. When you want to measure power in a rail, you would usually insert a shun resistor, use a multimeter and derive the power from the resistance and the measured voltage (P=V2/R). He also gives details about regulator efficiency, choosing measurement sampling…

There are 4 common measurements strategies:

  • DC IN – Easiest way, gives the complete board consumption, but you cannot see exactly which parts of the board consume power
  • Indirect output-side regulator measurements – Measure at the regulator level
  • Shunts on all SoC rails – Useful to measure SoC power
  • Shunts on all board assets – Most ideal scenario, shunts on all power consumption in exact detail, using many channels. Samsung Origen board is particularly suited to this measurement strategy as the board breaks power tree into 14 shunts.

ARM Energy Probe (AEP) Hardware

The ARM Energy Probe (AEP) allows you to measure power via up to 3 channels composed of 2 voltmeters each. The channels appear as ttyACM serial ports in Linux. The green cable below is used for grounding.

ARM Energy Probe

This is the probe used at Linaro for power measurement, and Andy explains in details how to add 3 probes to the Pandaboard by soldering shunts at strategic locations on the board, headers for the probes, etc.. The final result looks like that:

You can get further information and/or a quote on ARM Energy Probe page. Documentation is available in ARM Information Center.

He then explains there can be variability in power measurement due to the weather temperature, measurement bandwidth (if you are really unlucky), differences between channels, low voltage (15mV) challenges, and more.

Power Measurement with Linux AEP App or AEPD + HTML5 User Interface

After going through electronics basics, power measurement methods, and having massively hacked your board to add probes, you can now take power measurement using AEP app, an open source command line tool for Linux or, possibly better, aepd daemon and seeing the result in an HTML5 page in your browser (Google Chrome or Chrome for Android).

Linux AEP app (arm-probe) gather measurements by synchronizes sampling across multiple energy probes, outputs ascii numbers in column format in a Gnuplot-friendly output, e.g.

Sample# volts amps watts

A better way is to capture the data via aepd daemon and transforms your web browser into a “power scope” as it updates data in real-time at 24 fps. The “power scope” is accessible via a local or remote network link.

AEPD “Power Scope” in Google Chrome

What makes it different from an oscilloscope, is that all samples can be recorded in to a file having basically an infinite data memory, and you can just see previous data by scrolling back in the browser. Other features include rail selection (so you only see one channel), instantaneous average, 2 sliders at the top of the window that allow to adjust the duration and power zoom, search function are more.

The source code for arm-probe, aep and libarmep is available on git://git.linaro.org/tools/arm-probe.git. This repo also contains a PDF presentation (arm-energy-probe-101.pdf) that gives further technical details about the ARM Energy Probe, and arm-probe command line  tool.

A recording of the presentation is available on Youtube (56 minutes with rather poor audio).

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

  1. No comments yet.
  1. No trackbacks yet.