Assessing real-world MCU energy efficiency
The age of the Internet of Things (IoT) will see the development and deployment of billions of intelligent nodes tasked with monitoring, evaluating, controlling and reporting on every aspect of modern life. These IoT nodes will be essential in the way we interact with our environments and in the way our environments adapt to fit our needs and help us through our daily lives. The nodes that make up the IoT must provide an “always on” service combined with a “deploy and forget” solution. They will be expected to monitor constantly and respond immediately to any relevant events, while operating under very constrained energy budgets.
Running on small form-factor batteries, the nodes must be able to operate for years on the same battery, and where energy harvesting is possible, the nodes must keep operating even when there is little ambient energy available to harvest. This means ultra-low energy operation will be a key parameter for the IoT nodes, and great care must be taken to select components that minimize the real-world current consumption of the node.
Almost Always Off
IoT nodes and similar applications must provide the illusion of being “always on,” but they must be designed to be “almost always off” to maximize their lifetime from a limited power supply.
An IoT node is built from a number of different semiconductor components. Sensors gather information from the environment, such as temperature and humidity, and also gather user input. One or more communication interfaces, such as USB or a Bluetooth Smart radio link, can allow the node to communicate with the cloud (the Internet) or other nodes, such as the user’s smart phone. Actuators enable the node to alter its environment and also give feedback to end users through LCD displays or audio alerts.
For any node, a level of determinism is expected. A touchscreen must respond to user input immediately. A radio interface must adhere to the timing requirements of the radio protocol, which in some cases can be very strict. A heart rate sensor must never miss a beat. In all cases, functionality must appear continuous to the user or to any other device communicating with the node.
Taking sensors as an example, minimizing current consumption is based on two factors: how much current the sensor consumes while active and how often it must remain active. The required duty cycle will vary based on the type of sensor used in the node. A heart rate sensor could require sampling at 50 Hz to get a good reading of your pulse, while a temperature sensor in a smart thermostat might only have to be sampled once every second because of the slower dynamics of the temperature in a home.
The duty cycle can also vary depending on what state the application is in. A smart watch, for example, might turn off almost all of its sensors if it is experiencing inactivity, only sampling an accelerometer once a second to determine if activity is present. Whenever activity is detected, the smart watch springs to life, increasing sample rate significantly to more accurately track the activity.
In all cases, significant energy savings are achieved by duty-cycling the components in an application, making sure they are only on when they are strictly needed. There is, however, one component that is rarely turned all the way off: the microcontroller (MCU), as seen in Figure 1. This device is responsible for controlling all the other components in an application, and it also makes sure they are off or in a low-power state when they are not needed. Given that the MCU also integrates a host of functions that must be orchestrated, it follows that the MCU must be specifically architected for low-energy operation to enable the MCU to keep full control of the application while consuming as little energy as possible.
Figure 1. The MCU is the heart of an application, controlling all other devices, from RF to energy management to sensor interfaces.