Ensuring fail-safe data storage in battery-powered IoT sensor nodes
For decades, the basic architecture of sensor nodes consisted of a controller, a sensor, local storage memory, network connectivity, and a battery. Every system that is trying to collect data from the analog world is based on some variation of this system. Each must solve the fundamental problem of collecting data, storing critical parts of it, and taking appropriate action based on the data analytics. In previous data acquisition systems, sensor nodes would collect data and, if there was local memory, store a few hundreds of samples locally before transferring it to a central hub for processing. The hub would process the data and take appropriate actions. Communications were typically wired, using Ethernet or a similar industrial bus.
With the advent of the Internet of Things (IoT), every device in the field has started communicating over the network. A conservative estimate predicts that over 10 billion devices will be connected by the year 2020. These include cars, industrial automation equipment, medical implants, and new-age applications like wearables, smart homes, etc. Next-generation 5G networks are already being deployed in several parts of the world to handle the traffic expected from these devices. But there are several unanswered questions which data scientists and system designers are trying to address today: Which devices need to be connected to the cloud? How much information needs to be broadcasted? How much processing can be done locally? And who pays for the cloud?
A trivial approach to IoT is to upload everything to the cloud and handle processing remotely. While this may work for small and isolated systems, once the world becomes more connected and a plethora of systems are trying to upload information, system designers will need to consider the cost of network vs. local storage and processing. They will need to evaluate scenarios that reduce connection frequency, perform local storage and processing, and then perform periodic bulk uploads. The term “Industry 4.0” simply implies a future of connected devices. To ensure that optimal, cost effective, low power implementations are deployed in the field, each component of the system must be carefully analyzed today. In this article, we will examine the often neglected but most important aspect of any sensor node – local memory.
Figure 1: Traditional Sensor Node. (Source: Cypress)
Figure 2: Sensor Node in Industry 4.0. (Source: Cypress)
Sensor nodes are increasingly connected to each other as well as to a central processing hub through one or several wireless technologies including Wi-Fi, Bluetooth, and others. These wireless protocols allow for sensor nodes to be placed in locations that are not accessible with traditional systems due to the limitations and cost of routing wired networks. A mesh of wireless sensor nodes can be distributed through an entire factory automation floor and continuously monitor all critical system parameters.
There are new challenges to address with the move to wireless. For example, a traditional system would never have to worry about running out of power but the same approach does not work for wireless sensor nodes. These nodes must be designed to run on an extremely tight energy budget. Any improvement in power consumption that significantly affects battery life in turn means less frequent maintenance. Many times, due to cost constraints, system designers deploy solutions that are initially cheaper, but over time end up being expensive due to higher maintenance costs. One of the biggest costs in these remotely deployed sensor nodes is replacing on-board batteries. A system that is optimized to save 30% power directly corresponds to 30% less maintenance cost for replacing batteries.
What factors contribute to power consumption on these sensor nodes? A detailed system power consumption analysis of a typical BLE sensor node identified key parameters that affect battery life. The biggest contributors to system power consumption are:
Antenna power during data upload
Controller power when performing data acquisition
Local memory power consumption during data logging