There’s an article available that describes power measurement results for the PandaBoard, however, they only measure the power on the global +5V power-supply board connector. This approach lacks the detail to differentiate which chip consumes the power, and which core within the OMAP4430 chip. In this article I will describe how you can measure the power consumption of the OMAP4430 on the Pandaboard with sufficient accuracy to support software source-code optimizations, and get more insight into the power consumption of the different cores.
The OMAP chip has multiple power pins on its package, intended to perform detailed power control (voltage and frequency adjustments), tuned to application or use-case requirements. In particular, I am interested in the power consumed through these pins:
More information on the architecture can be found in the OMAP4430 data book.
In the PandaBoard reference manual you can see that the power for these pins is provided by a dedicated TWL6030 power regulator IC. The diagram below shows the key parts of the schematics around this IC.
To analyze the power consumption, we measure the voltage on and current through the inductors L18, L21 and L13, using their ohmic internal resistance, ignoring their inductance. So measuring their current is done by measuring their DC voltage drop, as well as their DC resistance. Note that the amount of AC voltage on these inductors is expected to be low. (You cannot measure the DC voltage drop on L17, L19, L14 as easily, since those DC voltages are swamped in highly disturbing AC voltages.) I am primarily interested in L18 for the
On the PandaBoard, these two inductors can be located according to the picture on the right, highlighted with red and orange
According to the datasheets of these inductors, the (larger) L18 should have a resistance of < 0.05 Ohm. We measured its value at 0.041 Ohm. The (smaller) L13 should have a resistance of < 0.09 Ohm, which we measured at 0.075 Ohm. Note that it is not easy to accurately measure such low values: we did so by sending a known DC current through these inductors while the board was switched off, and measure their voltage drop. The accuracy of these resistance values dominates the overall accuracy of this power measurement scheme.
The SMPS input voltage (
The resulting power consumption has an estimated accuracy of 10%. Note that the power measured on these interfaces measure the on-chip core (processor) components. The power consumed in for instance the DDR interface drivers is not yet in here: those appear on different power-supply pins.
With these measurements you can determine the power in the OMAP4430 ARM and SGX domains independent from each other, ranging roughly from 0.1W to 1W depending on the use-case, where a resolution of 10mW is easily obtained. The measurements give direct and quantitative feedback on the effects of application source code transformations and operating system idle power. This enables the calibration and verification of a model for application-software power consumption.
If you are planning to repeat this power measurement method with your own Pandaboard and software, obtain additional results, please keep me posted, I will be happy to learn from you! Obviously, this includes ideas on program source-code transformations that lead to power savings.