by Matt Saunders, Silicon Labs
While energy harvesting is certainly not a new concept, recent advances in performance versus energy consumption for both RF and microcontroller (MCU) devices mean that building an energy harvesting application, such as a sensor node, is now much easier to do. In addition, the resulting application is much more capable than previously possible for the same harvested energy. As a result, there are an increasing number of applications where energy harvesting is becoming a viable solution for powering the sensor node, locally processing the acquired data, and transmitting it back to a collection point.
Some of these elements, for example the energy harvester itself, will be common to any energy harvesting design. Where will you obtain the required amount of harvested energy to power the sensor node? From a light, thermal, vibration or RF source?
For this example we will assume we are using a solar harvester. In addition to the harvesting source, the application will also require some form of energy storage, quite likely a capacitor bank, or possibly a small rechargeable battery. The storage is required as the harvester will continue to harvest energy continuously, but the application itself will likely have activity spikes with a majority of time spent in sleep modes.
Beyond these application elements, the developer’s challenge is then to select and design with components that will deliver the required results using the available energy. Here there are some key factors to consider. The chosen devices must operate with an extremely low standby current; they must use the lowest possible amount of power while active; and they must be able to switch between active and standby modes extremely quickly. The more time a device takes to transition from a standby mode to an active mode, the more energy is wasted.
Adding an RF Link
When considering the RF component of this design, a key element will be choosing a protocol that provides enough bandwidth to transmit the required data but with minimal overhead to reduce overall consumption as much as possible. ZigBee and Bluetooth are both good options for low-power and battery-powered applications, but a more lightweight wireless connectivity technology might be a better choice for energy harvesting.
The requirements of an energy harvesting application fit nicely with a simple, proprietary sub-GHz solution. If we assume for this design that there is minimal data to be transferred because of local signal processing (more on this point later), then the RF component will spend a majority of its time in standby modes waking up only to transmit short bursts of preprocessed data. As such, two significant parameters to consider are the consumption in standby mode and the consumption in transmit mode.
For these reasons, an energy-efficient sub-GHz transceiver, such as the Si4464 device from Silicon Labs, is a good candidate. The Si4464 offers a standby mode of just 50 nA, minimizing the drain on harvested energy resources when not transmitting or receiving, and it has a fast wake-up time of 450 µSec to move from standby mode to being operational. This level of wireless energy efficiency enables the designer to minimize the consumption of the RF component in the application and focus on capturing and managing the data.
Choosing the right MCU
Moving on to the MCU, the sensor node will provide localized data processing to reduce the overall volume of traffic transmitted by the RF network. An ideal candidate for such an implementation is an MCU built on the ARM Cortex-M4 core, which has a range of dedicated DSP functions enabling signal processing to be achieved in many fewer clock cycles than on a non-DSP-capable MCU.
As the figure shows, processing time on the Cortex-M4 is much less than on the Cortex-M3, resulting in better energy efficiency when using the DSP-based Cortex-M4.
To underscore the benefits of using a more capable core with DSP functionality, consider the use of Silicon Labs’ EFM32 Wonder Gecko MCU in an energy harvesting application. However, the core alone is not the only factor in achieving the best energy efficiency. There are other areas to consider as well, such as the consumption required for signal acquisition (and the technique used as a result) and the interaction between MCU peripherals, enabling the MCU to remain in low power modes for longer periods of time.
Energy-Efficient Signal Acquisition
Considering the task of signal acquisition, optimizing for energy efficiency could be accomplished in a variety of ways. Assuming it is an analog signal to be acquired, it makes sense to look at using an analog-to-digital converter (ADC), or a special-purpose interface for signal acquisition.
The first option, and most conventional, is to trigger the ADC captures with a timer and transfer them on the DMA, resulting in an energy consumption figure of 165 µA to obtain 1K samples per second. While this makes good use of peripheral interaction, it does not use any special features on the MCU.
The second method offers an improvement in consumption while achieving the same measurement frequency, this time by using Energy Mode 2 (EM2) on the MCU to remain in standby until an interrupt wakes it up. The interrupt could come from a variety of sources including a timer that is functional in EM2. EM2 gives a standby consumption of 900 nA, but enables the MCU to get back to full speed operation in just 2 µSec. This results in an excellent balance between time spent in ultra-low-power modes and energy expended to switch from EM2 back to full-speed operation, reducing energy consumption to 60 µA to collect the 1K samples per second—a significant drop from the first implementation. This method is likely the most suitable as many embedded applications are interrupt-driven, but depending upon specific circumstances in the application, there are options to reduce the consumption even further.
The third example could be considered an “optimized loop” and again uses EM2, but this time instead of waiting for an interrupt, it uses the Wait for Event (WFE) instruction that is part of the Cortex-M instruction set. The WFE instruction enables the MCU to respond to an external or internal event identical to those generated by an interrupt. However, in this scenario, instead of making the transition from the main loop into an interrupt, the MCU can wake up from EM2 and simply execute the next instruction, removing the interrupt latency. While this approach will not suit all applications, where it can be used it again drops the power consumption, this time to less than 20 µA to achieve the same 1K samples per second.
Making a careful analysis of how often you need to sample a signal, and MCU power consumption in various modes to achieve that consumption, can be very useful in determining which acquisition method is best suited to your application.
In addition to using the ADC for signal acquisition, the chosen MCU may have additional specialist peripherals. In the case of the EFM32 Wonder Gecko MCU, there is the option to use the Low Energy Sensor Interface (LESENSE) to capture signals coming into the MCU, and only wake the MCU when there is something of interest for the MCU to process.
A standard method of dealing with such a signal is to poll the input and continually check to see if the threshold desired has been passed. However, this technique is not energy efficient. Using an autonomous sensor interface capability like LESENSE, the MCU can be configured to remain in a low-power mode (such as EM2, used in the ADC techniques) and only wake the MCU when the threshold has been crossed. Or more usefully, it can be configured to count the number of times the threshold has been crossed and only wake the MCU after, for example, five counts. This approach enables a more energy-efficient solution. For example, when the MCU is woken up by the LESENSE peripheral, it will know specifically what to do next and will begin directly managing that part of the application.
The two examples show a measurement of the voltage rail feeding the MCU, supplied by the energy reservoir in the application. In both examples the application is acquiring signals through the LESENSE peripheral at 5 Hz. In the first example it wakes the MCU up on every acquisition, and it can be seen that after a short time the energy reservoir is depleted and the MCU enters reset. In the second example, the LESENSE peripheral is configured to only wake the MCU on every fifth capture. The same amount of data is captured and passed to the MCU to act on, but in this second example the MCU does not enter reset and the application remains functional continuously. A much more energy-efficient solution can be achieved by intelligent use of the MCU’s resources.
While the amount of energy we can efficiently harvest from readily available sources for embedded applications has not increased significantly, in recent years the energy requirements of key system components such as MCUs and RF ICs have decreased significantly. This trend toward more energy-efficient IC components enables much more intelligent and useful embedded systems powered by energy harvesting than ever before. With the rapid growth of the Internet of Things market, being able to design self-sustaining sensor nodes has become essential. Certain devices offer considerable advantages over others for building energy-efficient systems.
Silicon Labs, Austin, TX. (512) 416-8500. www.silabs.com