Classification of Embedded Systems
Embedded systems are all around us. They power the devices and appliances we use every day, from our mobile phones to washing machines. Studies show that the global embedded systems market is expected to grow at a compound annual growth rate (CAGR) of 6.1% from 2021-2028. This growth signifies the increasing adoption of embedded systems in various industries. In this article, we will learn about embedded systems, the classification of embedded systems based on complexity, generation, performance, and more.
Embedded System and Its Features
An embedded system consists of a blend of software (like a microcontroller) and hardware components (such as a printed circuit board) that collaborate to execute a particular task within a specific time limit. The term “embedded” stems from the close integration of software and hardware, unlike separate components. To understand this better, the following are some of its features:
- Processor and memory: Basic systems demand less memory, while complex systems need more storage and may utilize multi-core processors.
- Cost-efficient manufacturing: They have lower manufacturing expenses and use less energy than general-purpose computers.
- Advanced functionality: An embedded system performs more advanced functions.
- Real-time operation: They operate within designated time frames, with the software instructing the hardware to finish tasks within that period.
- Strict design constraints: Embedded systems have design restrictions related to cost, performance, size, and power.
Detailed Classification of Embedded Systems
The classification of Embedded systems is based on different criteria, including functionality and performance, generation, complexity, and triggering.
Based on Complexity
These systems can range from simple to highly sophisticated designs, depending on their memory, processing power, and applications. The three main categories of embedded systems based on complexity include:
Small-Scale Embedded Systems
These systems use either a single 8 or 16-bit microprocessor or controller. They have limited memory and processing power. They also have relatively lower hardware and software complexities. Also, they may or may not contain an operating system for their functioning. They are majorly found in gadgets like electronic toys, smartcards, etc. The main programming tools used for these systems include an editor, cross assembler, and integrated development environment (IDE).
Medium-Scale Embedded Systems
These come with 16-bit or 32-bit microprocessors or controllers, ASICs, or DSPs. Also, they have a fair amount of memory and processing power. These systems have complexities in both hardware and software and run on a real-time operating system (RTOS). They are often employed in home appliances, medical devices, and automotive systems. The main programming tools used for these systems include C, C++, JAVA, Visual C++, RTOS, etc.
Large-Scale Embedded Systems
These systems have highly complex hardware and software, like ones built on 32-bit or 64-bit RISC processors, System-on-Chip (SoC), processors/controllers, and scalable and configurable processors. A high-performance real-time OS is usually required for task scheduling, prioritization, and management. They are used in innovative applications that demand hardware and software design, such as aerospace technologies, industrial automation, and wireless communication systems.
Based on Generation
Another type of embedded system is by the technological era or generation in which they were developed. These include:
First Generation
Dating back to the 1960s, these systems used individual components like transistors and resistors. They were built with 8-bit microprocessors and 4-bit microcontrollers, and their hardware and firmware were quite simple. Digital phone keypads and stepper motor control units are examples of first-generation embedded systems.
Second Generation
Developed in the 1970s, these systems employed integrated circuits (ICs) to enhance performance and shrink the size. They replaced 8-bit processors and 4-bit controllers with 16-bit microprocessors and 8-bit microcontrollers, resulting in powerful and intricate systems than the first generation. Data acquisition systems and SCADA systems are examples of second-generation embedded systems.
Third Generation
These were developed in the 1980s and used microprocessors as the main processing unit. During this period, domain-specific processors/controllers, such as Digital Signal Processors (DSP) and Application-Specific Integrated Circuits (ASICs), emerged. Embedded real-time operating systems also evolved in this generation, which featured powerful 32-bit microprocessors and 16-bit microcontrollers. Robotics, industrial process control, and embedded networking are examples of third-generation embedded systems.
Fourth Generation
These were developed in the 1990s and used advanced microprocessors and software to improve performance and reduce power consumption. Modern advancements in microprocessors and microcontrollers, along with new concepts such as System-on-Chip (SoC), reconfigurable processors, multicore processors, and coprocessors, have significantly improved the performance of embedded systems. These systems often use high-performance real-time operating systems for their operation. Smart devices and digital cameras are examples of fourth-generation embedded systems.
Based on Performance and Functional Requirements
This classification of embedded systems in based on performance and functional requirements. These systems are specialized computer systems designed to perform specific tasks. They are divided into the following four types. You can learn more about embedded systems and their types through an in-depth Embedded Systems Course.
Networked Embedded Systems
These connect to a network to access resources from one location. This network may be a LAN, WAN, or the internet, and the connection can be wired or wireless. This category represents the fastest-growing area in embedded system applications. Embedded web servers, home security systems, ATM machines, and card swipe machines are examples of networked embedded systems.
Real-Time Embedded Systems
These systems provide the required output within a predetermined time frame. They adhere to strict time constraints for task completion. They can be further classified into soft and hard real-time embedded systems. Examples of real-time embedded systems include automotive airbag control systems and flight control systems.
Mobile Embedded Systems
These systems are compact, user-friendly, and resource-efficient. They are commonly found in portable devices such as mobile phones, digital cameras, mp3 players, and personal digital assistants. These systems are designed for ease of use and portability, making them ideal for on-the-go applications.
Standalone Embedded Systems
These systems are self-sufficient and do not rely on other systems. They accept input in analog or digital form, process it, and generate an output. Some common examples include mp3 players, digital cameras, video game consoles, etc.
Based on Deterministic Behavior
These systems are primarily divided into the following two categories:
Soft Real-Time Systems
These systems do not enforce strict timing constraints for task deadlines. While they still require a response time to specific events, missing a deadline is acceptable. Examples include ATMs and multimedia systems. In these cases, a late answer is still an acceptable answer.
Hard Real-Time Systems
These systems demand strict adherence to their timing constraints, as failing to meet the required response time can result in severe consequences or system failure. That is why, for these systems, a late answer is always considered a wrong answer. Examples are airbag control systems and antilock braking systems in vehicles.
Based on Triggering
These systems are of the following two types:
Event-Triggered Embedded Systems
These systems rely on specific external events or activities to initiate tasks. They respond to changes in variables such as temperature, pressure, or user inputs, making them more adaptive to their environment. They are particularly suited for applications requiring immediate responses or real-time reactions, such as intrusion detection systems, medical device monitoring, etc.
Time-Triggered Embedded Systems
These systems are activated or initiated at pre-determined intervals or at a specific point in time. In these systems, the tasks are scheduled to be executed based on a predefined time or periodic timer, which ensures the timely and consistent execution of processes. They are used for data collection, industrial systems with routine control loops, and scheduled car maintenance systems.
Conclusion
Classification of embedded systems is essential for today’s technology and will continue to influence our world significantly. As technology advances, the future of embedded systems appears promising, with the anticipation of more innovative applications and solutions in the coming years.