Embedded Systems Notes

What is an Embedded System?

  • An electronic/electromechanical system designed to perform a specific function.
  • A combination of both hardware and firmware (software).
  • Examples: Electronic toys, mobile handsets, washing machines, air conditioners, automotive control units, DVD players, etc.
  • Unique in character and behavior with specialized hardware and software.

Embedded Systems vs. General Computing Systems

General Purpose Computing System

  • Combination of generic hardware and a General Purpose Operating System (GPOS) for executing a variety of applications.
  • Contains a GPOS.
  • Applications are alterable (programmable) by the user. The end user can reinstall the operating system and add/remove applications.
  • Performance is the key deciding factor (faster is better).
  • Less/not at all tailored towards reduced operating power requirements or different levels of power management.
  • Response requirements are not time-critical.
  • Execution behavior need not be deterministic.

Embedded System

  • Combination of special-purpose hardware and an embedded OS for executing a specific set of applications.
  • May or may not contain an operating system for functioning.
  • The firmware is pre-programmed and non-alterable by the end-user.
  • Application-specific requirements (performance, power requirements, memory usage, etc.) are the key deciding factors.
  • Highly tailored to take advantage of power-saving modes supported by hardware and the operating system.
  • For certain categories of embedded systems (mission-critical), the response time requirement is highly critical.
  • Execution behavior is deterministic for certain types of embedded systems, like Hard Real Time systems.

Classification of Embedded Systems

  • Based on generation.
  • Based on complexity and performance requirements.
  • Based on deterministic behavior.
  • Based on triggering.

Embedded Systems – Classification Based on Generation

  • First Generation: Built around 8-bit microprocessors (e.g., 8085, Z80) and 4-bit microcontrollers.
    • Examples: Stepper motor control units, digital telephone keypads.
  • Second Generation: Built around 16-bit microprocessors and 8/16-bit microcontrollers.
    • Examples: SCADA, Data Acquisition Systems.
    • Example data:
      • U-001
      • 1.81m
      • 2010-01-01 12:00:07
      • 23.91∘C23.91^{\circ}C
      • 0.12Bar
      • 0.32Bar
      • F-002

SCADA

  • SCADA (Supervisory Control and Data Acquisition) is a control system architecture that uses computers, networked data communications, and graphical user interfaces for high-level supervision of machines and processes.
  • It includes sensors and devices like programmable logic controllers (PLCs) that interface with process plants or machinery.

Embedded Systems - Classification Based on Generation (Continued)

  • Third Generation: Built around high-performance 16/32-bit microprocessors/controllers, Application Specific Instruction set Processors (ASIPs) like Digital Signal Processors (DSPs), and Application Specific Integrated Circuits (ASICs).
    • Complex and powerful instruction sets.
    • Examples: Robotics, industrial process control, networking.
  • Fourth Generation: Built around System on Chips (SoCs), re-configurable processors, and multicore processors.
    • Brings high performance, tight integration, and miniaturization.
    • Examples: Smartphones.

Embedded Systems - Classification Based on Complexity & Performance

  • Small Scale: Built around low-performance and low-cost 8 or 16-bit microprocessors/microcontrollers.
    • Suitable for simple, non-time-critical applications.
    • May or may not contain an OS.
  • Medium Scale: Built around medium-performance, low-cost 16 or 32-bit microprocessors/microcontrollers or DSPs.
    • Slightly complex in hardware and firmware.
    • May contain a GPOS/RTOS.
  • Large Scale/Complex: Built around high-performance 32 or 64-bit RISC processors/controllers, RSoC, or multi-core processors and PLDs.
    • Requires complex hardware and software.
    • May contain multiple processors/controllers and co-units/hardware accelerators.
    • Contains an RTOS for scheduling, prioritization, and management.

Embedded Systems - Classification Based on Deterministic Behavior

  • Applicable for Real Time systems.
  • Application/task execution behavior can be either deterministic or non-deterministic.
    1. Soft Real-time Systems: Missing a deadline may not be critical and can be tolerated.
    2. Hard Real-time Systems: Missing a program/task execution time deadline can have catastrophic consequences (financial, human loss of life, etc.).

Embedded Systems - Classification Based on Triggering

  1. Event Triggered: Activities are dynamic and depend upon the occurrence of different events.
  2. Time Triggered: Activities follow a statically computed schedule and are allocated time slots during which they can take place, making them predictable.

Major Application Areas of Embedded Systems

  • Consumer Electronics: Camcorders, cameras, etc.
  • Household Appliances: Television, DVD players, washing machines, refrigerators, microwave ovens, etc.
  • Home Automation and Security Systems: Air conditioners, sprinklers, intruder detection alarms, closed-circuit television cameras, fire alarms, etc.
  • Automotive Industry: Anti-lock braking systems (ABS), engine control, ignition systems, automatic navigation systems, etc.
  • Telecom: Cellular telephones, telephone switches, handset multimedia applications, etc.
  • Computer Peripherals: Printers, scanners, fax machines, etc.
  • Computer Networking Systems: Network routers, switches, hubs, firewalls, etc.
  • Health Care: Different kinds of scanners, EEG, ECG machines, etc.
  • Measurement & Instrumentation: Digital multimeters, digital CROs, logic analyzers, PLC systems, etc.
  • Banking & Retail: Automatic Teller Machines (ATM), currency counters, Point of Sales (POS) systems.
  • Card Readers: Barcode, smart card readers, handheld devices, etc.

Purpose of Embedded Systems

Each embedded system is designed to serve one or a combination of the following tasks:

  • Data Collection/Storage/Representation
  • Data Communication
  • Data (Signal) Processing
  • Monitoring
  • Control
  • Application-Specific User Interface

1. Data Collection/Storage/Representation

  • Performs data acquisition from the external world.
  • The collected data can be either analog or digital.
  • Data collection is usually done for storage, analysis, manipulation, and transmission.
  • The collected data may be stored directly in the system, transmitted to other systems, processed by the system, or deleted instantly after a meaningful representation is provided.

2. Data Communication

  • Embedded data communication systems are deployed in applications ranging from complex satellite communication systems to simple home networking systems.
  • These systems are dedicated to data communication.
  • Data communication can happen through wired interfaces (Ethernet, RS-232C/USB/IEEE1394, etc.) or wireless interfaces (Wi-Fi, GSM/GPRS, Bluetooth, ZigBee, etc.).
  • Network hubs, routers, switches, modems, etc., are typical examples of dedicated data transmission embedded systems.

3. Data (Signal) Processing

  • Embedded systems with signal processing functionalities are employed in applications demanding signal processing like speech coding, synthesis, audio video codec, transmission applications, etc.
  • These are computationally intensive systems.
  • They employ Digital Signal Processors (DSPs).

4. Monitoring

  • Embedded systems in this category are specifically designed for monitoring purposes.
  • They are used for determining the state of some variables using input sensors.
  • They cannot impose control over variables.
  • An Electrocardiogram (ECG) machine for monitoring a patient's heartbeat is a typical example.
  • Measuring instruments like Digital CROs, Digital Multimeters, Logic Analyzers, etc., used in Control & Instrumentation applications are also examples of monitoring embedded systems.

5. Control

  • Embedded systems with control functionalities are essentially tiny computers designed to manage specific processes by reacting to their environment.
  • Sensors as Eyes and Ears: These systems use sensors to constantly monitor specific variables.
  • Actuators as Hands: Based on sensor readings, the system activates actuators to influence and adjust the environment.
  • Control Algorithm as the Brain: A pre-programmed algorithm compares sensor input to a desired set point and directs the actuator to achieve the desired state.
  • Example: Air Conditioner
    • Sensor: Temperature sensor