SAN FRANCISCO – Silicon Labs will develop a power management application programming interface (API) for ARM’s mbed device software that targets the Internet of Things. The API will be rolled out this month with Silicon Lab’s 32-bit EFM32 Gecko microcontroller, which runs mbed on an ARM Cortex-M.
Silicon Labs did not provide specific power consumption goals, but pointed to several features enabled by its API that could reduce power. For example, it automatically enables an optimal sleep mode based on the MCU peripherals in use.
“The new power management APIs for ARM mbed make it possible for developers to create applications that take advantage of the low-power features of ARM Cortex-M based microcontrollers,” ARM’s Zach Shelby, vice president, IoT business marketing, said in a release. “This is an important step toward enabling full energy-awareness in IoT devices.”
Using a feature like optimal sleep mode, an application updating a clock display every second on an LCD showed a current consumption reduction from 1.03 mA to 0.100 mA. In a community forum post, ARM engineers described the demo that managed such power reductions.
Instead of waiting for a long-running I/O operation to complete, a programmer can now register a callback to be notified of the operation’s completion. The processing time which has been freed up can then be used to either sleep and reduce power consumption, or do other processing in parallel. Additionally, the new sleeping API dynamically determines the best sleep strategy based on the application’s state...this will give a more accurate idea of the power profile the application could exhibit with some more tweaking.
The API selects the best sleep mode in between one second cycles so the processor only wakes up sporadically to generate the required 64 Hz output.
Tom Starnes, a processor industry analyst at Objective Analysis, said a chip-specific API is good, but it would be nice to have a uniform set of power management APIs for all ARM users.
"Special attention is needed in an MCU environment where there are numerous opportunities for real-time interrupts to hammer the processor for attention. You don't want the wrong circuit asleep or its state improperly saved when it is needed," Starnes told EE Times. "Having a set of APIs that are well thought out for the dynamics of power management is pretty critical."
— Jessica Lipsky, Associate Editor, EE Times