Embedded systems are classified based on different criteria like complexities, performance behavior, deterministic behavior, etc. Some of the major classifications are discussed below.
Based on Generation
The classification of embedded systems is based on the generation in which they are evolved from its initial version to the latest version.
The earlier first-generation embedded systems were built around 8-bit microprocessors and 4-bit microcontrollers. Such embedded system possess simple hardware and firmware developed using assembly code.
Digital telephone keypads, stepper motor control units are examples of the first-generation embedded system.
After the evolution of the second generation embedded systems, the 8-bit processor and 4-bit controllers are replaced by 16-bit microprocessors and 8-bit microcontrollers. They are more powerful and complex compared to previous generation processors.
Data acquisition systems, SCADA systems are examples of second-generation embedded systems.
During this period, domain-specific processors/controllers like Digital Signal Processors (DSP), Application-Specific Integrated Circuits (ASICs) and the concept of instruction pipelining, embedded real-time operating system evolved into the embedded system industry.
The embedded system of this period has powerful 32-bit microprocessors and 16-bit microcontrollers. Hence, its operation has become much more powerful and complex than the second generation.
Robotics, industrial process control, embedded networking are examples of the third-generation embedded system.
The recent development of microprocessors and microcontrollers has evolved during these modern days. New concepts like System-on-Chip(SOC), reconfigurable processors, multicore processors, coprocessors also emerged into the embedded market to add more powerful performance in the embedded system.
These systems also make use of the high-performance real-time operating system for their operation. Smart devices, digital cameras, etc are examples of fourth-generation embedded systems.
Based on complexity
The embedded systems are classified into three types based on the complexity of the systems.
Small Scale Embedded Systems
Small Scale Embedded Systems are built with a single 8 or 16-bit microprocessor or controller. The main programming tools used are an editor, assembler, cross assembler and integrated development environment (IDE).
The hardware and software complexities in small-scale embedded system are very low. It may or may not contain an operating system for its functioning. An electronic toy is an example for a small-scale embedded system.
Medium Scale Embedded Systems
The Embedded system with medium performance 16-bit or 32-bit microprocessor or controller, ASICs or DSPs fall under the medium scale embedded systems. They have both hardware and software complexities. The main programming tools used are C, C++, JAVA, Visual C++, RTOS, debugger, source code engineering tool, simulator and IDE.
Large scale Embedded Systems
The embedded systems have highly complex hardware and software, built around 32-bit or 64-bit processors/controllers, RISC processors, SoC, scalable and configurable processors. They are also called sophisticated embedded systems.
They are used for cutting-edge applications that need hardware and software Co-design, where components have to be assembled into the final system. They also contain a high-performance real-time operating system for task scheduling, prioritization and management.
Based on performance and functional requirements
This classification of embedded systems is based on performance and functional requirements. Under this classification, there are four types of embedded systems.
Standalone Embedded Systems
Standalone embedded systems are independent systems that do not depend on other systems. They work by themselves. It takes the input either in analog or digital form, processes and produces the output. It may either control or drive the connected devices.
Examples of stand-alone embedded systems are mp3 players, digital cameras, video game consoles, microwave ovens and temperature measurement systems.
Real Time Embedded Systems
A real-time embedded system is a system that gives a required output within a specified time. These systems follow the time deadlines for the completion of a task. Real-time embedded systems are classified into two types such as soft real-time embedded systems and hard real-time embedded systems. Automotive airbag control systems, flight control systems are examples of real-time embedded systems.
Networked Embedded Systems
These types of embedded systems are related to a network to access the resources from one place. The connected network can be LAN, WAN or the internet. The connection can be either wired or wireless. It is also the fastest growing area in embedded system applications.
For example, the embedded web server is a type of system wherein all embedded devices are connected to a web server, accessed and controlled by a web browser. Home security system, ATM machines, card swipe machines are examples of networked embedded systems.
Mobile Embedded Systems
Mobile embedded systems are compact, easy to use and require fewer resources. They are used in portable embedded devices like mobile phones, digital cameras, mp3 players and personal digital assistants, etc.
Based on deterministic behavior
The embedded system under this classification is based on the deterministic behavior of an embedded system. Based on this execution behavior, the embedded systems are classified into hard real-time systems and soft real-time systems.
Hard Real time system
A real-time operating system should strictly adhere to the timing constraints for a task. A hard real-time system must meet the timing deadlines without any delay. Missing the deadline would cause serious failure to the system or user.
The airbag control system and antilock braking system of vehicles are typical examples for hard real-time systems. When a vehicle is met with an accident, the airbag control system should operate immediately without any delay to safeguard the passenger. If there is any delay in the deployment of airbags, it will lead to the death of passengers in the vehicle.
So for a hard real-time system, “A late answer is always a wrong answer”.
Soft Real time system
In these types of embedded systems deadline is not strictly followed. Missing deadlines for tasks are acceptable for soft real-time systems, but the frequency of deadlines missing should be within the compliance limit.
ATM is a typical example of a soft real-time system. While withdrawing money from ATM, if it takes a few seconds more than the normal operating time, it may not cause any serious problem. In this case, “a late answer is an acceptable answer”, but it could have been done a bit faster.
Based on triggering
The embedded systems are classified into two types based on the triggering of the systems: time-triggered and event-triggered. If a system is activated or triggered based on the pre-defined task or preset time, then such a system is said to be the time-triggered embedded system.
On the other side, if the system is triggered based on some activity like change in temperature or change in pressure, such system is said to be an event triggered embedded system.