In part 1, we have introduced the topics that are covered as part of this column series - “Smart World of IoT.” As mentioned, most IoT nodes are a combination of sensors, computing resources, and connectivity, with the latter two playing very important roles. In part 2, we discussed the connectivity aspect of IoT - “There Are No Wires On Me.” In this part, we will be expanding on the same topic, covering details on the evolution of computing architectures along with radio.
Connectivity and computing are the two pillars of IoT. As radio technologies improved in throughput and capabilities, the need for embedded computing that formed the brain of the system had to evolve as well. And they have. Today’s low-cost microcontrollers that consume only milliwatts of power have more computing power than a Pentium II-based desktop PC from the late 1990s. IoT devices form a spectrum of capabilities when it comes to computing abilities and bandwidth required – from a shoe that counts steps to a digital camera that needs to stream high-resolution images and video. Similarly, a spectrum of microcontroller/System on Chip (SoC) architectures and radio technologies are available to create efficient systems. However, selecting from the myriad options available is not always simple. Sometimes it’s even counterintuitive.
MCUs vendors have had a range of proprietary CPU cores for quite a long time. However, in today’s world, it is expected that your design is compatible with other devices in the ecosystem and that your intellectual investment will be reusable. This has pushed MCU vendors to choose standard processing architectures on which to build their controllers. ARM became the de-facto choice for most MCU manufacturers. ARM processors are at the heart of a computing and connectivity revolution, offering an extensive portfolio of processors that can be used from sensors to smartphones to supercomputers.
Low-power IoT devices that have batteries for power commonly use low bandwidth, efficient radio technologies such as BLE to communicate with other nodes using short bursts of data. Processors designed to support these radio modules need to match the connectivity, application, and power requirements. Entry-level microcontrollers such as the Cortex M0+ and M4 are optimal for these energy efficient, low-cost IoT designs. The M0+ has the advantage of very low gate count, making integrating an M0+ with a radio very cost effective in terms of die area. The M0+ is sufficient to run a typical BLE stack along with a relatively light application. The M4, on the other hand, is highly energy efficient in this power range and can handle relatively complex application codes in addition to the radio stack.
For certain applications, designers prefer to use a combination of both M4 and M0+ cores. Such an approach to design is popularly known as an asynchronous multi-core architecture. Multicore MCUs integrate enough resources to allow the CPUs to handle intensive tasks in parallel and to take advantage of multitasking efficiencies. These also allow developers to efficiently assign system events to a specific core such that the appropriate power and performance goals are met. For example, in a dual-core wearable design, periodic functions such as wireless connectivity and sensor interfaces can be assigned to M0+ code while the M4 can run application code in an RTOS environment without the need to handle many external interrupts.
Wi-Fi applications, on the other hand, require a much more capable processor. For applications that need determinism and real-time performance such as routers, the Cortex R series is the de facto choice. However, a higher clocked M4 or M7 might also be sufficient for entry-level Wi-Fi applications. On the other end of the spectrum, an application (A-series) processor provides the necessary hardware and software capabilities for high throughput (for example, 802.11ac) and higher application complexities.
Once a device is connected to a network, the possibility of being hacked is introduced. Thus, the security of IoT devices is a non-negotiable element, whether the device is a personal wearable band or a connected car. Data protection is needed at all levels, including storage, processing, and during communications to ensure system reliability. In addition, any software or firmware that handles data should also be secured. Such security can be enabled on two levels – hardware and software. A robust IoT security portfolio allows developers to protect their devices from all types of vulnerabilities while deploying the security level that best matches their application needs. Most MCUs vendors provide built-in hardware with encryption and tamper protection capabilities. Latest Cortex M series CPUs such as the M23, M33 and M35P also provide security features that are built into the CPU subsystem – therefore providing a security upgrade path for existing IoT nodes that use the M0+, M4 and M7.
In addition to integrating the radio and CPU, several other peripherals are ideally integrated into the same chip to provide it with SOC-like capabilities. For example, to build a smart wearable device, you need a BLE controller for wireless communication, a touch MCU and display driver for the user interface implementation, and a primary MCU to run the application. The functionality of these multiple MCUs can be provided through a single highly-integrated multicore MCU with integrated peripherals.
The introduction of feature-rich MCUs that bring greater system integration in a single-chip architecture has extended to meet the requirements of IoT-based applications. For example, MCUs for IoT also integrate Analog Front Ends (AFEs) for sensor interface, computing engines (ARM CPU) for sensor fusion, on-chip memories, connectivity (BLE), and Capacitive Touch interfaces (CapSense) to enable designers to build compact, small form factor designs for the next-generation of portable IoT applications. These feature integrations in a single chip not only reduce space requirements, they also bring down system cost and power.
We will explore the system cost, integration, and software considerations of various CPU architectures in the upcoming column series.
Jaya Kathuria Bindra works as an Applications Manager at Cypress Semiconductor Corporation where she is managing the Embedded Applications Group and Solutions Development using the PSoC platform. She has 14+ years of experience in the Semiconductor Industry. She earned an executive management credential from IIM, Bangalore and holds a BS in Electronics Engineering from the Kurukshetra University. Jaya can be reached at firstname.lastname@example.org.
Nidhin MS works as a Staff Applications Engineer at Cypress Semiconductor Corporation. He has seven years of technical experience with analog, power electronics, touch sensing, embedded computing and connectivity and holds a bachelor’s degree in Electronics and Communication Engineering.