Using sensor controllers to reduce power consumption in mobile computing
Mobile devices have become fundamental tools for most of us, making it much easier to keep up with today’s fast-paced lifestyles. To do this effectively, they must have an easy-to-use interface and be able to handle multiple tasks at the same time. They also have to be light-weight and have an extended battery life in order to keep functioning until the end of the day.
Devices such as smartphones, tablets, and ultrabooks are evolving rapidly to satisfy our needs. Developers are challenged to add all the essential features and enclose them into a small, functional yet attractive case, make them easier-to-use with batteries running for more than 8 hours.
Challenges in mobile computing
The most common challenges facing mobile computing system architects are reducing system size, cost, power consumption, and improving human machine interfaces (HMI). Size is a key feature in mobile computing because for mobile devices the systems have to be designed as small and as light as possible. Main processors and RAM are stacked up system-in-PCB to reduce the size of the printed circuit board (PCB). The 3G/4G, GPS, Wi-Fi, near field communication (NFC), Bluetooth, and AM/FM radios are now combined in system-in-packages. The battery charger, fuel gauge, oscillators, and power regulators are also combined in a single package. The challenge is to keep miniaturizing these modules while adding more features to the system.
Cost is one of the other driving requirements of the design cycle. The cost of the bill of materials (BOM) should be as low as possible without sacrificing system features. Self-sufficient devices with minimal external components are always desired. Every resistor, capacitor, inductor, regulator, or glue-logic associated to an active component impacts the total cost of the system.
Users now expect that a device will run for at least 8 hours. Current rechargeable battery technologies are based on lithium-polymer chemistry, which has helped increase battery life from 4-5 hours to at least 8 hours, but improving battery technology alone is not enough to assure maximum running time. System architects have to create a power budget for every block inside the system. The most power-hungry blocks are the 3G/4G and GPS radios, followed by the Wi-Fi, Bluetooth, NFC, and AM/FM radios. These radios are usually combined in a single package and are controlled individually by the host processor. A host processor consumes most of the battery charge since it has to be on most of the time. It manages complex tasks such as receiving/transmitting information over the 3G/4G radios, computes complex algorithms to render the images displayed on the screen, accesses information stored on the memory, plays music files, etc. System and software architects work together to keep the main processor in low-power modes as much as possible.
Sensors are a fundamental part of the human machine interface; sensors help the system identify the context and environmental conditions. Motion sensors such as accelerometers, gyroscopes, and magnetometers identify whether the system is on a flat surface or whether it is being moved or tilted in a certain position. They provide the orientation of the system and also help provide a more accurate position of the system by increasing the resolution of the GPS with dead-reckoning algorithms. They can also be used in conjunction with the Wi-Fi or 3G/4G radios to determine the position of the system inside a building where the GPS signal is not available. They are the preferred interface, and commonly used, in gaming and augmented reality applications. Sensors in mobile computing applications can track ambient light, barometric pressure, touch, temperature, and voice recognition.
Ambient light sensors help dim the backlight of the screen according to the surrounding light and can also be used as proximity sensors. Multiple ambient light sensors configured as proximity sensors can be used to identify gestures and offer an alternative to touch sensing interfaces. Barometric pressure sensors are used in altimeter applications. These sensors, along with the motion sensors, enable the device to become an indoor navigation system.
Touch sensors are currently the most common human machine interface; they are on every smartphone and tablet and are the preferred typing interface in small factor devices. Touch sensors are typically mounted on the displays.
Temperature sensors are widely used to keep track of the hot spots on the system. They provide feedback to the system to do thermal and power management.
Finally, voice recognition has been re-introduced to mobile computing devices. Algorithms have been enhanced so they can filter out noise and can understand people with different accents. Technological advances in microphones and analog-to-digital (ADC) devices have made this technology more affordable and efficient.
Click on image to enlarge.
The application processor in a typical tablet system is in charge of system management tasks such as power regulation, thermal management, reading sensors, and backlight control. The architecture prevents the main processor from staying in low-power mode for extended period of times because it has to maintain system management tasks, such as reading the sensors, in order to maintain context awareness. Many of these tasks require high sampling rates.
An example of this problem occurs when reading motion sensors, which have sampling rates varying from 1msec up to 1sec. If the system has to sample the motion sensors every 1msec, the main processor has to run longer, therefore burning more power. Other tasks have a lower sampling rate, but since they create asynchronous events, the overall effect is similar when combined with other tasks. An example of this occurs when multiple thermal sensors create reading events and are combined with available data from the battery charger and fuel gauge devices.
The sensor controller
A solution to the problems described above is to use a sensor/aggregation hub controller. This proposed solution is shown in the block diagram in Figure 2. This system approach helps extend the period of time in which the main processor is in lower power mode and as a result, reduces the overall system power consumption. This is achieved by aggregating the data coming from the sensors and other modules in order to reduce the interrupt latency on the application processor.
Click on image to enlarge.
Figure 2. A block diagram for a typical sensor hub controller solution to extend the period of time in which the main processor is in low power mode.
In this example, a microcontroller can be used to aggregate the sensor data, merge the data, and report pre-processed information back to the main processor, therefore extending the time in which the main processor is in low power mode. The MCU can also provide context to the application processor by reading and processing the information from multiple sensors that perceive the interaction of the system with the real world. The MCU can detect if a system is on a user’s lap, a table, or whether there is a human nearby while the main processor is off. Once the MCU has detected this interaction with other systems or humans, it can wake the main processor from sleep mode.
The microcontroller should have the ability to maintain the context at all times; it also has a limited power budget assigned due to the fact that it will be continuously running and it is undesirable to drain out the batteries completely. The average power consumption of this device should be limited to less than 10 mW.
System developers should consider the following features when evaluating MCUs for mobile computing applications:
- Low current consumption when CPU is active. The current consumption in active mode should be under 100µA / MHz.
- Efficient and intelligent low power modes. The MCU should be have multiple low power schemes that can disable specific internal modules, memory sections, and clock sources in order to save energy.
- Smart peripherals. These should be able to operate and process information while the MCU is in any of the low-power modes.
- Fast wakeup times. The MCU should be able to recover from low power modes in less than 5 µS with the goal of staying in low power modes for longer periods of time. It should also be able to enter into low power mode in less than 1 µSec.
- Low current consumption when CPU is in standby mode. Current consumption in standby mode should be less than 2 µA.
- Low-power memory. The MCU should have non-volatile RAM technology with fast-write and fast-read memory technology for ultra low power consumption when data is read / written. FRAM technology fulfills these requirements.
As a reference for this example, the ultra-low power MSP430 microcontroller from Texas Instruments fulfills these requirements while providing best-in class performance per µW. The following section shows real test results for the MSP430 in which the ultra-low power features helped to reduce the overall system power consumption when used as a sensor controller.
The tests were conducted on a PandaBoard, which is powered by an OMAP4430 processor from Texas Instruments Incorporated (TI), and also uses TI’s ultra-low power MSP430 MCU as the sensor controller. The conditions under which the system was tested are shown in Figure 3.
Click on image to enlarge.
Figure 3. Data flow in Android for the test case scenarios of the sensor hub controller
The first test case (1A) determined system orientation (yaw, pitch, and roll) by fusing the data on the X, Y, and Z axis available from accelerometer, gyroscope, and magnetometer. This data blending is done by the Android Kernel running on the main processor, and is based in raw sensor data passed by sensor hub MCU. The second test case (1B) also determined system orientation (yaw, pitch, and roll) by fusing the data on the X, Y, and Z axis available from accelerometer, gyroscope, and magnetometer, but this time, the data blending was done by a sensor hub MCU, and the data was then passed to the Android application as orientation values.
Click on image to enlarge.
Figure 4. Total PandaBoard current vs fusion implementation. Using MSP430 to calculate fusion results saves up to 170mA of power on the PandaBoard
The system current consumption is significantly smaller when the sensor hub controller preprocesses and aggregates the incoming data from the motion sensors. The current consumption is reduced as much as 20 percent in some cases. These power savings are more evident in sampling rates ranging from 10mS up to 100mS. In test case 2A, the sensor hub sends buffered pedometer data (a step count) to the Android application every second and the application displays the step count. In test case 2B, the sensor hub sends data from the three axes of accelerometer to the Android application every 50mS as required by the pedometer application. The main processor is not executing a pedometer algorithm; if it were, the power delta would be even higher.
Click on image to enlarge.
Figure 5. System power savings using an ultra-low power MSP430 microcontroller for a pedometer application.
In this data buffering scenario, it is evident that the sensor hub controller provides significant power savings by buffering the accelerometer data. The current consumption is even more evident when running a pedometer application. Power saving is more significant when the algorithm was executed for a period of 1 minute. Having the sensor hub controller computing the pedometer algorithm represented a saving of up to 38 percent in the overall system current consumption.
Current measured in-line on 5V supply with 6-1/2 digit multimeter (DMM) – reported currents were the average reported by the meter after 2 minutes of operation. Baseline PandaBoard current running Android with no application active – average current during 2 minutes of observation after Android booted and not running any application was 392mA.
Other aggregation cases: The sensor hub MCU also could be used for controlling and aggregating data from other sensors and systems such as temperature sensors, ambient light sensors, touch controllers, haptic controllers, battery charger, and fuel gauging devices. The MCU can also run algorithms to determine the position of the system based on the angular velocity and linear acceleration. These algorithms can always be running whenever the system is on the move while the main processor is in low-power mode.
This sensor hub MCU can do thermal management functions with the temperature information reported by the sensors; it can determine the "hot spots” on the system and shut down certain modules in the system. It can also use current sensors and power switches to create an intelligent thermal/current management scheme while the main processor is in low power mode or running other tasks.
Another use case for a sensor hub controller is to dim the screen backlight according to information reported by the ambient light sensor. It can also run algorithms to determine if the system is inside a bag, case, or pocket.
Click on image to enlarge.
Figure 6. Aggregation hub. The MCU can be used to control and pre-process data from other modules.
The sensor hub controller approach described in this article is a low power and cost-effective alternative to alleviate some of the existing challenges of designing mobile computing systems. The hub MCU can help reduce the system power consumption by taking care of the system management tasks. These tasks can be sampling information from sensors and other modules in order to perform corrective or preventing actions such as thermal management, power control, system orientation, and location. This preprocessed information can then be reported to the main processor at lower rates in order to reduce power consumption while maintaining context awareness.
Daniel Torres received is a senior system applications engineer at Texas Instruments Incorporated (TI) and has more than ten years of experience in electronic systems. He has published several application notes and papers describing multiple applications for microcontrollers. His professional interests are MEMS systems and sensors, Ultra-Low-Power systems, Motor Control, Power Electronics, Analog systems, and Digital Signal Processing.