+ All Categories
Home > Documents > B1 Embedded Computing

B1 Embedded Computing

Date post: 02-Jun-2018
Category:
Upload: ramesh-sky
View: 222 times
Download: 0 times
Share this document with a friend

of 46

Transcript
  • 8/10/2019 B1 Embedded Computing

    1/46

    Embedded Computing

    Design & Co-design of

    Embedded Systems

    Maziar Goudarzi

  • 8/10/2019 B1 Embedded Computing

    2/46

    2005 Design & Co-design of EmbeddedSystems 2

    Today Program

    Introduction to Embedded Systems

    What are embedded systems?

    Challenges in embedded computing

    system design.

    Design methodology.

    Copyright Note:Main idea from Prof. Wolfs overheads for his book:

    Computers as Components, MKP 2001.

    Plus some modifications and additions.

  • 8/10/2019 B1 Embedded Computing

    3/46

    2000 MorganKaufman Overheads forComputers as

    Components 3

    Introduction

    What are embedded systems?

    Challenges in embedded computing

    system design.Design methodologies.

  • 8/10/2019 B1 Embedded Computing

    4/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 4

    Definition

    Definition: Embedded System

    Includes a programmable computer

    But, is not a general-purpose computer

    CPU

    mem

    input

    output analog

    analog

    embedded

    computer

    Logic

  • 8/10/2019 B1 Embedded Computing

    5/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 5

    Embedded Systems

    Advantages

    Optimizations according to application

    characteristicsdont need all the general-purpose

    bells and whistles

  • 8/10/2019 B1 Embedded Computing

    6/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 6

    Examples

    Embedded

    System

  • 8/10/2019 B1 Embedded Computing

    7/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 7

    Early history

    Late 1940s: MIT Whirlwind computer wasdesigned for real-time operations.

    Originally designed to control an aircraftsimulator.

    First microprocessor was Intel 4004 in

    early 1970s.HP-35 calculator used several chips to

    implement a microprocessor in 1972.

  • 8/10/2019 B1 Embedded Computing

    8/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 8

    Early history, contd.

    Usage in automobiles ECU

    Starting in 1970s.

    Control fuel/air mixture, engine timing, etc.Multiple modes of operation: warm-up,

    cruise, hill climbing, etc.

    Provides lower emissions, better fuelefficiency.

    Native example: Cadillac Iran!

  • 8/10/2019 B1 Embedded Computing

    9/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 9

    Microprocessor varieties

    Microcontroller:includes I/O devices, on-board memory.

    Digital signal processor (DSP):microprocessor optimized for digital signalprocessing.

    Typical embedded word sizes: 8-bit, 16-bit, 32-bit.

  • 8/10/2019 B1 Embedded Computing

    10/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 10

    Application examples

    Simple control: front panel of microwaveoven, etc.

    Canon EOS 3 has three microprocessors.32-bit RISC CPU runs autofocus and eye

    control systems.

    Analog TV: channel selection, etc.Digital TV: programmable CPUs +

    hardwired logic.

  • 8/10/2019 B1 Embedded Computing

    11/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 11

    Automotive embedded

    systems

    Todays high-end automobile may have 100microprocessors:

    4-bit uController checks seat belt;

    uControllers run dashboard devices;

    16/32-bit uP controls engine.

    Native examples

    Samand LXPeugeot Persia ELX

    Xantia, ...

  • 8/10/2019 B1 Embedded Computing

    12/46

  • 8/10/2019 B1 Embedded Computing

    13/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 13

    BMW 850i, contd.

    brake

    sensor

    brake

    sensor

    brake

    sensor

    brake

    sensor

    ABShydraulic

    pump

  • 8/10/2019 B1 Embedded Computing

    14/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 14

    Characteristics of

    embedded systems

    Sophisticated functionality.

    Real-time operation.

    Low manufacturing cost.

    Low power.

    Designed to tight deadlines by smallteams.

  • 8/10/2019 B1 Embedded Computing

    15/46

  • 8/10/2019 B1 Embedded Computing

    16/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 16

    Non-functional

    requirements

    Many embedded systems are mass-market items that must have low

    manufacturing costs.Limited memory, microprocessor power, etc.

    Power consumption is critical in battery-

    powered devices.Excessive power consumption increases

    system cost even in wall-powered devices.

  • 8/10/2019 B1 Embedded Computing

    17/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 17

    Design teams

    Often designed by a small team ofdesigners.

    Often must meet tight deadlines.6 month market window is common.

    Cant miss back-to-school window for

    calculator.

  • 8/10/2019 B1 Embedded Computing

    18/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 18

    Why use microprocessors?

    Alternatives:

    field-programmable gate arrays (FPGAs),

    custom logic, etc.Microprocessors are often very efficient:

    can use same logic to perform many

    different functions.Microprocessors simplify the design of

    families of products.

  • 8/10/2019 B1 Embedded Computing

    19/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 19

    The performance paradox

    Microprocessors use much more logic toimplement a function than does custom

    logic.But microprocessors are often at least as

    fast:

    heavily pipelined;large design teams;

    aggressive VLSI technology.

  • 8/10/2019 B1 Embedded Computing

    20/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 20

    Power

    Custom logic is a clear winner for lowpower devices.

    Modern microprocessors offer features tohelp control power consumption.

    Software design techniques can help

    reduce power consumption.Transmetas Crusoe Processor (one of the

    optional reading-assignments)

  • 8/10/2019 B1 Embedded Computing

    21/46

    Embedded Computing

    Challenges in Embedded

    System Design

  • 8/10/2019 B1 Embedded Computing

    22/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 22

    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 memoryaccesses?

  • 8/10/2019 B1 Embedded Computing

    23/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 23

    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?

  • 8/10/2019 B1 Embedded Computing

    24/46

    Embedded Computing

    Design Methodology

  • 8/10/2019 B1 Embedded Computing

    25/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 25

    Design methodologies

    A procedure for designing a system.

    Understanding your methodology helps

    you ensure you didnt 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.

  • 8/10/2019 B1 Embedded Computing

    26/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 26

    Design goals

    Functionality and user interface.

    Performance.

    Overall speed, deadlines.

    Manufacturing cost.

    Power consumption.

    Other requirements (physical size, etc.)

  • 8/10/2019 B1 Embedded Computing

    27/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 27

    Levels of abstraction

    requirements

    specification

    architecture

    component

    design

    system

    integration

  • 8/10/2019 B1 Embedded Computing

    28/46

  • 8/10/2019 B1 Embedded Computing

    29/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 29

    Stepwise refinement

    At each level of abstraction, we must:

    analyzethe design to determine

    characteristics of the current state of thedesign;

    refinethe design to add detail.

  • 8/10/2019 B1 Embedded Computing

    30/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 30

    Requirements

    Plain language description of what theuser wants and expects to get.

    May be developed in several ways:talking directly to customers;

    talking to marketing representatives;

    providing prototypes to users for comment.

    F ti l

  • 8/10/2019 B1 Embedded Computing

    31/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 31

    Functional vs. non-

    functional requirements

    Functional requirements:

    output as a function of input.

    Non-functional requirements:time required to compute output;

    size, weight, etc.;

    power consumption;reliability;

    etc.

  • 8/10/2019 B1 Embedded Computing

    32/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 32

    Our requirements form

    name

    purpose

    inputs

    outputsfunctions

    performance

    manufacturing cost

    powerphysical size/weight

    E l GPS i

  • 8/10/2019 B1 Embedded Computing

    33/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 33

    Example: GPS moving map

    requirements

    Moving mapobtains position

    from GPS, paintsmap from localdatabase.

    lat: 40 13 lon: 32 19

    I-78

    ScotchRoad

  • 8/10/2019 B1 Embedded Computing

    34/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 34

    GPS moving map needs

    Functionality: For automotive use. Showmajor roads and landmarks.

    User interface: At least 400 x 600 pixelscreen. Three buttons max. Pop-up menu.

    Performance: Map should scroll smoothly.

    No more than 1 sec power-up. Lock ontoGPS within 15 seconds.

    Cost: $500 street price = approx. $100

    cost of goods sold.

  • 8/10/2019 B1 Embedded Computing

    35/46

    GPS i

  • 8/10/2019 B1 Embedded Computing

    36/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 36

    GPS moving map

    requirements form

    name GPS moving map

    purpose consumer-grademoving map for driving

    inputs power button, twocontrol buttons

    outputs back-lit LCD 400 X 600functions 5-receiver GPS; three

    resolutions; displayscurrent lat/lon

    performance updates screen within0.25 sec of movement

    manufacturing cost $100 cost-of-goods-soldpower 100 mW

    physical size/weight no more than 2: X 6:,12 oz.

  • 8/10/2019 B1 Embedded Computing

    37/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 37

    Specification

    A more precise description of the system:

    should not imply a particular architecture;

    provides input to the architecture designprocess.

    May include functional and non-functional

    elements.May be executable or may be in

    mathematical form for proofs.

  • 8/10/2019 B1 Embedded Computing

    38/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 38

    GPS specification

    Should include:

    What is received from GPS;

    map data;user interface;

    operations required to satisfy user requests;

    background operations needed to keep thesystem running.

  • 8/10/2019 B1 Embedded Computing

    39/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 39

    Architecture design

    What major components go satisfying thespecification?

    Hardware components:CPUs, peripherals, etc.

    Software components:

    major programs and their operations.

    Must take into account functional andnon-functional specifications.

    GPS moving map block

  • 8/10/2019 B1 Embedded Computing

    40/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 40

    GPS moving map block

    diagram

    GPS

    receiver

    search

    engine renderer

    user

    interfacedatabase

    display

    GPS moving map hardware

  • 8/10/2019 B1 Embedded Computing

    41/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 41

    GPS moving map hardware

    architecture

    GPS

    receiver

    CPU

    panel I/O

    display frame

    buffer

    memory

  • 8/10/2019 B1 Embedded Computing

    42/46

    Designing hardware and

  • 8/10/2019 B1 Embedded Computing

    43/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 43

    Designing hardware and

    software components

    Must spend time architecting the systembefore you start coding.

    Architecture componentsSome are ready-made,

    Some can be modified from existing designs

    Others must be designed from scratch.

  • 8/10/2019 B1 Embedded Computing

    44/46

    2000 Morgan

    Kaufman

    Overheads for Computers as

    Components 44

    System integration

    Put together the components.

    Many bugs appear only at this stage.

    Have a plan for integrating components touncover bugs quickly, test as muchfunctionality as early as possible.

  • 8/10/2019 B1 Embedded Computing

    45/46

  • 8/10/2019 B1 Embedded Computing

    46/46

    2005 Design & Co-design of Embedded 46

    Other Notes

    Course web-page is now establishedhttp://ce.sharif.edu/courses/84-85/1/ce226/index.php


Recommended