introdcution to embedded system

Embed Size (px)

Citation preview

  • 8/17/2019 introdcution to embedded system

    1/30

    Introduction to Embedded

    Systems

  • 8/17/2019 introdcution to embedded system

    2/30

    Outline

    • Embedded systems overview

     – What is embedded system – Characteristics

     – Elements of embedded system – Trends in embedded system

     – Design cycle

    2

  • 8/17/2019 introdcution to embedded system

    3/30

    Computing Systems

    3

    • Most of us think of desktop computers

     – PC – Laptop

     – Mainframe – Server 

    • Maybe at most handheld computer (PDA)

    • Embedded systems: a computing systemthat is part of or is embedded into another

    systems.

  • 8/17/2019 introdcution to embedded system

    4/30

    What is Embedded Systems?

    4

    • Computing system embedded within

    electronic devices•  Any device or collection of devices that

    contain one of more dedicated computers,

    microprocessors, or micro-controllers• Combination of computer hardware and

    software designed to perform a specificfunction

    • Broad definition: Any computing system

    that is not a desktop computer

  • 8/17/2019 introdcution to embedded system

    5/30

    Embedded System: Examples

    5

  • 8/17/2019 introdcution to embedded system

    6/30

    Embedded System Types

    6

    • General purpose computing

     – Personal digital assistant, Video games, set top boxes,

    wearable computers, automatic tellers• Control systems

     – Fuzzy control, PID control, Vehicle engines, chemical

    processes, nuclear power, flight control• Signal processing

     – Multimedia data compression

     – Digital filtering

    • Communication & Networking

     – Routers, switches, firewalls, … – Surveillance, wireless sensor, …

  • 8/17/2019 introdcution to embedded system

    7/30

    Embedded System Market

    •  Average household uses about 225

    embedded processors; about 35 for theautomobile itself

    • Estimated 5 billion embedded processor inuse --- 94% share of world market; IntelPentium, Motorola PowerPC, etc.

    combined is only 6%

    [source: World Semiconductor Trade Statistics Bluebook]

    7

  • 8/17/2019 introdcution to embedded system

    8/30

    Why study embedded systems ?• Key elements of our society today

    • Many new applications every day

    • Requires knowledge of both software andhardware

     – Ignored in traditional computer sciencecurriculum

     – Isn’ t it only about hardware? NO !!!

    • Experienced embedded systemsdesigners are in high demand and short

    supply8

  • 8/17/2019 introdcution to embedded system

    9/30

    Embedded systems characteristics:

    User ’ s viewpoint• Single function

     – Dedicated to a task or tasks• Tight constraints

     – Size, power, cost, time-to-market• Real time and reactive

     – Respond to environment in real time• Safety critical

     – Failure of hw/sw can be life threatening

    9

  • 8/17/2019 introdcution to embedded system

    10/30

    Embedded system’ s characteristics:

    Developer ’ s viewpoint• Concurrent development of hardware andsoftware: hardware/software codesign

    • Variety of microprocessors

    • Variety of operating systems mostly real time

    (RTOS) – May not even have any OS services like ‘printf ’ 

    • Fewer system resources than desktop system

    • Requires specialized development tools

    • Debugging extremely difficult

    • Hardware and software should be extremelyrobust 10

  • 8/17/2019 introdcution to embedded system

    11/30

    Typical Design Constraints• Small Size, Low Weight

     – Handheld electronics – Transportation applications weight costs money

    • Low Power  – Battery power for 8+ hours (laptops often last only 2 hours) – Limited cooling may limit power even if AC power available

    • Harsh environment – Heat, vibration, shock – Power fluctuations, RF interference, lightning – Water, corrosion, physical abuse

    • Real-time and Safety critical operation – Must function correctly and/or in-time – Must not function incorrectly

    • Extreme cost sensitivity – $.05 adds up over 1,000,000 units11

  • 8/17/2019 introdcution to embedded system

    12/30

     A typical embedded system

    Microprocessor 

     Address Bus

    Data Bus

    Status Bus

    Glue Logic and

     Address Decode

    Clock Generation

    and Distribution

    Real Time Clock

    Random Access

    Memory - RAM

    Read Only

    Memory - ROM

    ( FLASH )

    Minimally Requirement for an Embedded System

    I/O Interface

    ( D/A, A/D, Digital )

    Communications

    Other

    PeripheralDevices

    To Outside World

    To outside worldTo other devices

    To host Computer 

    To User I/F

    Watchdog Timer 

    NMI

    12

    Source: Arnold S. Berger 

  • 8/17/2019 introdcution to embedded system

    13/30

    Elements of an embedded system

    13

    Microprocessor 

    • 4, 8, 16, 32, 4 bit bus• CISC, RISC, DSP• Integrated peripherals• Debug/Test Port• Caches

    • Pipeline• Multiprocessing Systems

    DEBUG PortNon-volatile memory

    • EPROM, FLASH, DISK• Hybrid

    Volatile Memory

    • DRAM, SRAM

    • Hybrid

    Custom Devices

    • ASIC• FPGA• PAL

    Standard Devices

    • I/O Ports• Peripheral Controllers

    Communication Devices

    • Ethernet• RS-232• SCSI• Centronics

    • Proprietary

    Microprocessor Bus

    • Custom• PCI• VME

    • PC-102

    System Clocks• RTC circuitry• System clocks• Integrated in uC• Imported/Exported

    Peripheral Bus

    Software

    • Appl ication Code• Driver Code / BIOS• Real Time Operating System• User Interface• Communications Protoco l Stacks

    • C, C++, Assembly Language, ADA• Legacy Code

       T  o   O  u   t  s   i   d  e   W  o  r   l   d Key Point: Al though vastly d ifferent in complexi ty and design, common

    architectural traits allow us to design and debug a wide variety of systems

    Source: Arnold S. Berger 

  • 8/17/2019 introdcution to embedded system

    14/30

    Trends in embedded system

    • Higher integration

     – Microprocessor  – Micro-controller

     – System-on-Chip (SOC)

    • Hardware/software co-design

    • Mature design flow

    14

  • 8/17/2019 introdcution to embedded system

    15/30

    Higher Integration (1)

    • Microprocessor 

     –  An integrated circuitwhich forms thecentral processing unit

    for a computer orembedded controller,but requires additionalsupport circuitry to

    function

     – Example: Pentium, AMD K6 etc.

    Progr am

    memory

    Data

    Storage

    I/ O

    Micr oprocessor  I/O

    I/ O

    Clock To outside 

    wor ld

    15

    Source: Arnold S. Berger 

  • 8/17/2019 introdcution to embedded system

    16/30

    Higher Integration (2)

    • Micro-controller  –  A microprocessor plus additional

    peripheral support devicesintegrated into a single package

     – Peripheral support devices mayinclude:

    • Serial ports ( COM ), ParallelPorts, Ethernet ports, A/D & D/A

    • Interval timers, watchdog timers,event counter/timers, real time

    clock ( RTC )• Other local processors ( DSP,

    numeric coprocessor, peripheralcontroller )

     – Example: Motorola coldfire

    Microprocessor 

    Core

    Program

    Memory

    Data

    Storage

    I/O

    I/O

    Real-time

    ClockI/O

    To outside world

    16

    Source: Arnold S. Berger 

  • 8/17/2019 introdcution to embedded system

    17/30

    Higher Integration (3)

    • System-on-chip (SOC) – A microprocessor plus additional peripheral

    support devices integrated into a single chip – Example: Intel StrongARM

    Source: Intel 

    17

  • 8/17/2019 introdcution to embedded system

    18/30

    Driving Factor 

    18

    • Moore’ s Law – Predicted by Intel co-founder Gordon Moore ’ 65

     – IC transistor capacity has doubled roughly every18 months for the past several decades

    • Process technology can put more and more

    functionality on the same chip as CPU at reducedcost

    Source: Intel 

  • 8/17/2019 introdcution to embedded system

    19/30

    Liming Factor • Design productivity gap

     – Growing design gap between what technology

    can offer and our ability to design in thattechnology

    19

    Source: ITRS’99 

  • 8/17/2019 introdcution to embedded system

    20/30

    Core based SOC design

    • Intellectual Property (IP) circuits or cores arepre-designed and pre-verified functional units

    • IP s are reusable implying lower design cost• Core examples:

     –Processors: ARM, PowerPC, .. – Memory: RAM, memory controller, …

     – Peripherals: PCI, DMA controller, …

     – Multimedia: MPEG/JPEG encoder/decoder … – Digital Signal Processor (DSP)

     – Telecommunication: Ethernet controller, router, ..

    20

  • 8/17/2019 introdcution to embedded system

    21/30

    Hardware/Software Co-design• In the past:

     – Hardware and

    software designtechnologies werevery different

    •  At present – Recently matured

    synthesis technique

    enables a unified viewof hardware andsoftware

    Implementation

    Assembly instructions

    Machine instructions

    Register transfers

    Compilers

    (1960's,1970's)

     Assemblers, linkers

    (1950's, 1960's)

     Behavioral synthesis

    (1990's)

     RT synthesis

    (1980's, 1990's)

     Logic synthesis

    (1970's, 1980's)

     Microprocessor plus

     program bits: “software”

    VLSI, ASIC, or PLD

    implementation: “hardware”

    Logic gates

    Logic equations / FSM's

    Sequential program code (e.g., C, VHDL)

    21

    The choice of hardware versus software for a particular function is simply a tradeoff among various

     design metrics, like performance, power, size, cost, and especially flexibility; there is no fundamental

     difference between what hardware or software can implement.

    Source: Vahid/Givargis 

  • 8/17/2019 introdcution to embedded system

    22/30

    Design Flow

    Requirements

    Specification

     Architecture

    Components

    System Integration

    22

  • 8/17/2019 introdcution to embedded system

    23/30

    Requirements

    • Functional – Inputs and Outputs

    •  Analog/Digital/Mechanical

    • Periodic/Non-periodic/Bits per data

    • Button/Display

     – Functions• What does the system do?

    • Non-functional

     – Performance – Manufacturing cost

     – Power consumption

     – Physical size and weight23

  • 8/17/2019 introdcution to embedded system

    24/30

    Specification

    24

    •  A precise description of the requirements

    • Unambiguous and understandable

    • Unified Modeling Language (UML) is avisual language that nicely captures the

    specification – Blurs the distinction between h/w and s/w

     – UML models the behavior of embedded system – Automatic code generator could generate HDL

    or C++ code for the actual design

    implementation

  • 8/17/2019 introdcution to embedded system

    25/30

     Architecture Design

    • How the system implements the functions

    described in the specification• System structure in terms of components

    • Hardware/Software partitioning – Hardware and software in embedded system

    work together to solve a problem

     – Partitioning decision is usually dictated byspeed, flexibility, and cost

    25

  • 8/17/2019 introdcution to embedded system

    26/30

     Architecture Design (Contd.)

    Technology Performance/

    Cost

    Time until

    running

    Time to high

    performance

    Time to change

    code functionality

     ASIC Very High VeryLong

    Very Long Impossible

    FPGA Medium Medium Long Medium

     ASIP/

    DSP

    High Long Long Long

    Generic Low-Medium

    Very

    Short

    Not Attainable

    Very Short

           F        l      e      x       i        b       i        l       i       t      y

            S      p      e      e        d

    26

  • 8/17/2019 introdcution to embedded system

    27/30

    Component Design & System

    Integration

    • Implementing hardware and software• Putting components together

    • Verification

    27

    What is expected of embedded

  • 8/17/2019 introdcution to embedded system

    28/30

    What is expected of embedded

    system designer?• Need to understand the big picture

    • Hardware can no longer be a black box• Design software with

     – Real time constraints – Low power 

     – Small code size

    • Willing to acquire domain specificknowledge

    28

    Techniques needed in

  • 8/17/2019 introdcution to embedded system

    29/30

    Techniques needed in

    Embedded Systems

    29

    • Low-level: Microcontrollers, FPGA/ASIC,

    assembly language, A/D, D/A – Device Drivers

    • High-level: Object oriented Design, C/C++,

    Real Time Operating Systems – May use Java, Windows CE, Linux, …

    • Meta-level: Creative solutions to highlyconstrained problems

    • Likely in the future: Unified Modeling

    Language, embedded networks

  • 8/17/2019 introdcution to embedded system

    30/30

    References

    • Embedded Systems Design: An

    Introduction to Processes, Tools andTechniques, by Arnold S. Berger, CMPBooks, 2001

    30