We all understand the value of building products that are interconnected. Adding some type of network connection to an electronic device may seems simple, yet there are many challenges.
A new industry is shaping up around the concept of Machine-to-Machine (M2M), also referred to as the Internet of Things (IoT). Even though this industry is very young, we are starting to see the emergence of two types of IoT systems, Industrial Internet being one. Patrick Morehead's article "Who Wins in the Industrial Internet of Things?" makes an attempt at such a definition, differentiating between the Human IoT and the Industrial IoT.
The new industrial control made possible by M2M pushes the envelope of traditional supervisory control and data acquisition (SCADA). New technologies available to industrial control systems improve sensor/actuator design and add tremendous analytics capabilities (i.e. cloud services).
Looking at sensor/actuator devices, for example, it’s not simple to find the perfect processor that has all of the analog peripherals to provide an interface for the sensors/actuators and also run the networking technology required to carry the data and control to and from the device. This is why today these devices often use two processors. For 8- and 16-bit CPU architectures used in embedded systems that are utilized as sensor/actuator nodes, firmware is often written using a relatively simple foreground/background approach (e.g., super-loop). These processors are used for the analog interface. For the communication, 32-bit CPUs are the norm.
A networking stack is a large piece of software. But the communication stack is not the only software component these modules need to run. For example, networking the sensor/actuator nodes allows updating the firmware running on these nodes. It also needs to be performed securely. Writing and maintaining this software as a foreground/background design is a daunting task. This is why using a Real-Time Operating System (RTOS) allows for more flexible and extensible software to run on these embedded systems.
A complete RTOS includes a kernel, a graphical UI, a file system, USB Host and Device stacks, TCP/IP (Ethernet, Wi-Fi), and more, all of which can fit in a memory space of less than 1MB. Troubleshooting and adding new features are drastically simplified with an architecture that supports inter-task communication and synchronization. It is also simpler to perform firmware upgrades. In summary, it just makes sense to use an RTOS and a 32-bit processor for these tasks.
When I speak of RTOS, I don’t mean Linux or Android. These operating systems are too large for a sensor/actuator node. I mean a real-time operating system designed for a microcontroller -- an RTOS that takes the processor clock speed, memory available, and power requirements into consideration. This is why, in the future, the use of an RTOS in industrial control will become common-design practice. It's one way to simplify the new complexity of M2M devices.