This project seeks to improve the energy efficiency of cost-sensitive embedded computer systems by splitting them into multiple separate voltage domains and running each as efficiently as possible by adjusting voltage and frequency dynamically. Improving energy efficiency allows a designer to extend a system?s operational life, reduce battery size and weight, and/or improve functionality. Switch-mode power supplies are commonly used to convert power efficiently from one voltage level to another. However, existing switching power supplies are often quite expensive compared with the microcontrollers and peripherals which they power. The major challenge in exploiting multiple voltage domains to save energy is to make power supplies that are efficient yet inexpensive enough to be practical for low-cost devices. The innovation here is to move control of the power supply into software and a low-cost generic microcontroller, which can be shared by the embedded application. Real-time systems scheduling techniques ensure that the entire system works reliably and that the power supply does not emit electromagnetic noise during periods that the system needs to perform noise-sensitive operations. Advanced Gallium Nitride (GaN) transistors are used to achieve high switching frequencies, enabling the use of smaller and less expensive components. New, highly efficient methods are developed to store and use energy from energy-scavenging devices (photovoltaic, thermoelectric, ambient radio).

Improvements in power supply technology mean lower energy consumption and longer battery life for electronic devices, and lower production costs. Beyond developing such technology, the project advances education in it.

Project Report

Embedded systems are computers embedded within other devices, such as thermostats, watches, microwave ovens, automobiles, and baby monitors. They are ubiquitous and touch many aspects of modern life. This project developed methods to improve the energy efficiency of cost-sensitive embedded systems. Improving energy efficiency allows a designer to extend a system's operational life, reduce battery size and weight, and use more sophisticated (and computationally intense) control methods. One way to reduce power use is to increase the number of separate voltage domains in a system, allowing more components to run at lower voltages and hence use less power, as power use is proportional to the square of the voltage. Adding a voltage domain using traditional methods raises costs by adding hardware such as a voltage converters and level translators. There are two common types of voltage converters: linear converters are inexpensive and simple but inefficient. Switching power converters are efficient but complex and more expensive. Some electronic devices (e.g. personal computers and cellphones) are expensive enough to afford multiple switching power converters, but many embedded systems are so price-sensitive that they cannot. Our methods make it inexpensive to add voltage domains with switching power converters. We reduce costs by moving the control functionality into software and general-purpose hardware in the same microcontrollers which is running the rest of the system. We use real-time task scheduling concepts, structures and analyses to ensure that the control system software always executes on time and can never miss its deadlines. We developed analytical models for various important characteristics of buck converters for use in our overall design method. These models were validated both through simulation and experimentally using actual systems. We developed several simple, low-cost converters controlled by a microcontroller development board to evaluate and validate our concepts. We designed these converters specifically to operate at low voltages, with little power loss and with low cost . We have developed optimized SMPS control software for two MCU architectures, Renesas RL78 (16 bits, 32 MHz) and ARM Cortex-M0+ (32 bits, 48 MHz). The controller code for the buck converter was written in C and leverages the MCU peripherals to reduce software loading. Control calculations are performed using fixed-point math using native multiply/accumulate operations if available. The RL78/G14 version of the controller code requires only 6.3% of the CPU's time, leaving most time free for other work. The Cortex-M0+ version of the controller code uses 13.6% of the CPU's time. One of the ultimate goals of the project has been to show that it is feasible to use low-cost buck converters controlled by an application MCU (rather than dedicated stand-alone converters) in order to reduce the power used by the system. We applied our methods to an example embedded system: a tracking device which uses its GPS receiver to determine location and velocity and logs these data to a microSD card once per second. The system includes a graphical monochrome LCD, a ARM Cortex M0+ microcontroller, Freedom-KL25Z development board and three low-cost asynchronous buck converters. The power system contains three supply rails (1.8 V, 2.8 V, and 3.3 V) to save power. The peripherals have minimum operating voltages ranging from 1.6 to 3.3 V, so adding rails allows us to operate more of them at lower voltages, saving power. Using our methods we demonstrated power savings of up to 50% against a system with one 3.3 V supply rail. Our system reduced costs by eliminating $1.55 of dedicated SMPS controller chips in a power supply costing $2.58.

National Science Foundation (NSF)
Division of Computer and Network Systems (CNS)
Standard Grant (Standard)
Application #
Program Officer
Marilyn McClure
Project Start
Project End
Budget Start
Budget End
Support Year
Fiscal Year
Total Cost
Indirect Cost
North Carolina State University Raleigh
United States
Zip Code