In embedded designs, power management and power efficiency go hand-in-hand, and are crucial for ensuring that you have a viable end product, as well as an environmentally-sound one. This is true for a vast range of embedded products today across verticals from industrial applications to medical devices and other mission critical use cases.
The factors that contribute to optimal power efficiency are complex, and this is an area that OEMs often struggle with in an effort to develop solutions that sell and that meet their customer requirements while also doing their part for the environment. Knowing the pitfalls, and selecting a development platform that is designed to help developers design power-efficient products are key issues.
In this blog post, we cover the challenges to overcome, and the various power management techniques, tools and options available in IoT systems.
Power Management and Power Efficiency: The Key Concepts
If you are designing products for industrial, medical or other demanding applications, both power management and power efficiency can be differentiators.
Here's a look at each of these concepts:
Power management is the practical process of controlling power use in a system by hardware or software. For example, you can actively or automatically disable an unused system component with the goal to save power.
Power efficiency, on the other hand, is officially defined as the ratio of power output to the total power input provided to a system.
Putting Power Management to Use
Additionally, I would like to extend the definition of power efficiency to the ratio of useful
power output to the total power input provided to a system. We can define useful power output in the context of an IoT or computing system as the feature set a product can support with a given power budget. For example, this might include connecting a display, a camera, and other internal or external components to a system.
This is one of the key parameters in any system design and integration, especially critical for mobile or size-constrained devices. A common goal in product development is to optimize the power budget to support a required feature set and/or to utilize less energy to perform the same task, eliminating energy waste.
In other words, power management is a practical approach to increase power efficiency.
Why Does Power Efficiency Matter?
There are some over-arching reasons for power efficiency that are independent of particular application needs. For example, more efficient use of power can help to reduce greenhouse gas emissions for lower impact on the environment. It can also help to lower operating cost of products due to lower power consumption.
Power Efficiency Use Cases
In addition to reducing costs and environmental impact, there are many specific applications have a need for power efficiency. Let's look at some examples.
In an industrial application such as agricultural irrigation or feedbin monitoring, the OEM may have a fixed power budget. By maximizing the efficiency of that system, more compute power can be integrated and additional features can be deployed, but only when needed.
In a medical or transportation application, size may be the most limiting factor. Hence, by running the system more efficiently, you can reduce the number of heat sinks and fans because less heat is being generated. At the same time, a smaller power subsystem would be required. This can even lead to increased safety and reliability of the device.
In an untethered medical application, such as a cart-based product, mobility of a system may be required, which would define the need for a smaller, more agile platform. This choice is far simpler if the system is lighter weight, or designed for extended operation on battery power.
Benefits of Power Management and Power Efficiency
As we can see from the use case examples, there are many direct and indirect benefits of higher power efficiency. These include:
Battery life improvements.
Improved thermal behavior and temperature reduction.
Reduced product size and cost with fewer moving parts, smaller batteries and power supplies, and overall smaller enclosure size increasing the potential mobility of a device.
Reduced environmental impact.
And improved reliability, increased product lifetime and better MTBF (mean time between failure). You may have noticed that MTBF values are typically provided with a specific temperature value, lower temperature typically means better MTBF values.
Power-efficient systems typically provide a set of features for power management to ultimately maximize their efficiency.
Next, we will discuss each of these power management techniques individually, and how the Digi ConnectCore® development platform has unique benefits or provides added value.
Managing Power Efficiency with System-on-Modules (SOMs)
One of the key advantages of using system-on-modules comes back to power efficiency, in that the SOMs permit the use of "power domains." This means that the SOM can be handling the majority of the processing for the application, thereby allowing most of the remaining components, either on the SOM itself or on the baseboard, to be shut down or significantly power reduced.
For example, the developer can design in the ability to reduce power or shut off wireless components or even I/O that's not being used. On multicore or heterogeneous compute systems, it is often possible to extend this principle to allow control over individual CPU cores. Another example is a cellular modem or memory that's external to the module.
While each of the power gains may be minimal, when you add them all up, their sum becomes significant. See our power management documentation
for additional information on how this works.
Next we will cover some specific mechanisms for improving power efficiency using SOMs.
DVFS (dynamic voltage and frequency scaling) is a feature of modern computing systems that provides automatic adaption of CPU frequencies and voltages according to the actual system load.
In the Digi solution, this can be fully customized per CPU core using pre-defined templates.
Additionally, DVFS can be applied to the GPU (graphical processing unit) as well, further increasing potential optimization of power efficiency.
Boot Mode Configuration
Another feature to mention is the boot mode configuration. Traditional embedded systems are fully powered as soon as the power supply is attached. Providing a power key can help to significantly reduce power consumption when the system is not in use.
The Digi ConnectCore SOM platform offers a configuration option to switch from "boot on power" to boot the system as soon as power is applied to "wait for power key" to only boot the system when the power key is pressed and vice versa. You can read more in our boot mode configuration documentation
Sleep Modes and Wake Times
Boot mode goes hand in hand with sleep modes, which provide the ability to send the system into various low power states with different power consumption levels for different use cases.
These low power modes can typically be set up using either software or hardware configuration, and can often be activated by an application or system call, or by using buttons or similar functionality.
In many applications, such as in a vending machine or parking meter, a fast wakeup time from a low power state is required. You don't want users to have to wait until the system has fully booted the operating system in these use cases.
Suspending the system to a self-refreshing RAM allows short wakeup times with a relatively low power consumption.
Digi has optimized the ConnectCore SOM platform to achieve ultra-fast wake up time in the range of a few milliseconds.
Power Management Considerations and Tradeoffs
As with all aspects of embedded product development, there are trade-offs to consider. This is certainly true of sleep modes and wakeup times. For example, if wakeup time is not the most relevant aspect in your application, you may want to opt for lowest power consumption instead.
However, in most applications simply cutting power is not sufficient. Often you want to maintain at least a clock to keep date and time, or offer more options to restart the system other than just attaching power. Many systems offer a power off or RTC mode to provide this functionality with as low as possible power consumption.
Here is some practical context for these considerations with actual values, which can help to illustrate the magnitude. A typical system on module based on an NXP i.MX processor that normally consumes around 500mW under heavy load, for example while decoding a video, could consume around 10mW in suspend to RAM and less than 10uW in power off or RTC mode. This is the practical tradeoff between fastest wake up time and lowest power consumption, and of course you can combine both options as needed.
Managing Wakeup Events
Efficient systems provide several sources for wakeup events that can be used to resume operation from any of the low power states.
One of the most common wakeup sources is an interrupt-capable GPIO, which can be toggled using an external component. The simplest approach would be using a button or switch, but it can be used for more sophisticated logic using an external micro controller.
Another very common option is to use the real time clock simulating a timer.
If the system offers one or more tampering pins, which are normally used to detect external unauthorized intrusion into the system - for example, an attacker trying to open the enclosure - this can be used as a wakeup source as well, to allow the system to react to a security breach, even while being in a low power state.
Power Management Techniques and Strategies
Whenever possible, it is a good approach to utilize the component with the lowest power consumption in the system for power management tasks. Here are some of the strategies to consider:
Many developers add external very low power microcontrollers to "outsource" power management.
Digi adds an additional low power controller we call "microcontroller assist," or MCA, onto ConnectCore SOMs, but external to the actual processing cores, which can be utilized for power management. For example, the MCA provides GPIOs, tampering pins, and also a serial port as additional wakeup source. The system can be configured to wake up on a magic word coming in on the serial interface of this MCA.
The Power key is a useful feature we discussed earlier, as it offers the option to utilize different boot modes.
Wake on LAN - as an option to wake the system remotely over a network - is available on many systems, similar to the serial interface, using a magic word or pattern or arbitrary data to resume normal operation.
And finally, waking up from a low power state using wireless is still not very common in many systems as it requires the RF component of the system to be powered in some way. Digi has recently included Wake on Bluetooth on its devices which is a nice addition to the list of wakeup sources adding additional options for applications to interact with devices operating in low power states.
Most of these features typically require lower level system access through a command line, or at least require configuration at the operating system level.
A user friendly IoT system should provide a mechanism to allow developers to utilize power management features from within their application code.
Digi has added a programming interface called APIX to its operating system offerings, allowing programmers to access many of the embedded hardware interfaces of the system, and in addition this set of APIs also provides high level access to power management capabilities.
This can be used, for example, to control CPU and GPU frequencies, disable and enable CPU cores, set up temperature management templates, and so on.
Scalability Considerations in Power Management
Another point to mention in the context of power management and efficiency is the scalability of a system. If you use an IoT solution that allows you to easily scale from low-power, lower-performance devices to higher performance devices, you can potentially achieve the most power-efficient implementation for a specific application, with options for increasing product functionality or further optimizing efficiency in the future.
Many compute solutions today offer heterogeneous architectures with multiple CPU cores in different performance and consumption levels, such as ARM Cortex A, Cortex M and so on, which can be individually powered as needed. This allows for very efficient system implementations.
Ideally the software offering in such a system is optimized to use this hardware advantage. And that brings the discussion to Digi's highly integrated, scalable solutions.
Embedded Solutions from Digi
Digi's OEM Solutions business unit offers a wide range of embedded solutions, including:
The Digi ConnectCore® system-on-module product family, offering a highly integrated software and hardware platform with built-in wireless connectivity and security, designed for rapid development and fast time-to-market. These include ARM-based embedded system-on-modules and single board computers using NXP's i.MX application processors.
Digi RF and cellular communication modules supporting various protocols for IoT connectivity, such as short range RF, LoRaWAN and LTE. These include Digi XBee® RF and cellular communication modules, which provide a common form factor supporting multiple RF technologies, and the Digi LoRaWAN solution.
In addition to highly integrated hardware and software, we have a suite of development tools, as well as code libraries and excellent documentation, which further simplify common design activities.
To ensure we offer the most cutting edge solutions on the market, Digi partners with leaders like NXP, Microsoft Azure and AWS to bring more complete solutions to market.
The Digi Difference
Digi's mission is to simplify and accelerate the development, deployment and management of secure, connected devices
, with a systems approach to integration that we call "hardware enabled, software defined." Our solutions are built on these key strategies:
We provide industrial grade hardware that is specified for industrial temperatures at -40 to +85 Celsius. These solutions are designed and tested to work reliably in harsh environments with demanding requirements. We enable customers to scale form single core devices up to quad core high performance devices with a common form factor, all supported on our common Digi Embedded Yocto and Android software platform.
Digi has invested heavily in security and we provide a full framework of production ready security features called Digi TrustFence®, enabling customers to build secure connected devices without extra cost or time needed to build security into products.
Digi SOMs fully integrate Wi-Fi and Bluetooth connectivity and they are also integrate with our range of XBee modules providing even more flexibility with broad support for leading IoT standards like LTE cellular, mesh networking and long-range sub-GHz.
Complementary to all of our hardware products is our software and services offering including and Digi Remote Manager®, a cloud based device management and IoT communication platform.
And we have global support teams and an in-house Wireless Design Services division to help developers and OEMs across the globe.
to start a conversation. Digi experts can help identify the right solution for your application requirements.