To gain a foothold in the Internet of Things (IoT) market, original equipment manufacturers (OEMs) must accelerate the pace of innovation. The application of the Internet of Things has made everything possible. Successful companies will urge their developers to expand and adopt new and more practical ways to use the functions of sensors, monitor different types of data, and control the ecosystem of the entire device.
Internet of Things applications cover a wide range of applications, including wearables, automotive, residential, industrial, and even urban. These applications need to be supported by more energy efficient, innovative, and secure systems. Applications are important to achieve intuitive and easy-to-use software development.
Microcontrollers (MCUs) are at the heart of IoT products, and choosing the right MCU is key to meeting your customers' current and future needs. This article explores the rich capabilities of today's growing embedded MCUs, which accelerate design while enabling innovative applications. In the first part, we will introduce advanced process technology, low-power design techniques, power consumption issues for multi-core systems, communication between multiple cores, serial memory interfaces, and system security.
Internet of Things market (the fastest growing engine)
Internet of Things technology is constantly changing our daily work and lifestyle, making our lives more economical, convenient, comfortable and intelligent. The Internet of Things market can be broadly divided into two categories: consumer Internet of Things and enterprise Internet of Things.
The consumer Internet of Things includes residential, lifestyle, health and travel. Individual users can increase their productivity, safety and quality of life through these IoT device products. From smart homes to connected cars, the consumer market is preparing for the next wave.
Figure 1: Consumer IoT market segmentation
The corporate Internet of Things has a wide range of coverage, including retail, healthcare, energy, travel, urban, manufacturing and public services. The enterprise IoT segment will transform organizations and communities to create a new era of economic growth. The Internet of Things improves productivity, productivity, and day-to-day operations by connecting data, people, and machines. The Enterprise Internet of Things can also be used as a tool to help companies identify new growth opportunities in untapped areas.
Figure 2: Enterprise IoT Market Segmentation
Process technology (size is very important)
The process technology for manufacturing MCUs is critical to its performance, low power consumption and cost. IoT applications require efficient active power consumption and low power mode consumption to increase the overall system efficiency. With the continuous advancement of manufacturing technology, the core area of ​​silicon has been shrinking. More MCUs can be fabricated on the same silicon, which reduces the overall cost of the chip, and performance and power consumption are directly affected. The reduction in size reduces the current required to turn each transistor on/off while keeping the clock frequency constant. Therefore, a smaller chip means a higher maximum clock frequency and higher performance at lower power consumption.
For example, the 40nm process technology used to make Cypress Semiconductor PSoC 6 BLE Series MCUs provides a high performance, energy efficient solution for a wide range of IoT applications. The current during deep sleep is only a few microamps and the RAM data is fully retained. Other power modes, such as run, sleep, low-power operation, and low-power sleep, enable developers to flexibly optimize system power while maintaining high performance for their applications.
Figure 3: Low-Power MCU Block Diagram for IoT Applications
Power (critical)
One of the challenges in designing IoT devices is high energy consumption. Most IoT devices are in real-time online, small size, which means that their battery capacity is very limited. MCU vendors need to consider many factors when optimizing their IoT applications, such as:
Improved process technology
Provides a highly flexible power mode
Power-optimized hardware IP module
Higher integration to reduce component count
Optimize flash frequency
Enable caching
Support a wider range of operating voltages
However, while process technology is shrinking in size, improving performance, improving power consumption and integration, there are also problems with current leakage management, especially in low power modes. To address the challenges of current leakage, MCU vendors have adopted special transistor process technologies such as multi-gate devices, high voltage transistors/logic/circuits, specially designed memory cells, and many other technologies.
Flexible power modes enable developers to schedule independent system activities to optimize overall power consumption. It is a key technology in this area that provides a variety of peripherals that can operate in low-power mode and can be woken up to perform their functions without waking up the CPU. Some MCUs also offer peripherals that can perform special low-power modes of operation with limited functionality (such as lower operating frequency and voltage) to further optimize application power consumption, and even design specific peripherals that optimize power consumption, ie BLE radios Designs that support low-power wireless communication can be used.
Another factor that affects power consumption is non-volatile (NV) memory access, especially MCUs that use firmware (NV memory) to store firmware code. Any optimization of flash access will greatly reduce power consumption, with the goal of minimizing the frequency of flash access. Two common techniques are used here, one of which is to provide a cache. In this way, the actual code memory (flash) does not need to be accessed every execution cycle. Another approach is to increase the amount of data acquired in a single cycle and reduce the frequency of access to the flash by using a wider range of flash accesses.
IoT-based MCUs also offer flexible power systems. The MCU can be powered from multiple sources while supporting a wide supply voltage range. For example, simple IoT applications like fitness trackers can be powered by coin cells, while complex IoT applications such as smart watches need to be powered by a PMIC (Power Management IC). In addition, some MCUs effectively regulate their own power supply through their internal buck converters.
When considering the power mode of the MCU, it is important to go beyond its basic architecture. For example, the standard ARM CPU core supports run, sleep, and deep sleep. Additional power modes are typically added by a specific MCU vendor. For example, Cypress's PSoC 6 BLE MCU can perform six operating power modes including low-power operation, low-power sleep, and sleep.
Figure 4: Power Mode Transition Example for PSoC 6 BLE MCU
Multiprocessor MCU
(speed up the speed of parallel application tasks)
Based on the growth of the functional characteristics of the Internet of Things system, its complexity has also increased, while the actual size has become smaller and smaller. The goal of MCU manufacturers is to improve system performance while minimizing size and power consumption. Multicore MCUs and System-on-Chip (SoC) provide higher performance by integrating more features in a single chip and minimizing chip area. A multicore processor is an MCU or SoC that contains two or more independent cores (or CPUs). These cores are usually integrated on a single chip, and they can also be used as multiple chips in a single package.
Multicore MCUs help deliver high performance and keep small size. A typical IoT design, such as a wearable device, requires multiple MCUs, including: a BLE controller for wireless communication, a Touch MCU for executing the user interface, and a primary MCU to implement the application. The functionality of these three MCUs can be provided by a highly integrated multi-core MCU.
Multicore MCUs offer many other benefits. For example, it can integrate enough resources to enable the CPU to process intensive tasks in parallel, thereby maximizing the efficiency of multitasking. This also allows developers to effectively allocate system events to specific cores to achieve power and performance goals. As another example, in a dual-core wearable design, periodic functions that require less CPU intervention, such as wireless broadcast and touch sensing, can be assigned to a single core. Other "frequent touch" features, such as sensor fusions that require frequent CPU intervention, can be assigned to another core. This partitioning reduces latency when running multiple applications on the system. Efficiency can also be improved by integrating the integration of the protocol stack with the program memory.
Figure 5: IoT Multicore MCU Example
Figure 6 shows a multi-core MCU - Cypress MCU PSoC 6 BLE. The dual-core MCU has two 32-bit ARM Cortex CPUs - Cortex-M4 and Cortex-M0+. Both CPUs are 32-bit processors with a 32-bit data path, registers, and memory interface. The Cortex-M4 is a main CPU designed to achieve short interrupt response times, high code density and high 32-bit throughput while maintaining tight cost and power budgets. The Cortex-M0+ acts as a secondary CPU for network security, physical security and protection. The Cortex CPU executes a subset of the Thumb instruction set and has two modes of operation called thread mode and handler mode. These CPUs enter thread mode when they exit the reset and execute the application software. In order to handle exceptions, the CPU enters the handler mode. When all exception handling is complete, the CPU returns to thread mode.
Figure 6: Multicore Embedded MCU Example (PSoC 6 BLE)
Interprocessor communication (implementing peripheral sharing and information exchange)
Multicore MCUs coordinate the operation between cores by requiring interprocessor communication (IPC). The IPC acts as a communication manager that distributes messages between processors. Modern CPU architectures such as ARM Cortex support multi-core communication in hardware and firmware, such as SEV (Send Event) instructions that prompt all cores in the device when executed. MCU vendors use a variety of methods to implement IPC:
Interrupt method: This method causes one kernel to send an interrupt to another core to indicate an application event. Usually the interrupt program is very compact and does not take up too much code storage space. As with any interrupt mechanism, each interrupt has its own ISR (Interrupt Service Routine), which allows the corresponding core to perform specific tasks. In actual data transfer, there is a shared memory that can be accessed by multiple cores. In addition to sharing data, it provides a mechanism for requesting and acknowledging messages.
Mailbox: A mailbox is a dedicated storage space in RAM that lets each CPU send and receive messages to each other. Each kernel maintains its own RAM memory (mailbox) and sends messages to other kernel's mailboxes.
Message Queuing: Message Queuing uses two areas of shared memory to store messages that each core sends to another core. The first area is a dedicated memory called a command buffer for storing commands sent from the host to the slave. Another dedicated memory is called a message buffer, which enables the slave to respond to the host.
Figure 7: Various modes of interprocessor communication (IPC)
Semaphore: A semaphore is a mechanism that prevents multiple sources from simultaneously accessing shared resources. In a multi-core processor, the shared hardware location acts as a semaphore indicating whether a particular core is using a particular shared peripheral or the like. Other cores in the system read the semaphore status to see if it is available before accessing the peripheral.
Serial memory interface (IoT memory selection)
Memory is an integral part of any IoT system. Its main function is code and data storage. The ever-increasing intelligence demands of modern IoT devices are driving the need for larger code and data storage. But integrating all of this memory as internal memory into the device increases the chip size and cost of the MCU. Another method is to provide external extended memory as needed. This allows developers to add memory as needed for the final application. In addition, if the internal storage space budget is insufficient during the development process, the external memory can be added without having to redesign the entire system.
It is also important to understand the speed and security of the external memory interface and how to use it. In general, serial memory is better than parallel memory in terms of saving limited IO pins on the MCU. SPI-based serial memory provides the ideal interface speed for data logging, while direct execution of external code requires higher speeds. These requirements make it necessary for MCU manufacturers to provide alternatives to SPI. The following is a comparison of data throughput speeds for different scenarios.
SPI: Supports 1 bit/cycle throughput
Dual SPI: Supports 2 bit/cycle throughput
Quad SPI: Supports 4 bit/cycle throughput
Dual Quad SPI: Supports 1 byte/cycle throughput
In general, MCUs support multiple types of memory at the same time, providing developers with maximum flexibility.
As many IoT systems process user personal data, it is especially important to ensure data security. Code memory also needs protection to prevent devices from being hacked. External storage is more vulnerable to security and therefore requires special mechanisms to protect externally stored data. To this end, the MCU uses various encryption technologies (such as AES, DES, RSA) to protect data and code from unauthorized access. For example, Cypress Semiconductor's PSoC 6 BLE MCU provides a special Serial Memory Interface (SMIF) peripheral that supports XIP (field execution) mode for external code execution and MMIO (memory map) for logging data. IO) mode. It uses special commands for control, such as flash memory programming/erasing, memory device sleep mode input, and more.
Figure 8: Serial Storage Interface (SMIF) Example
SMIF allows users to configure multiple storage devices of the same or different types and sizes. In memory (XIP) mode, multiple memory devices are mapped to different addresses. They can be memory of different types and uses, or they can be the same memory device configured in a contiguous address space to emulate continuous large memory. The combination of SMIF peripherals and SPI flash replaces external NAND and NOR flash and saves board space. Because serial flash is directly mapped into the processor's memory space data store and supports XIP execution, its ease of use is higher than NAND memory.
System security, privacy and device security
(root of trust)
Once the device is connected to the network, there is a possibility of being hacked. Therefore, whether the device is a sports bracelet or a connected car, the security of IoT devices is a factor that cannot be ignored. Data protection is required at all levels, including storage, processing, and communication to ensure system reliability. In addition, any software or firmware that processes the data should be protected. This security can be achieved on two levels. The first level is software security, and the second level is hardware security, which is through hardware protection software.
Typically, security software uses keys that are stored in code space. Although this is technically possible to implement encryption and decryption, this process is still vulnerable to hacking. This is because it is a stored code, and when the code is decoded, security is gone.
Secure hardware uses integrated circuits to protect systems, such as encryption and decryption of code and data. The security hardware is self-contained and does not require any additional software to operate, which eliminates the possibility of malicious code, infection, contamination or other vulnerabilities damaging the system, customer data and services. Therefore, secure hardware is the preferred method when protecting sensitive data or code. So MCUs for the Internet of Things have complex integrated hardware security features such as cipher blocks, code protection IP, and other hardware-based mechanisms.
Security hardware also offers the advantage of providing faster performance and lower power consumption than firmware. For example, a dedicated encryption module in the Cypress PSoC 6 BLE MCU accelerates encryption. In addition, the module provides true random number generation, symmetric key encryption and decryption, hashing, message authentication, random number generation (pseudo-random and true random), cyclic redundancy check, and such as enable/disable, interrupt settings, and Useful features such as marking. The MCU component is also equipped with a secure boot function. This feature uses a ROM program to verify user data in flash memory. Secure Boot is a process that involves encryption technology that enables IoT devices to begin executing certified trusted software. Therefore, the system can be turned on from a known, trusted state.
In the first part, we introduced advanced process technology, low-power design techniques, power consumption for multi-core systems, inter-core communication, serial memory interfaces, and system security. The second part will introduce advanced BLE wireless links, analog front ends, smart touch interfaces, and other important IoT design techniques.
Figure 9: The security ecosystem of the Internet of Things MCU
Smart Bms,Bms For Battery,Bms For Lithium Battery,Bms Module
HuiZhou Superpower Technology Co.,Ltd. , https://www.spchargers.com