Energy Profiling for Mobile and Embedded Computing Devices

Mobile and embedded computing devices have become the dominant type of computing platforms. The key requirement for these devices is energy-efficiency, underscored by growing reliance of consumers on services delivered through them and their growing complexity and sophistication. In order to identify energy-consuming components and activities and provide a guide for optimizations, device manufacturers and application developers need a detailed measurement-based characterization of energy consumed by applications running on battery-powered devices. To address these needs we developed an environment for automated energy measurements of applications running on mobile and bare-metal embedded computing devices.

Our setup for energy profiling consists of a device under test, an NI PXIe-4154 battery simulator, an NI PXIe-6361 data acquisition (DAQ) with an external Shielded I/O Connection Block (SCB-68), and a workstation (see figure below).

The block diagram illustrates connections and control flows in energy-profiling tasks of two types of devices under test: an Android mobile and a bare-metal embedded device. However, the setup can also be used to profile applications running on other mobile software platforms such as iOS, Tizen, or Windows Mobile.

The workstation connects to the battery simulator and the DAQ through an MXI-Express card plugged into its PCI Express. When profiling Android mobile devices, the workstation connects to them through either a wireless LAN interface or through a wired USB interface. mLViewPowerProfile runs on the workstation and controls concurrently both the battery simulator (with DAQ) and the device under test. Below, you can see mLViewPowerProfile's graphical user interface. A user can configure channels of the battery simulator by setting its voltage and current limits, the sampling frequency, the transient time, as well as software driver parameters that control fetching the current samples from the battery simulator.

To prepare the smartphones for energy profiling, their underlying plastic shields are removed or modified to reveal connections on their motherboards and daughter boards (shown using OnePlus One as an example). The smartphones’ batteries are removed, and power connectors from the battery simulator are connected instead (for OnePlus One, internal USB cable is rewired to battery connector). Connectors to smartphone components such as LCD display, touchscreen, USB, and others can be easily unplugged during power profiling, thus enabling selective profiling that excludes energy consumed by these components.

To prepare an embedded device (Smart Button) for energy profiling, its battery connector is disconnected and replaced with a fitted power connector from the battery simulator. The connector from the battery simulator is made long enough to be able to perform tests that require walking short distances. One or more digital outputs from the Teensy platform are connected to the DAQ inputs. This way, the device’s firmware can generate triggers that are precisely captured by the DAQ (e.g., when a new command is received over the Bluetooth interface). These triggers can then be used when processing current samples captured by the battery simulator to determine energy consumed in certain portions of the firmware.

Relevant publications: [Elsevier.MEAS'16] [ACM.SE'13]