Slide 1: General Introduction to Embedded Systems - PowerPoint PPT Presentation

1 / 45
About This Presentation

Slide 1: General Introduction to Embedded Systems


Slide 1: General Introduction to Embedded Systems By: Dr. Mouaaz Nahas Embedded Systems 802455 Umm Al-Qura University Electrical Engineering Department – PowerPoint PPT presentation

Number of Views:691
Avg rating:3.0/5.0
Slides: 46
Provided by: uquEduSa


Transcript and Presenter's Notes

Title: Slide 1: General Introduction to Embedded Systems

Slide 1 General Introduction to Embedded Systems
  • By
  • Dr. Mouaaz Nahas
  • Embedded Systems
  • 802455

Umm Al-Qura University Electrical Engineering
What is an embedded system?
  • General-purpose computer, such as a personal
    computer (PC), is designed to be flexible and to
    meet a wide range of end-user needs (today, there
    is a huge number of end-user applications running
    on PC).
  • In contrast, embedded system is a special-purpose
    computer which is designed to perform a small
    number of dedicated functions (tasks) for a
    specific application.

What is the embedded part?
  • An embedded system might contain one or more
    programmable chips such as a microcontroller (µC,
    uC or MCU), microprocessor or digital signal
  • The word embedded indicates that the computer
    unit (e.g. microcontroller) is fully surrounded
    by the device it controls, and is invisible to
    the user of the device.

Components of embedded system
  • An embedded system usually consists of hardware,
    software and perhaps mechanical or other
    components, and can be a small part of a larger
    system or machine.
  • Embedded systems combine elements of hardware and
    software, semiconductor technology, analog and
    digital electronics, computer architecture,
    sensors and actuators, and more.

Interfacing with environment
  • In desktop computer systems, the user usually
    interacts with the software application through a
    set of highly-capable input / output devices such
    as keyboard, mouse, and coloured screen.
  • In contrast, embedded systems have no
    sophisticated interface devices instead, they
    interact with the surrounding environment through
    a set of simple components such as switches,
    small keypads, light-emitting diodes (LEDs) and
    so on.

Role of embedded systems
  • People in the 21st century may not realise that,
    without the emergence of embedded technology,
    their life would have become harder. This is
    because most electrical devices people use
    nowadays are utilising embedded systems.
  • Examples of such devices are microwave ovens,
    TVs, VCRs, DVDs, mobile phones, MP3 players,
    washing machines, air conditions, handheld
    calculators, printers, digital watches, digital
    cameras, automatic teller machines (ATMs) and
    medical equipments.

Basic examples of embedded systems
The need for embedded systems?
  • In a publication by ABB Corporate Research
    (2006), Christoffer Apneseth reports that the
    need for embedded microprocessors arises mainly
  • General-purpose computers, like PCs, generally
    exceed the cost of the majority of products that
    utilise embedded systems, and
  • General-purpose systems are not capable of
    meeting the requirements that embedded systems
    should have such as reliability, product size
    limitation, real-time performance and
    power-consumption constraints.

What is simply the reliability?
  • Reliability simply means
  • The ability to provide the service to the user
    whenever requested.
  • The ability of a person or system to perform and
    maintain its functions in routine circumstances,
    as well as unexpected circumstances.
  • In engineering, reliability is the ability of a
    system or component to perform its required
    functions under stated conditions for a specified
    period of time.

Historical Background
  • The first computer system, recognised as an
    embedded system, was the Apollo Guidance Computer
    developed in 1959 to control the Apollo
  • The first successful commercial minicomputer was
    the PDP-8 produced by Digital Equipment
    Corporation in 1965.
  • In 1971, Intel released the first commercial
    single-chip microprocessor, the Intel 4004, which
    was primarily used in calculators and small

Historical Background (Cont.)
  • External memory and support chips were required
    with the microprocessor unit until 1980s, when
    microcontrollers were developed to integrate all
    components of a microprocessor system into a
    single chip.
  • Since then, many commercial companies began the
    development of embedded microcontrollers to meet
    the increasingly growing demand of modern

Microcontrollers companies / families
  • Examples of companies producing microcontrollers
    are Atmel, Philips, Intel, Infineon, Texas
    Instruments, Microchip and Motorola.
  • Examples of microcontroller families used in the
    design of embedded systems are 8051, ARM, PIC,
    MIPS, PowerPC, Atmel AVR, MPC555 and C16x.

Embedded Systems Market
  • In 2002, Ludwig D.J. Eggermont (STW Technology
    Foundation) estimated the embedded systems market
    size as100 times larger than the size of desktop
    (PC) market.
  • In 2003, Bas Graaf (IEEE Software) forecasted
    this market size to grow exponentially within the
    next ten years.

Global embedded systems market trend
(Source BBC Research Group, 2005)
Safety-critical systems
  • Form safety point of view, there are two types of
    embedded systems
  • Non-critical systems.
  • Critical systems.
  • In safety-critical systems, failures can have
    very serious impacts on human safety.
  • For example, incorrect operation of such systems
    may endanger human lives or cause catastrophic

Safety-critical systems (Cont.)
  • Safety-critical systems are typically used in the
    development of aerospace, automotive, railway,
    military and medical applications.
  • The utilisation of embedded systems in
    safety-critical applications requires that the
    system should have real-time operations to
    achieve correct functionality and/or avoid any
    possibility for detrimental consequences.

Real-time systems
  • Real-time systems are computer systems which must
    react (respond) to events in the environment
    within limited time boundaries.
  • Real-time behaviour can only be achieved if the
    system is able to perform predictable and
    deterministic processing.

Real-time systems (Cont.)
  • A given system is described as real-time if it is
    able to complete the execution of particular
    activities within specific time intervals.
  • The system should guarantee that a particular set
    of activities will always be completed within
    (for example) 4 ms or at precisely 3 ms periods
    (e.g. calculating the required throttle settings
    to control speed in an auto-driver system) .

Real-time systems (Cont.)
  • In situations where the system is unable to meet
    these time constraints (requirements), then the
    whole application is not simply slower than would
    be expected, it tends to be entirely useless.
  • As a result, the correct behaviour of a real-time
    system depends on
  • The logical correctness of the output results.
  • The time at which the results are produced.

Real-time systems (Cont.)
  • Real-time systems are divided into two main
  • Soft-real-time where timing constraints should
    be generally met, and failure to do so may only
    result in reduced system performance but does not
    cause serious damages or jeopardise correct
  • Hard-real-time systems where timing constraints
    must be deterministically met in order to
    achieve correct operations or avoid harmful

Brake-by-Wire system
  • The BBW system is a brake system based on
    controlling the electric brake system in each
    wheel by electric signal.
  • This BBW system can significantly improve the
    brake performance compared with traditional brake
    systems using hydraulic power.
  • This BBW system also helps to increase fuel

Brake-by-Wire system (Cont.)
Brake-by-Wire system (Cont.)
  • Brake-by-Wire system is designed for modern
    passenger cars.
  • The brake actuators are required to respond
    within a fixed amount of time after the brake
    pedal is pressed.
  • If the system fails to respond within this time
    frame, then there could be a danger that the
    vehicle may not stop in time before crashing into
    another vehicle, causing serious damage and
    possibly losses in passenger lives.

Aircraft auto-pilot system
  • In the aircraft auto-pilot system, rapid
    reactions are necessarily required to keep the
    aircraft staying on its path.
  • Reactions include rudder, elevator, aileron and
    engine settings.
  • If the system cannot adjust the rudder setting in
    millisecond time-scale (for example), the plane
    may oscillate unpleasantly or even crash in more
    severe circumstances.

Aircraft auto-pilot system (Cont.)
Image courtesy of Bill Harris
Aircraft auto-pilot system (Cont.)
Image courtesy of Bill Harris
Aircraft auto-pilot system (Cont.)
Image courtesy of Bill Harris
  • In real-time applications, it is important to
    predict the timing behaviour of the system to
    guarantee that
  • The system will behave correctly.
  • Life of the people using the system will be
  • While the most important property of a desktop
    computing system is its speed, the most important
    property in a real-time computing system is

Predictability (Cont.)
  • Giorgio Buttazzo states that
  • rather than being fast, a real-time computing
    system should be predictable .
  • Hence, predictability is an important
    characteristic in real-time embedded systems.

Predictability (Cont.)
  • Predictability is
  • In general the ability to forecast (or
    anticipate) what will happen in the future.
  • For systems the ability to determine, in
    advance, exactly what the system will do at every
    moment of time in which it is running, hence,
    determine whether the system is capable of
    meeting all its timing constraints.
  • Therefore, building an embedded application with
    highly predictable system behaviour is a non
    straightforward process.

Challenges in building predictable embedded
  • Embedded systems engineering can be viewed as a
    branch of systems engineering discipline.
  • Engineers are concerned with all aspects of the
    system development including hardware and
    software engineering.
  • Activities such as specification, design,
    implementation, testing, operation and
    maintenance are all involved in the development
    of an embedded application.

Challenges in building predictable embedded
systems (Cont.)
Development Life Cycle (Waterfall Model)
Challenges in building predictable embedded
systems (Cont.)
Development Life Cycle (Waterfall Model)
Challenges in building predictable embedded
systems (Cont.)
  • Requirements specifications
  • A design of any system usually starts with ideas
    in peoples mind.
  • These ideas need to be captured in requirements
    specifications documents that specify
  • The basic functions of the system.
  • The desirable features of the system.

Challenges in building predictable embedded
systems (Cont.)
  • System and Software Design
  • After the requirements specifications are
    documented correctly, design process begins.
  • The design process determines how the system
    functions and features can be achieved by the
    system components (hardware and software).
  • Design is usually based on modelling.

Challenges in building predictable embedded
systems (Cont.)
  • Implementation
  • Implementation is the process of converting
    design elements into a hardware system and / or
    software system (executable source code).
  • If commercial off the shelf (COTS) uCs are
    used, then developers will mainly focus on
    software implementation.
  • Selection of the programming language to program
    the uC is made in this stage (e.g. Assembly, Ada,
    C or many other languages).

Challenges in building predictable embedded
systems (Cont.)
  • Integration and Testing
  • All system units are put together (integrated).
  • The complete system is tested (verified) to
    ensure that it functions as required.

Challenges in building predictable embedded
systems (Cont.)
  • Operation and Maintenance
  • After integration and testing, the system becomes
  • In system maintenance, periodic checks are
    carried out to ensure high quality and correct
    functionality of the system.

Challenges in building predictable embedded
systems (Cont.)
  • Ensuring predictability, whilst moving between
    the various development stages, requires further
    techniques to be applied at different stages
    throughout the whole development process.
  • Giorgio Buttazzo states that
  • one safe way to achieve predictability is to
    investigate and employ new methodologies at every
    stage of the development of an application, from
    design to testing.

Validation and Verification
  • There are two main processes to evaluate the
    operation of any software-based system
  • Validation to ensure that the right system is
  • Verification to ensure that the system is built

Validation and Verification (Cont.)
  • Validation is
  • The process of evaluating software at the end of
    the development process to ensure compliance with
    software requirements.
  • A general process which checks the consistency of
    the system as a whole with its requirements.
  • Determination of the correctness of the final
    program or software produced from a development
    project with respect to the user needs and

Validation and Verification (Cont.)
  • Verification is
  • The process of evaluating a system or component
    to determine whether the products of a given
    development phase satisfy the conditions imposed
    at the start of that phase.
  • The demonstration of consistency, completeness,
    and correctness of the software at each stage and
    between each stage of the development life cycle.
  • Verification is a detailed process which must be
    applied at each stage in the software development
    process to check the conformance of that stage
    with its predefined specification.

Validation and Verification (Cont.)
  • Validation is a general process which shows that
    the software meets the customer needs, while
    verification is the process which ensures that
    the software conforms to its specification.
  • Validation usually takes place at the end of the
    development cycle, and looks at the complete
    system as opposed to verification, which focuses
    on smaller sub-systems.
  • Validation is usually accomplished by verifying
    each stage of the software development life
  • Validation can be viewed as end-to-end
    verification process

Validation and Verification (Cont.)
The system development life cycle.
Integrating validation and verification in the
system development life cycle.
Validation and Verification (Cont.)
  • Validation and verification processes are used to
    check both the functional and non-functional
    requirements of the system.
  • Functional requirements relate to the behaviour
    of the system.
  • Non-functional requirements relate to the quality
    attributes of the system (non-behavioural
  • Predictability is classified as non-functional
  • Non-functional requirements also include,
    scalability, efficiency, reliability, usability,
    stability, and many others.
Write a Comment
User Comments (0)