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
- 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.
- Soft Real-time Systems: Missing a deadline may not be critical and can be tolerated.
- 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
- Event Triggered: Activities are dynamic and depend upon the occurrence of different events.
- 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