Introduction It is important to realize that energy consumption is a system issue. And a matter of weighing one thing against another and making compromises. Energy consumption can be reduced by software, but only as far as hardware allows. Ultra-low energy consumption is a system issue and product development therefore must take this into account from the start. In order to do that properly one has to understand all dependencies of all system aspects. Ultra-low energy consumption is a multidisciplinary target and project, as both software discipline and hardware discipline must be involved in the product development in order to achieve the desired goal. 1 Ultra Low Power: How to reach energy efficiency in connected product design? 1 1 . 1 . A N D Ultra low power is a system issue R E L A T I O N B E T W E E N U L T R A T H E I N T E R N E T O F T H I N G S L O W E N E R G Y The ever-growing presence of sensors, actuators, and microprocessors in and around many everyday goods, objects and devices, and the exchange of information amongst them and with external services is commonly known as the Internet of Things (IoT). Lately IoT has been joined by the Industrial Internet of Things (IIoT). According to the American market research bureau, Gartner, the growth of IoT applications is unstoppable. This year alone some 6.3 billion devices will be connected to the Internet, and this number is expected to rise to some 20.7 billion by 2020, according to Gartner. In the IoT landscape wireless communication plays a vital role. The data bandwidth required for these nodes is generally low relative to the high bandwidth required for streaming video an other media. However, the aggregated bandwidth requirements will have an impact on the use of the available radio spectrum. The IoT consists of large and extremely diverse groups of applications. Upcoming IoT application areas range from domotics, automotive, personal care assisted living... Other application areas such as (institutionalized) healthcare, industry and manufacturing, agriculture and ‘Smart Cities’ also show growth. Over the past decades, the importance of reducing energy consumption has grown steadily. This is partly due to pressure from governments (e.g. EnergyStar) and partly due to ever increasing requirements for (wireless) sensor node functionality when the provided energy source has remained the same. This is particularly true for the battery lifetime of mobile phones and IoT nodes (we want smaller and thinner devices, so the battery must shrink as well, thereby compounding the problem). In all cases it is required that the devices in question consume less energy (or have more functionality with the same energy consumption). 2 Ultra Low Power: How to reach energy efficiency in connected product design? 1 . 2 . E N V I R O N M E N T A L I M P A C T One of the effects of creating ever more battery-powered wireless devices is that more batteries must be produced and subsequently generate more and more toxic waste when their energy is spent and they must be replaced. This creates a huge environmental burden. Another major issue is the effort spent and cost incurred in replacing batteries. So for an environmentally better, economically and practically interesting deployment of wireless sensor networks, the need for battery replacement must be reduced as much as possible. If at all possible we would like to harvest the necessary energy from the environment in order to obviate batteries altogether. 1 . 3 . E N E R G Y H A R V E S T I N G Energy can be harvested from a variety of sources, each with their own applicability and power generating capability. In this context we can think of integrating a small energy harvesting device with the IoT sensor node to provide all required energy or to recharge an on-board battery or capacitor. This power generating capability can vary from microWatts to milliWatts, depending on the size of the generator and the amount of energy available for harvesting. Current technologies in this respect are solar (Photo Voltaic), thermo electric generators (Seebeck effect, i.e. based on temperature difference), kinetic energy (i.e. piezo-electric effect), vibration energy (using a magnet moving inside a coil) and RF energy. This technique capability is only useful if the amount of energy produced is sufficient for the application’s requirements. As this amount can be very small, it requires taking extreme care for achieving lowest possible energy consumption. 3 Ultra Low Power: How to reach energy efficiency in connected product design? 2 2 . 1 . How to optimize energy consumptions in a device ? R E D U C T I O N O F E N E R G Y C O N S U M P T I O N An IoT solution is a distributed system consisting of several components, so it is important to consider where data processing takes place. It may be necessary to weigh the energy cost of local data processing (in order to reduce radio transmission time) against the energy cost of transmitting more raw data. Once we have decided on the allocation and kind of processing, we can look at what can be done at the wireless sensor (IoT) node itself. In order to achieve reduced energy consumption we must understand where our energy is spent and how we can reduce this. We can divide energy reduction mechanisms into three categories: → A. SOFTWARE ONLY (INCLUDES COMPILER). The mechanism is solely implemented in software. → B. COMBINED SOFTWARE AND HARDWARE. The mechanism is partly implemented in software and partly in hardware. → C. HARDWARE ONLY. The mechanism is solely implemented in hardware. Within each of these categories several levels can be seen. The table below shows many commonly used mechanisms and what level they can placed at. It is not necessary to understand all the terminology to see that there are many disciplines involved in making sure everything comes together for the best ULP performance. There will also be some aspects you didn’t think of as being relevant in reaching your goal. You may be very wrong there. For instance the compiler you use and what compiler settings you use can have major impact on your results, sometimes an order of magnitude! Also, just how you write your code already makes a major difference to its performance. Overview of Power Management Mechanisms Power management works at all these levels 4 Level Mechanism Application • Event driven architecture • Use Low Power modes • Select radio technology (sub GHz, 2.4 GHz,…) • Select radio protocol (BLE, Zigbee, LoRA,…) • Algorithm selection Tools • Compiler selection • Compiler settings • Linker settings Coding • Coding for minimum energy • Coding for speed • Cache friendly coding Operating System • Power API • Operation Performance Points API • Tickless operation Driver • Use DMA • Use HW event mechanisms • Suspend / resume API Board • Dynamic Voltage and Frequency Scaling. • Power Gating via I/O pin • Controlling Voltage regulator via I/O pin. • Clock Frequency Mgt. • Controlling device shutdown pins by I/O pin. Chip • Power Gating • Offer Low Energy Modes • (Automatic) clock gating • Clock frequency management • Dynamic Power Switching • Adaptive Voltage Scaling • Static Leakage Management IP block / chip • Power Gating State Retention IP block / RTL • Automatic power / clock gating Transistor • Body Bias • FinFet • TriGate Fet • Sub-threshold operation Ultra Low Power: How to reach energy efficiency in connected product design? Category (Domain) Category A (Software) Category B (Software & Hardware) Category C (Hardware) 2 . 2 . A P R O C E S S F O R A C H I E V I N G E N E R G Y C O N S U M P T I O N L O W E S T So how do we get to our ideal situation: lowest possible energy consumption, or at least good enough? Step 1: Check compliance with ULP rules As an example, Texas Instruments offer a code analysis tool, called ULP Advisor, which is integrated into TI’s Code Composer Studio and IAR’s Embedded Workbench for MSP430 IDEs. It goes through your code, checks rules, flag issues and suggests improvements. The tool is meant for their MSP430 and MSP432 series of processors, but the rules themselves are equally applicable to other processor architectures. Step 2: Measure your current energy consumption (baseline measurement) There are several ways to measure your energy consumption, both cheaply and expensively. Some are capable of measuring really small amounts of energy consumption; others are either not capable or have large errors for very low energy measurements. The Embedded Microprocessor Benchmarking Consortium (EEMBC), an industry alliance, develops benchmarks to help system designers select the optimal processor and understand the performance and energy characteristics of their systems. They also provide a benchmark for ultra low power: ULPBench. As part of this benchmark setup the EEMBC EnergyMonitor is the reference measuring device. The goal is to create a database of ULP processors and compare their energy consumption. You can use this setup to benchmark your platform against the competition. Specifically for IoT benchmarking, EEMBC develops a series of IoT-Connectivity benchmarks, the first of which (IoTMark-BLE) was released March 2017. It includes a special Bluetooth Low Energy benchmark profile so the BLE radio and protocol’s contribution to the energy consumption can now be established as well. The IoT-Connect Benchmark Working Group will release support for other radio technologies and protocols over time (e.g. WiFi, Thread). There are other energy measurement systems available, e.g. Silicon Labs’ EFM32 STK-3xxx starter kits, which allow the energy measurement part to be used separately from the MCU. The most expensive option is a Source Measurement Unit (SMU), basically a combination of a precision power supply and digital multi meter. That said, there is as yet no standard API to integrate other tools’ measurements with the ULPBench or IoT-Connect infrastructure. So, using one or other measurement system, establish the energy consumption and use that as a baseline. This way you can check whether your efforts at reducing energy consumption bear fruit or not. Whether your target application is an IoT node or some other type of battery-driven application decides how strict the need for energy reduction is. The highest usable active power mode is dictated by the capabilities of the energy source, especially when using harvested energy. The lowest usable energy mode is required when the system is in stand-by or sleep mode most of the time, or wakes up only infrequently (periodically or asynchronously) for data processing. Generally CPU processing takes the least amount of energy when it is performed at the highest speed, but this depends on several factors. Overall the application will demand many compromises on all parameters. To guarantee operation over a number of months or years, application developers face a number of optimization challenges. More microcontroller vendors claim Ultra Low Power capabilities, but datasheets alone do not provide all answers. Using a power benchmark will give an unambiguous answer. 5 Ultra Low Power: How to reach energy efficiency in connected product design? Step 3: Bring down your energy consumption Now that you’ve established baseline energy consumption, how do you reduce that? There’s no silver bullet, it’s all dependent on the application and on the hardware at hand. It is necessary to think about this well in advance because you can already win or lose there. There are many things that you can look at to realize reduced energy consumption. In this paper we will highlight a few. → 1. SOFTWARE ARCHITECTURE Generally, the least energy is expended when the processor and peripherals are in deep sleep. CPU activity and access to flash memory for reading instructions are big contributors to the energy consumption. A good way to change this is to have peripherals do their work without CPU assistance. Many microcontrollers offer infrastructural support for this. Such an infrastructure, of course, requires a software architecture that takes advantage of it. This leads to software that is event driven, i.e. only takes action when required and sleeps otherwise. Deep sleep can lead to a factor of a thousand in energy reduction, but it also has a price: wake-up time. The deeper the sleep, the more time needed to wake up. During wake-up, energy is consumed and nothing gets done. It only makes sense to go to a deep sleep if you know you will sleep for a longer period of time. → 2. TOOLING, I.E. FROM SOURCE CODE TO BINARY CODE Translation from source code (C, C++, java) to machine code is done by compiler and linker. There can be a big difference between the code generated by different tool chains. This can easily be tens of percents. Also the compiler settings can make a similar or even bigger difference. It can really be worth your while to experiment with compilers and settings to get the lowest energy for your code. The relation between compiler settings and processor architecture and implementation is complex; several research projects covering this aspect have been executed and are still in progress. → 3. HARDWARE You can buy an off-the-shelf hardware device, but that doesn’t necessarily mean that the design is really the optimal one for your use case. For sensors, it can make quite a difference if the sensors are totally switched off when not in use, or consuming a standby current of several microamperes. To give some perspective: in order for a common CR2032 coin cell to last for 10 years, the average current must be around 2.5 μA with a maximum current draw of about 8 mA. If you draw more current, then the voltage drops too much. If the processor alone takes some 2 μA in deep sleep, then there is no more energy to spare for keeping sensors alive when not required. The downside is that you must reinitialize the sensor after power-on, which will take some extra time (and energy). Also, some sensors require a warm-up period before measurements are accurate. It may in certain circumstances be possible to predict the error when the warm-up period is shortened and compensate for the error. Generally, though, the benefits of shutting off the sensors when not in use outweigh the costs. 6 Ultra Low Power: How to reach energy efficiency in connected product design? → 4. RADIO There are many radio technologies available (sub-GHz, WiFi, LoRa, Zigbee, Z-wave, Bluetooth, Bluetooth Low Energy, LTE,…), each of which has their own characteristics in terms of useable bandwidth, suitability for the environment (2.4 GHz is absorbed by water), power requirements (WiFi requires 200-400 mA, Bluetooth Low Energy from 6 to 30 mA) etc. Your particular use case will dictate what technology best matches it. → 5. COMMUNICATION The amount of communication is a big (if not the biggest) contributor to energy expenditure. It is therefore very important to think about what data needs to be sent and how often this is really necessary. How often do we need to sample the data and how long can we afford to wait before sending the data. It may be more efficient to bundle up data, and this also gives us the opportunity to compress the data, so using less radio time. This possible saving must be weighed against the extra energy required to perform such compression. Also it could be advantageous energy wise to use a non-standard radio protocol. → 6. MICROCONTROLLER (MCU = PROCESSOR + PERIPHERALS + MEMORY) The more energy saving infrastructure your processor has the better. It helps to have special instructions to make the processor wait for interrupt or wait for event. For example, the ARM Cortex architecture has these instructions defined for all processors. Also special low-energy peripherals can help considerably. There are many different levels of support for power management in current MCU architectures. You can only achieve your goals if you know what your MCU is capable of, and then use its capabilities to help you meet them. 7 Ultra Low Power: How to reach energy efficiency in connected product design? Conclusion Ultra Low Power is a special topic that is gaining more significance as the need to save energy or even source it is growing rapidly. As an inevitable requirement for IoT nodes, Ultra Low Power has many aspects and many companies claiming their products serve your purpose best. The way to the best result is to understand that there are many factors that have an impact on energy consumption, to understand that these are system issues, as a gain in one place can create a loss in another place, and that multiple disciplines are involved. The goal is to arrive at the best compromise. Measurements give good insights into what works and what does not. Reducing energy consumption can be done in a stepwise fashion; it doesn’t have to be all in one go. Energy Harvesting will play an increasing role as the energy demands drop and generator and regulator efficiencies increase. Altran is working with EEMBC and its members to create more and better benchmarks to help semiconductor vendors and their customers access the capabilities. These will give an unbiased comparison between competing products and can help you make decisions. Advice In recognition of his expertise Altran expert Herman Roebbers is external advisor to three Embedded Microprocessor Benchmarking Consortium (http://EEMBC.org) Working Groups: ULPBench Working Group, IoT-Connect Working Group and IoT-Secure Working Group. Each of these working groups has produced or aims to produce benchmarks in order to independently evaluate performance in these areas. You can also ask us for advice. We have several seasoned experts in this field. Consultation Altran can provide consulting services ranging from a Power Scan where we go over the many aspects of your Ultra Low Power design to see whether and how they are dealt with, to executing Ultra Low Power benchmark software on your target to see how well you fare against the competition, to supporting your project with help of our trained consultants. References [1] H. Roebbers, “Hoe spaar je energie in een embedded systeem?,” Bits & Chips 08, pp. 34-39, October 2015 [2] Herman Roebbers, “Achieving Ultra Low Power in Embedded Systems: Understand where your power goes and what you can do to make things better”, article accompanying the one-day hands-on Ultra Low Power workshop at embedded world Conference 2016. [3] http://www.altran.nl/nl/nieuws/in-netherlands/news/2016-copy-1/workshop-achieving-ultra-low-power-inembedded-systems.html [4] Two-day Ultra Low Power hands-on workshop created and given by Altran through T2Prof at High Tech Institute: http://www.hightechinstitute.nl/en/training/software/ultra_low_power_workshop/ [5] Herman Roebbers, “Achieving Ultra Low Power in Embedded Systems: Understand where your power goes and what you can do to make things better”, revised and extended article accompanying the one-day hands-on Ultra Low Power workshop at embedded world Conference 2017. 8 Ultra Low Power: How to reach energy efficiency in connected product design?
© Copyright 2026 Paperzz