Docstoc

ECE398 embedded system

Document Sample
ECE398 embedded system Powered By Docstoc
					            ECE398: Introduction to
            Embedded Systems


            Lecture 1: Course Overview



11/4/2012                                1
Administration
   Instructor
       Prof. Xinping Zhu
       Office: 308 Dana
       Email: xzhu@ece.neu.edu
            Normally reply within 24 hours
       Phone: x5304
       Office Hours:
            Mon 11-11:45am
            By appointment
       Lecture + Lab. Thursday Class will be lab time.




                                                          2
Administration
   TA
       TBD
       Email:
       Office: TBD
       Office Hours: TBD
       Phone: TBD




                            3
Grading Policy
   Exams
       One midterm: 10%
       One final: 15%
   Homework Assignments/Lab: 30%
   Project: 45%
   Bonus Participation: 5%
       Showing up in class
       Raising questions/Responding to questions
       Discussion




                                                    4
Homework
   Uses SystemC  A C++ library that enables system level (hardware
    & software) modeling
       Recently approved as IEEE 1666 standard
       Installed in the signet lab
       C++ knowledge necessary
       Unix/Linux experience helpful
   HW to be assigned on Mondays
     Due on Monday midnight in a week
     Electronic submission
           Deadline is strictly enforced




                                                                   5
Lab/Project
   Using an XScale-based development board
       http://www.toradex.com
       520 MHZ XScale processor
            Ethernet
            USB
            VGA
            Audio
            RS232
            Compact Flash/SD Card
            Etc.
       Linux



                                              6
Additional References
   Wanye Wolf  Computers as
    Components: Principles of Embedded
    Computing System Design, Morgan
    Kaufman Publishers, 2001


   Frank Vahid, Tony Givargis 
    Embedded System Design: A Unified
    Hardware/Software Introduction, John Wiley
    & Sons, 2002




                                                 7
References

   Open SystemC Initiative 
    SystemC 2.1 Language Reference Manual




                                            8
Papers
   Thorsten Schubert, Jürgen Hanisch, Joachim Gerlach, Jens-E. Appell, Wolfgang Nebel,
    Evaluation of a Refinement-Driven SystemC-Based Design Flow, DATE 2004
   M. Schlett, Trends in Embedded-Microprocessor Design, IEEE Computer, August 1998
   Albert Wang, Chris Rowen, Dror Maydan, Earl Killian, Hardware/Software Instruction Set
    Configurability for Sytem-on-Chip Processors, DAC 2001
   Gang Quan, Sharon Hu, Energy Efficient Fixed-Priority Scheduling for Real-Time Systems on
    Variable Voltage Processors, DAC 2001
   L. Benini and G. De Micheli, Networks on Chips: A New SOC Paradigm, IEEE Computer, January
    2002
   Todor Stefanov, Claudiu Zissulescu, Alexandru Turjan, Bart Kienhuis and Ed Deprettere, System
    Design using Kahn Process Networks: The Compaan/Laura Approach, Date 2004
   C.Kulkarni, G.Ghez, etc. Cache Conscious Data Layout Organization For Embedded Multimedia
    Applications, Date 2001
   Patrick Schaumont, Ingrid Verbauwhede, Domain-Specific Codesign for Embedded Security,
    IEEE Computer, April 2003
   Achim Nohl, Gunnar Braun, Oliver Schliebusch, Rainer Leupers, and Heinrich Meyr, A Universal
    Technique for Fast and Flexible Instruction-Set Architecture Simulation, DAC 2002
   S. Dutta, R. Jensen, and A. Rieckmann, Viper: A multiprocessor SoC for Advanced Set-top Box
    and Digital TV Systems, IEEE Design and Test of Computers, Sept.-Oct, 2001, pp.21-31




                                                                                            9
Assignment Today
   One programming HW
       Will be posted to Blackboard
   Reading
       Wikipedia  Embedded System
            http://en.wikipedia.org/wiki/Embedded_system
   Check room access
       Microprocessor Lab 115/117
       Signet Lab 307




                                                            10
Traditional Embedded System Design
   SW and HW partitioning is decided at an early stage
   Using commodity components, board level design


             Software          Application    Hardware
                                Function

           Compiler


           Assembler


             Linker

                                             Off-the-shelf   Implementation
       Binary on uController
                                              hardware

                                                                              11
HW/SW Codesign Style
   An integrated design flow of hardware and software
   Often targeting SoCs, not constrained by commodity components
                                  Application

               Software             HW/SW           Hardware
                                   Partitioning
                                                                 Performance
            Compilation, etc.                       Synthesis     Estimation


                                Virtual prototype


                                 Cosimulation



             Processor +                             Hardwired
             Binary Code           System-on-       Components
                                      chip
                                                                        12
Goals of the Course
   Targeting HW/SW codesign
      Understand the hardware components
      Understand the RTOS theories
      Gain experience in system level design tools
            SystemC
   Targeting traditional system design
      Developing device drivers
      Developing embedded software




                                                      13
Topics to Cover
   Embedded Computers
     Instruction set architecture/Microarchitecture
     Memory architecture
     Input/output devices
   Real-time Operating System
     Scheduling
     Device driver
   Design techniques
     Specification Methods/Computation models
     Verification Techniques
     Hardware-software codesign techniques




                                                       14
Introduction
   What are embedded systems?
   Challenges in embedded computing system design.
   Design methodologies.




                                                      15
  What is an embedded system?
                       Communication




    Avionics


                                            Automobile




Consumer Electronics

                       Office Equipments

                                           Household Appliances   16
Definition
   Embedded system: any device that includes a
    programmable computer but is not itself a general-
    purpose computer.
   Take advantage of application characteristics to optimize
    the design:
       Don’t need all the general-purpose bells and whistles.
       But need to understand the application.




                                                                 17
An embedded system example -- a digital
camera

           Digital camera chip
     CCD

                           CCD preprocessor           Pixel coprocessor           D2A
            A2D

   lens

             JPEG codec                  Microcontroller           Multiplier/Accum



              DMA controller                                              Display ctrl




             Memory controller        ISA bus interface       UART           LCD ctrl




                                                                                         18
Digital TV: Viper SoC Diagram

           MIPS                 Trimedia
         (PR3940)                (TM32)
           CPU                     CPU




                                           19
Automotive embedded systems
   Today’s high-end automobile have > 80
    microprocessors:
       4-bit microcontroller checks seat belt;
       microcontrollers run dashboard devices;
       16/32-bit microprocessor controls engine.
       Millions lines of code




                                                    20
BMW 850i brake and stability control system

   Anti-lock brake system (ABS): pumps brakes to
    reduce skidding.

             sensor                     sensor

             brake                      brake
                            hydraulic
                      ABS
                              pump
             brake                      brake

            sensor                      sensor
                                                    21
BMW 850i brake and stability control system

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




                                                                         22
Microprocessor varieties
   Microcontroller: includes I/O devices, on-board memory.
      Examples:
            Intel 8051, SA-1100 (StrongARM), PXA255 (X-Scale)
            Zilog Z80, Motorola 68HC11
   Digital signal processor (DSP): microprocessor optimized for digital
    signal processing.
      Examples:
            Philpis Trimedia, TI TMS320 series, Motorola/Agere StarCore
            Analog Devices ADSP21xx series
   Application-specific Processors/SoCs: processors optimized for a
    particular type of task.
      Examples:
            Intel IXP 1200, 2400 network processor
            Canon DIGIC series image processor


                                                                           23
Processor technology
    Processors vary in their customization for the problem at hand
                                            total = 0
                                            for i = 1 to N loop
                                              total += M[i]
                                            end loop
                           Desired
                         functionality




    General-purpose           Application-specific                Customized
      processor                   processor                       Coprocessor


                                                                                24
Advantages of Using Processors
   Flexibility
        Quick turn around for bug fix
        Can upgrade through software
             GPS receiver, DVD player, Wireless Router
   Lower Cost
        To develop software vs. hardware
        To manufacture
   Good performance
        Heavy pipelining, wide issue width
        Experienced design teams
        Aggressive VLSI technology



                                                          25
Power
   Custom logic is a clear winner for low power devices.
   Modern microprocessors offer features to help control
    power consumption
       Idle/sleeping mode
       Dynamic voltage/frequency adjustment
   Software design techniques can help reduce power
    consumption.




                                                            26
Characteristics of embedded Systems

   Sophisticated functionality.
   Real-time operation.
   Low manufacturing cost.
   Low power.
   Short time-to-market and small teams.




                                            27
Functional complexity
   Often have to run sophisticated algorithms or multiple
    algorithms.
       Example: A DVD player
          DVD, video CD, audio CD, JPEG image CD, MP3 CD,
           MPEG-4, DivX 3.11/4.x/5.x
       Requiring domain-specific knowledge.


   Often provide sophisticated user interfaces.
       Multiple levels of user menus
       Support for multiple languages
       Graphics
       Speech, handwriting

                                                             28
Real-time operation
   Must finish operations by deadlines.
       Hard real time: missing deadline causes failure.
       Soft real time: missing deadline results in degraded
        performance.
   Many systems are multi-rate: must handle operations at
    widely varying rates.
       Example: Audio, Video




                                                               29
Cost and Power Consumption
   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.




                                                                    30
Time-to-market
   Often must meet tight deadlines.
       6 month market window is common.
       Can’t miss back-to-school window for calculator.

                                                            Peak revenue

                                                             Peak revenue from
             Revenues ($)




                                                               delayed entry
                                              On-time

                              Market rise                         Market fall

                                                  Delayed




                                      D            W                       2W
                            On-time     Delayed                  Time
                             entry       entry

                                                                                 31
Challenges in embedded system
design
   How much hardware do we need?
       How many processors? How big are they? How much memory?
   How do we meet performance requirements?
       What’s in hardware? What’s in software?
       Faster hardware or cleverer software?
   How do we minimize power?
       Turn off unnecessary logic? Reduce memory accesses?
   How do we ship in time?
       Off-the-shelf chips? IP-reuse?




                                                              32
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?
   How do we make our ends meet?
   How do we reduce size/weight?


                                                        33
Required Designers
   Expertise with both software and hardware is needed
    to optimize design metrics
       Not just a hardware or software expert
       A designer must be comfortable with various technologies in
        order to choose the best for a given application and constraints
       A designer must be able to communicate with teammates of
        various background




                                                                           34
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.




                                                                      35
Levels of abstraction

             requirements


             specification

             architecture

              component
                design
                system
              integration

                             36
Top-down vs. bottom-up
   Top-down design:
       start from most abstract description;
       work to most detailed.
   Bottom-up design:
       work from small components to big system.
   Real design uses both techniques.
                              application


                              architecture


                              component

                                                    37
Requirements

   Plain language description of what the user 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.




                                                            38
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.




                                             39
Our requirements form
    name
    purpose
    inputs
    outputs
    functions
    performance
    manufacturing cost
    power
    physical size/weight

                           40
Example: GPS moving map requirements

   Moving map obtains
    position from GPS,
    paints map from               I-78
    local database.




                                                 Scotch Road
                         lat: 40 13 lon: 32 19

                                                               41
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 goods sold.
   Physical size/weight: Should fit in dashboard.
   Power consumption: 8 hours on 4 AAs




                                                                          42
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-
                              sold
       power                  100 mW
       physical size/weight   no more than 2: X 6:,
                              12 oz.


                                                       43
Specification
   A more precise description of the system:
       should not imply a particular architecture;
       provides input to the architecture design process.
   May include functional and non-functional elements.
   May be executable or may be in mathematical form for
    proofs.




                                                             44
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.




                                                                   45
Architecture design
   What major components go satisfying the specification?
   Hardware components:
       CPUs, peripherals, etc.
   Software components:
       major programs and their operations.
   Must take into account functional and non-functional
    specifications.




                                                           46
GPS moving map block diagram



      GPS       search                display
                          renderer
    receiver    engine



                             user
               database   interface




                                                47
GPS moving map hardware
architecture


 display   frame    CPU
           buffer
                      GPS
                    receiver

           memory
                    panel I/O



                                48
GPS moving map software architecture



 position   database               pixels
                        renderer
             search


               user
                         timer
            interface




                                            49
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.




                                                          50
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.




                                                            51
Summary
   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.




                                                               52

				
DOCUMENT INFO
Shared By:
Tags:
Stats:
views:26
posted:11/4/2012
language:English
pages:52