Embedded Systems: Classification

  
Embedded Systems
Embedded Systems: Fundamentals
Embedded Systems: Features
Embedded Systems: Design Metrics
Embedded Systems: History
Embedded Systems: Classification
Embedded Systems: Application Areas
 
  
Microprocessors & Microcontrollers: Tutorial
Microprocessors: Fundamentals
Microprocessors Vs Microcontrollers
Origin & Timeline Of Microprocessor Evolution
Memory Unit of Microprocessor
Features of 8085 Microprocessor
8085 Microprocessor Pin Diagram
8085 Microprocessor Architecture
8086 Microprocessor Features
 
  
Data Structures: Tutorial
Data Structures: Introduction
Data Structure: Characteristics & Classifications
 
  
Basic Electronics: Tutorial
Voltage, Current, and Resistance
  
  
VLSI Design: Tutorial
Introduction to VLSI Design
 

Classification of Embedded Systems:

  • Embedded Systems can be classified in different ways based on different criteria. Some of the criteria used in the classification of Embedded Systems are:
      1. Based on Generation
      2. Based on Complexity & Performance requirements
      3. Based on Deterministic behavior
      4. Based on Triggering

Classification

Classification based on Generation

    • This classification is based on the order in which the Embedded System evolved from the first version to where they are today. Based on this criterion Embedded Systems are classified into the following categories:
      1. First Generation
      2. Second Generation
      3. Third Generation
      4. Fourth Generation
First Generation
  • The early Embedded Systems were built around 8-bit microprocessors like 8085 and Z80, and 4-bit microcontrollers.
  • They are simple in circuit hardware with firmware developed in assembly code.
  • A few examples are Digital Telephone Keypads, stepper motor control units, etc.
Second Generation
  • These are the Embedded Systems built around 16-bit microprocessors and 8- or 16-bit microcontrollers, following the first-generation Embedded Systems.
  • The instruction set for the second-generation processors/ controllers was much more complex and powerful than the first-generation processors/ controllers.
  • Some of the second-generation Embedded Systems contain embedded operating systems for their operations.
  • Few examples of second-generation Embedded Systems are Data Acquisition Systems (DAS), SCADA systems, etc.
Third Generation
  • With advances in processor technology, Embedded System developers started making use of powerful 32-bit processors and 16-bit microcontrollers for their design.
  • A new concept of Application and Domain-specific processors/ controllers like Digital Signal Processors (DSP) and Application Specific Integrated Circuits (ASICs) come into the picture.
  • The instruction set of processors became more complex and powerful and the concept of instruction pipelining is also evolved.
  • The processor market was flooded with different types of processors from various vendors. Intel Pentium, Motorola 68K, etc. gained attention in high-performance embedded requirements.
  • Dedicated Embedded Real-Time and General-purpose operating systems entered into the embedded market. Embedded Systems spread their ground to the areas like Robotics, Industrial Process Control, Media, Networking, and many more.
Fourth Generation
  • With the System on Chip (SoC) ‘s advent, reconfigurable and multicore processors are bringing high performance, tight integration, and miniaturization into the embedded device market.
  • The SoC technique implements a total system on a chip by integrating different functionalities with a processor core on an integrated circuit.
  • The fourth-generation Embedded Systems make use of high-performance Real-Time Embedded Operating Systems for their functioning.
  • Few examples of fourth-generation Embedded Systems are Smartphone devices, Mobile Internet Devices (MIDs), etc.

Classification based on Complexity and Performance

  • In this classification, system complexity and performance requirements are taken into account. According to this type of classification, embedded systems can be grouped into:
    1. Small-Scale Embedded Systems
    2. Medium-Scale Embedded Systems
    3. Large-Scale Embedded Systems or Complex Embedded Systems or  Sophisticated Embedded Systems
Small-Scale Embedded Systems
  • Embedded Systems that are simple in application needs and where the performance requirements are not critical fall under this category.
  • Small-scale Embedded Systems are usually built around low-performance and low-cost 8-bit or 16-bit microprocessors/ microcontrollers.
  • An operating system may or may not be present in small-scale embedded systems.
  • They May even be battery-operated.
  • Usually ‘C’ or ‘Embedded C’ is used for developing these systems.
  • When the system runs continuously, it needs to limit its power dissipation.
  • Programming tools required to develop these Embedded Systems are Editor, Assembler, and Cross Assembler
  • A small-scale embedded system commonly used in electronic toys is an example.
Medium-Scale Embedded Systems
  • A slightly complex embedded system in terms of hardware and firmware (software) requirements falls into this category.
  • Medium-Scale Embedded Systems are usually built around medium-performance, low-cost 16-bit or 32-bit microprocessors/ microcontrollers or Digital Signal Processors (DSPs).
  • These types of Embedded Systems are based on Reduced Instruction Set Computers (RISC).
  • A Real-Time Operating System or Embedded Operating System is typically used to operate them.
  • Programming tools required to develop these Embedded Systems are RTOS, Source code Engineering Tool, Simulator, Debugger, and Integrated Development Environment (IDE).
Large-Scale Embedded Systems or Complex Embedded Systems or Sophisticated Embedded Systems
  • Embedded Systems that involve highly complex hardware and firmware requirements fall under this category.
  • Typically, they are used in high-performance mission-critical applications.
  • Such systems are commonly built around high-performance 32-bit or 64-bit RISC processors/controllers or Reconfigurable System on Chip (RSoC) or multi-core processors and Programmable Logic Devices.
  • Multiprocessors, controllers, co-processors, and hardware accelerators may be used to offload the processing requirements from the main processor.
  • Decoding/Encoding of media, cryptographic function implementation, etc. are a few examples of processing requirements that can be implemented using a co-processor/hardware accelerator.
  • High-Performance Real-Time Operating Systems (RTOS) are typically used in Complex Embedded Systems for managing, scheduling, and prioritizing tasks.
  • For these systems programming tools may not be readily available at a reasonable cost or may not be available at all. There may be a need to develop a compiler or a retargetable compiler.

Classification based on Deterministic Behaviour

  • The classification based on deterministic behaviour is applicable for ‘Real Time’ systems. The application/task execution behaviour for an Embedded System can be either deterministic or non-deterministic.
  • Based on execution behavior, Real-Time Embedded Systems are classified into ‘Hard Real Time’ and ‘Soft Real Time’ systems.

Real-Time Embedded Systems:

  • Real-time embedded systems refer to computer systems that are designed to perform specific tasks or functions within a specific time frame. In real-time environments, these systems are usually integrated with hardware devices, such as sensors or actuators, where a delay in response may result in catastrophic consequences.
  • Real-time embedded systems are often used in safety-critical applications, such as in medical devices, aerospace, automotive, and industrial control systems. It is also important that these systems be predictable, trustworthy, fault-tolerant, and proficient in responding on a set schedule.
  • Examples of real-time embedded systems include anti-lock braking systems in cars, aircraft flight control systems, and medical devices such as pacemakers and insulin pumps. Real-time embedded system development requires specialized knowledge and abilities in hardware design, software development, and integration.
  • Embedded systems can be classified based on their deterministic behavior into two types:
    1. Hard Real-Time Systems
    2. Soft Real-Time Systems
Hard Real-Time Systems:
  • Hard Real-Time embedded systems are specialized computer systems designed to perform specific tasks within a predetermined time frame.
  • These systems have stringent time constraints that require them to perform tasks within a specific deadline.
  • Examples of Hard Real-Time systems include control systems for aircraft, automobiles, and industrial robots.
  • The primary focus of Hard Real-Time systems is on predictability and reliability.
  • A system’s predictability is achieved by responding to events within a specified timeframe.
  • It is important for a system to be reliable by making sure that it performs its tasks consistently and accurately, even in adverse conditions.
  • Designing Hard Real-Time systems requires specialized hardware and software to achieve the desired level of performance.
  • The software must be optimized to minimize processing time and avoid unnecessary delays.
  • Hardware must meet the system’s timing requirements and provide sufficient processing power.
  • Determining the worst-case execution time of each task is a critical challenge in designing Hard Real-Time systems.
  • Failure to accurately estimate the worst-case execution time can result in system failure, even if the system meets its requirements under normal conditions.
  • Ensuring that the system is fault-tolerant is another challenge of designing Hard Real-Time systems.
  • Fault tolerance involves designing the system to continue operating even if one or more components fail.
  • This is achieved through redundancy and error-checking mechanisms.
Soft Real-Time Systems:
  • Definition: Soft real-time embedded systems are computer systems that are designed to respond to real-world events within a certain timeframe, but with some degree of flexibility or tolerance. This means that they can occasionally miss a deadline without causing significant harm.
  • Examples: Soft real-time embedded systems are commonly found in consumer electronics, automotive systems, medical devices, and industrial control systems. Examples include airbag deployment systems, heart monitors, traffic light controllers, and smart home devices.
  • Timing constraints: Soft real-time embedded systems have specific timing constraints that they must meet in order to function properly. The response time or latency of these constraints is typically measured in milliseconds or seconds.
  • Design considerations: Designing a soft real-time embedded system requires careful consideration of a variety of factors, including the system’s processing power, memory capacity, and input/output capabilities. It is also important to consider the specific timing requirements of the system and to choose appropriate algorithms and data structures to ensure timely processing.
  • Trade-offs: Soft real-time embedded systems often involve trade-offs between performance, cost, and flexibility. For example, a system with strict timing requirements may require more powerful hardware or specialized software, which can increase cost and reduce flexibility.
  • Testing and verification: Testing and verification are critical components of developing soft real-time embedded systems. Techniques such as simulation, emulation, and formal verification can help ensure that the system meets its timing requirements and is free from bugs and errors.
  • Maintenance and updates: Soft real-time embedded systems often require regular maintenance and updates to ensure continued performance and functionality. System configuration can be modified to adapt to changing requirements or environments by replacing hardware components, updating software, or reconfiguring the system.
  • Challenges: Soft real-time embedded systems face a number of challenges, including hardware limitations, software complexity, and evolving standards and regulations. Furthermore, many real-life environments are dynamic, making it hard to predict all scenarios and plan accordingly.

Classification based on Triggering

Embedded systems can also be classified based on their triggering mechanism into three types:

Event-driven Systems:

These systems are triggered by external events or interrupts. When a specific event occurs, such as a button press or sensor reading, the system responds by executing a predetermined set of actions.

Time-driven Systems:

These systems are triggered by a specific time or interval. They execute a set of actions at predetermined intervals, such as every five seconds, every minute, or every hour.

Hybrid Systems:

These systems use both event-driven and time-driven triggers to execute a set of actions. They are designed to respond to external events, as well as execute periodic tasks at specific intervals. Hybrid systems are commonly used in industrial control systems, where real-time control is required along with periodic maintenance and monitoring tasks.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top