embedded by babbian


                   Embedded Systems

Introduction to
Embedded Systems

What are embedded systems?
What makes them different?
Real time operation
Many sets of constraints on designs
Challenges in embedded computing
 system design.
Design methodologies.
Introduction to
Embedded Systems

 Embedded system: any device that includes a
  programmable computer but is not itself a general-
  purpose computer.
 Computer purchased as part of some other piece of
    • Typically dedicated software (may be user- customizable)
    • Often replaces previously electromechanical components
    • Often no “real” keyboard
    • Often limited display or no general- purpose display device: don’t
       need all the general-purpose bells and whistles.

Introduction to
Embedded Systems
What is an embedded system

Introduction to
Embedded Systems
Office systems and          Building systems               Manufacturing and
mobile equipment                                           Process Control
Answering machines          Air conditioning               Automated factories
Copiers                     Backup lighting and            Bottling plants
Faxes                       generators                     Energy control systems
Laptops and notebooks       Building management            Manufacturing plants
Mobile Telephones           systems                        Nuclear power stations
PDAs, Personal organisers   CTV systems                    Oil refineries and related
Still and video cameras     Fire Control systems           storage facilities
Telephone systems           Heating and ventilating        Power grid systems
                            systems                        Power stations
Time recording systems
                            Lifts, elevators, escalators   Robots
                            Lighting systems               Switching systems
                            Security systems               Water and sewage systems
                            Security cameras
                            Sprinkler systems
 Introduction to
 Embedded Systems
Transport             Communications Other equipment
Aeroplanes            Telephone systems    Automated teller systems
Trains                Cable systems        Credit card systems
Buses                 Telephone switches   Medical Imaging equipment
Marine craft          Satellites           Domestic Central Heating control
Jetties               Global Positioning   VCRs
Automobiles           System
Air Traffic Control
Signalling Systems
Radar Systems
Traffic Lights
Ticketing machines
Speed cameras,
Radar speed

Introduction to
Embedded Systems
Automotive embedded

Today’s high-end automobile may have
 100 microprocessors:
    4-bit microcontroller checks seat belt;
    microcontrollers run dashboard devices;
    16/32-bit microprocessor controls engine.

Introduction to
Embedded Systems
BMW 850i brake and
stability control system

Anti-lock brake system (ABS): pumps
 brakes to reduce skidding.
Automatic stability control (ASC+T):
 controls engine to improve stability.
ABS and ASC+T communicate.
    ABS was introduced first---needed to
     interface to existing ABS module.

Introduction to
Embedded Systems
BMW 850i, cont’d.

             sensor                     sensor

             brake                      brake


             brake                      brake

             sensor                     sensor
Introduction to
Embedded Systems
Embedded systems rule
the market place

•80 Million PCs vs. 3Billion Embedded
CPUs Annually
• Embedded market growing; PC market
mostly saturated

Introduction to
Embedded Systems
       Why are embedded systems
different from desktop computers ?

Introduction to
Embedded Systems
 Four General Embedded
 Systems Types
General Computing
• Applications similar to desktop computing, but in an embedded package
• Video games, set- top boxes, wearable computers, automatic tellers
Control Systems
• Closed- loop feedback control of real- time system
• Vehicle engines, chemical processes, nuclear power, flight control
Signal Processing
• Computations involving large data streams
• Radar, Sonar, video compression
Communication & Networking
• Switching and information transmission
• Telephone system, Internet

  Introduction to
  Embedded Systems
Characteristics of an
embedded system
 Real-Time Operation
 • Reactive: computations must occur in response to external events
 • Correctness is partially a function of time
 Small Size, Low Weight
 • Hand- held electronics and Transportation applications -- weight costs
 Low Power
 • Battery power for 8+ hours (laptops often last only 2 hours)
 Harsh environment
 • Heat, vibration, shock, power fluctuations, RF interference, lightning,
 Safety- critical operation
 • Must function correctly and Must not function in correctly
 Extreme cost sensitivity
 • $. 05 adds up over 1,000, 000 units
Introduction to
Embedded Systems
Embedding a computer

                     output   analog

                     input    analog

Introduction to
Embedded Systems
Why use microprocessors?

 Microprocessors simplify the design of families of
 Microprocessors are often very efficient: can use
  same logic to perform many different functions, but
  Microprocessors use much more logic to implement
  a function than does custom logic.
 Alternatives: field-programmable gate arrays
  (FPGAs), ASIC’s, custom logic, etc.
 What about MicroControllers or DSP’s….
 Custom logic is a clear winner for low power
Introduction to
Embedded Systems
A Customer View

Introduction to
Embedded Systems
Design teams

Often designed by a small team of
Often must meet tight deadlines.
    6 month market window is common.
    Can’t miss back-to-school window for

Introduction to
Embedded Systems
Challenges in embedded
system design

How much hardware do we need?
    How big is the CPU? Memory?
How do we meet our deadlines?
    Faster hardware or cleverer software?
How do we minimize power?
    Turn off unnecessary logic? Reduce memory

Introduction to
Embedded Systems
Challenges, etc.

Does it really work?
    Is the specification correct?
    Does the implementation meet the spec?
    How do we test for real-time characteristics?
    How do we test on real data?
How do we work on the system?
    Observability, controllability?
    What is our development platform?
Introduction to
Embedded Systems
  Embedded System Designer Skill Set

Appreciation for multi- disciplinary nature of design
• Both hardware & software skills
• Understanding of engineering beyond digital logic
• Ability to take a project from specification through production
Communication & teamwork skills
• Work with other disciplines, manufacturing, marketing
• Work with customers to understand the real problem being solved
• Make a good presentation; even better -- write “trade rag” articles
And, by the way, technical skills too…
• Low level: Microcontrollers, FPGA/ ASIC, assembly language, A/ D, D/ A
• High level: Object- oriented Design, C/ C++, Real Time Operating Systems
• Meta level: Creative solutions to highly constrained problems
• Likely in the future: Unified Modeling Language, embedded networks
• Uncertain future: Java, Windows CE
 Introduction to
 Embedded Systems
Design methodologies

A procedure for designing a system.
Understanding your methodology helps
 you ensure you didn’t skip anything.
Compilers, software engineering tools,
 computer-aided design (CAD) tools, etc.,
 can be used to:
    help automate methodology steps;
    keep track of the methodology itself.
Introduction to
Embedded Systems
Design goals

    Overall speed, deadlines.
Functionality and user interface.
Manufacturing cost.
Power consumption.
Other requirements (physical size, etc.)

Introduction to
Embedded Systems
Levels of abstraction



Introduction to
Embedded Systems
Our requirements form
          manufacturing cost
          physical size/weight

Introduction to
Embedded Systems
Example: GPS moving map

Moving map
 obtains position            I-78
 from GPS, paints

                                            Scotch Road
 map from local

                    lat: 40 13 lon: 32 19
Introduction to
Embedded Systems
GPS moving map needs

 Functionality: For automotive use. Show
     major roads and landmarks.
 User interface: At least 400 x 600 pixel
     screen. Three buttons max. Pop-up menu.
 Performance: Map should scroll smoothly.
     No more than 1 sec power-up. Lock onto
     GPS within 15 seconds.
 Cost: $500 street price = approx. $100
     cost of
Embedded Systems goods sold.
Introduction to
GPS moving map needs,

Physical size/weight: Should fit in hand.
Power consumption: Should run for 8
 hours on four AA batteries.

Introduction to
Embedded Systems
GPS moving map
requirements form
                   name                   GPS moving map
                   purpose                consumer-grade
                                          moving map for driving
                   inputs                 power button, two
                                          control buttons
                   outputs                back-lit LCD 400 X 600
                   functions              5-receiver GPS; three
                                          resolutions; displays
                                          current lat/lon
                   performance            updates screen within
                                          0.25 sec of movement
                   manufacturing cost     $100 cost-of-goods-
                   power                  100 mW
                   physical size/weight   no more than 2: X 6:,
                                          12 oz.

Introduction to
Embedded Systems

A more precise description of the system:
    should not imply a particular architecture;
    provides input to the architecture design
May include functional and non-functional
May be executable or may be in
 mathematical form for proofs.
Introduction to
Embedded Systems
GPS specification

Should include:
    What is received from GPS;
    map data;
    user interface;
    operations required to satisfy user requests;
    background operations needed to keep the
     system running.

Introduction to
Embedded Systems
Architecture design

What major components go satisfying the
Hardware components:
    CPUs, peripherals, etc.
Software components:
    major programs and their operations.
Must take into account functional and
 non-functional specifications.
Introduction to
Embedded Systems
GPS moving map block

             GPS      search                 display
           receiver   engine

                      database   interface

Introduction to
Embedded Systems
GPS moving map hardware

    display        frame    CPU

                            panel I/O

Introduction to
Embedded Systems
GPS moving map software

    position       database               pixels


Introduction to
Embedded Systems
Designing hardware and
software components

Must spend time architecting the system
 before you start coding.
Some components are ready-made, some
 can be modified from existing designs,
 others must be designed from scratch.

Introduction to
Embedded Systems
System integration

Put together the components.
    Many bugs appear only at this stage.
Have a plan for integrating components to
 uncover bugs quickly, test as much
 functionality as early as possible.

Introduction to
Embedded Systems
• Embedded computers are all around us.
   • Many systems have complex embedded hardware and software.
• Embedded systems pose many design challenges: design time,
  deadlines, power, etc.
• Design methodologies help us manage the design process.

• Overheads for Computers as Components, W.Wolf.Morgan
• Embedded Systems in the Real World, Phillip Koopman. Carnegie
  Mellon University.

Introduction to
Embedded Systems

To top