Top Banner
Embedded Embedded Systems Systems Design Design
88

Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

Dec 25, 2015

Download

Documents

Madison Logan
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

Embedded Embedded SystemsSystems

DesignDesign

Page 2: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

2

ObjectivesObjectives

• Introduction to embedded systemsIntroduction to embedded systems• Embedded system componentsEmbedded system components

• HardwareHardware• SoftwareSoftware

• Embedded system programmingEmbedded system programming

Page 3: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

An embedded system is nearly anyAn embedded system is nearly any

computing system other than a desktop, laptop, or computing system other than a desktop, laptop, or mainframe computer. mainframe computer.

3

Page 4: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

4

Definition for: Definition for: embedded systemembedded system

A combination of hardware and software which together form A combination of hardware and software which together form a component of a larger machine.a component of a larger machine.

An example of an embedded system is a microprocessor that An example of an embedded system is a microprocessor that

controls an automobile engine. controls an automobile engine.

An embedded system is designed to run on its own without An embedded system is designed to run on its own without human intervention, and may be required to respond to events human intervention, and may be required to respond to events in real time.in real time.

Source: www.computeruser.com/resources/dictionarySource: www.computeruser.com/resources/dictionary

Page 5: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

5

Page 6: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

6

DefinitionDefinition

““Any sort of device which includes a Any sort of device which includes a programmable computer but itself is not programmable computer but itself is not intended to be a general-purpose intended to be a general-purpose computercomputer””

Wayne WolfWayne Wolf

Page 7: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

7

Y. Williams Csci-339, Spring 2002 20

Wireless Communications

Hand-held GPS Units

Telematics System for Automobiles

Page 8: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

8

Y. Williams Csci-339, Spring 2002 22

Robotics Control

Spider robot – constructed with LEGO Mindstorms Components

Page 9: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

9

More examplesMore examples

Y. Williams Csci-339, Spring 2002 24

Smart Toys

Page 10: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

10Introduction to Embedded SystemsIntroduction to Embedded Systems Setha Pan-ngum Setha Pan-ngum

Slide credit Y Williams, GWUSlide credit Y Williams, GWU

Y. Williams Csci-339, Spring 2002 21

Cruise Missile Guidance

Page 11: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

11

Page 12: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

12

Page 13: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

13

DefinitionDefinition

Page 14: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

14

Embedded systems overviewEmbedded systems overview

Computing systems are everywhereComputing systems are everywhere Most of us think of “desktop” computersMost of us think of “desktop” computers

– PC’sPC’s– LaptopsLaptops– MainframesMainframes– ServersServers

But there’s another type of computing systemBut there’s another type of computing system– Far more common...Far more common...

Page 15: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

15

Embedded systems overviewEmbedded systems overview

Embedded computing systemsEmbedded computing systems– Computing systems embedded Computing systems embedded

within electronic deviceswithin electronic devices– Hard to define. Nearly any Hard to define. Nearly any

computing system other than a computing system other than a desktop computerdesktop computer

– Billions of units produced yearly, Billions of units produced yearly, versus millions of desktop unitsversus millions of desktop units

– Perhaps 50 per household and per Perhaps 50 per household and per automobileautomobile

Computers are in here...

and here...

and even here...

Lots more of these, though they cost a lot

less each.

Page 16: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

16

A “short list” of embedded A “short list” of embedded systemssystems

And the list goes on and onAnd the list goes on and on

Anti-lock brakesAuto-focus camerasAutomatic teller machinesAutomatic toll systemsAutomatic transmissionAvionic systemsBattery chargersCamcordersCell phonesCell-phone base stationsCordless phonesCruise controlCurbside check-in systemsDigital camerasDisk drivesElectronic card readersElectronic instrumentsElectronic toys/gamesFactory controlFax machinesFingerprint identifiersHome security systemsLife-support systemsMedical testing systems

ModemsMPEG decodersNetwork cardsNetwork switches/routersOn-board navigationPagersPhotocopiersPoint-of-sale systemsPortable video gamesPrintersSatellite phonesScannersSmart ovens/dishwashersSpeech recognizersStereo systemsTeleconferencing systemsTelevisionsTemperature controllersTheft tracking systemsTV set-top boxesVCR’s, DVD playersVideo game consolesVideo phonesWashers and dryers

Page 17: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

17

How many do we use?How many do we use? Average middle-class American home has 40 to Average middle-class American home has 40 to

50 embedded processors in it 50 embedded processors in it – Microwave, washer, dryer, dishwasher, TV, VCR, Microwave, washer, dryer, dishwasher, TV, VCR,

stereo, hair dryer, coffee maker, remote control, stereo, hair dryer, coffee maker, remote control, humidifier, heater, toys, etc. humidifier, heater, toys, etc.

Luxury cars have over 60 embedded processorsLuxury cars have over 60 embedded processors– Brakes, steering, windows, locks, ignition, dashboard Brakes, steering, windows, locks, ignition, dashboard

displays, transmission, mirrors, etc. displays, transmission, mirrors, etc. Personal computers have over 10 embedded Personal computers have over 10 embedded

processors processors – Graphics accelerator, mouse, keyboard, hard-drive, Graphics accelerator, mouse, keyboard, hard-drive,

CD-ROM, bus interface, network card, etc. CD-ROM, bus interface, network card, etc. - Mike - Mike

SchulteSchulte

Page 18: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

ExampleExample

18

Page 19: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

Characteristics of ESCharacteristics of ES

19

Page 20: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

20

Page 21: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

21

Characteristics of Embedded SystemsCharacteristics of Embedded Systems Application-specific functionality – specialized for one or one Application-specific functionality – specialized for one or one

class of applicationsclass of applications Deadline constrained operation – system may have to perform Deadline constrained operation – system may have to perform

its function(s) within specific time periods to achieve successful its function(s) within specific time periods to achieve successful resultsresults

Resource challenged – systems typically are configured with a Resource challenged – systems typically are configured with a modest set of resources to meet the performance objectivesmodest set of resources to meet the performance objectives

Power efficient – many systems are battery-powered and must Power efficient – many systems are battery-powered and must conserve power to maximize the usable life of the system.conserve power to maximize the usable life of the system.

Form factor – many systems are light weight and low volume to Form factor – many systems are light weight and low volume to be used as components in host systemsbe used as components in host systems

Manufacturable – usually small and inexpensive to manufacture Manufacturable – usually small and inexpensive to manufacture based on the size and low complexity of the hardware.based on the size and low complexity of the hardware.

Slide credit Y William, GWUSlide credit Y William, GWU

Page 22: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

22

Types of Embedded SystemsTypes of Embedded Systems

Page 23: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

23

Types of Embedded SystemsTypes of Embedded Systems

Page 24: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

24

Typical Embedded SystemsTypical Embedded Systems

Are designed to observed (through sensors) Are designed to observed (through sensors) and control something (through actuators)and control something (through actuators)E.g. air condition senses room temperature and E.g. air condition senses room temperature and

maintains it at set temperature via thermostat.maintains it at set temperature via thermostat.

Page 25: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

Design ChallengesDesign Challenges

25

Page 26: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

26

Page 27: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

Design Metric CompetitionDesign Metric Competition

27

Page 28: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

Time to MarketTime to Market

28

Page 29: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

29

Embedded System Block DiagramEmbedded System Block Diagram

Slide credit Y Williams, GWUSlide credit Y Williams, GWU

Introduction to Embedded SystemsIntroduction to Embedded Systems Setha Pan-ngum Setha Pan-ngum

Processor

mem

Observe(Input)

Control(Output) Motor/Light

TemperatureSensor

System

Bus

Page 30: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

30

ProcessorsProcessors

Microprocessors for PCsMicroprocessors for PCs Embedded processors or Microcontrollers Embedded processors or Microcontrollers

for embedded systemsfor embedded systems– Often with lower clock speeds Often with lower clock speeds – Integrated with memory and Integrated with memory and – I/O devices e.g. A/D D/A PWM CANI/O devices e.g. A/D D/A PWM CAN– Higher environmental specsHigher environmental specs

Introduction to Embedded SystemsIntroduction to Embedded Systems Setha Pan-ngum Setha Pan-ngum

Page 31: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

31

Microcontrollers dominates processor marketMicrocontrollers dominates processor market

Page 32: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

32

Types of Embedded ProcessorsTypes of Embedded Processors Computational micros (32- or 64-bit datapaths)Computational micros (32- or 64-bit datapaths)

– CPU of workstations, PCs, or high-end portable devices (PDAs)CPU of workstations, PCs, or high-end portable devices (PDAs)

– x86, PA-RISC, PowerPC, SPARC, etc. x86, PA-RISC, PowerPC, SPARC, etc.

Embedded general purpose micros (32-bit datapaths)Embedded general purpose micros (32-bit datapaths)– Designed for a wide range of embedded applicationsDesigned for a wide range of embedded applications

– Often scaled-down version of computational microsOften scaled-down version of computational micros

– ARM, PowerPC, MIPS, x86, 68K, etc. ARM, PowerPC, MIPS, x86, 68K, etc.

Microcontrollers (4-, 8-, or 16-bit datapaths)Microcontrollers (4-, 8-, or 16-bit datapaths)– Integrate processing unit, memory, I/O buses, and peripheralsIntegrate processing unit, memory, I/O buses, and peripherals

– Often low-cost, high-volume devicesOften low-cost, high-volume devices

Domain-specific processors (datapath size varies greatly)Domain-specific processors (datapath size varies greatly)– Designed for a particular application domainDesigned for a particular application domain

– Digital signal processors, multimedia processors, graphics Digital signal processors, multimedia processors, graphics processors, network processors, security processors, etc. processors, network processors, security processors, etc.

Page 33: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

33

Processor Sales DataProcessor Sales Data

Page 34: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

34

Processor MarketProcessor Market 2001 processor market by volume:2001 processor market by volume:

– Computational micros: 2%Computational micros: 2%– Embedded general-purpose micros: 11%Embedded general-purpose micros: 11%– DSPs: 10%DSPs: 10%– Microcontrollers: 80%Microcontrollers: 80%

2001 processor market by revenue:2001 processor market by revenue:– Computational micros: 51%Computational micros: 51%– Embedded general-purpose micros: 8%Embedded general-purpose micros: 8%– DSPs: 13%DSPs: 13%– Microcontrollers: 28%Microcontrollers: 28%

Higher growth expected for embedded micros, DSPs, and Higher growth expected for embedded micros, DSPs, and microcontrollersmicrocontrollers

Slide credit - Mike SchulteSlide credit - Mike Schulte

Page 35: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

35

Growing DemandGrowing Demand

Embedded Embedded processors account processors account for for – Over 97% of total Over 97% of total

processors soldprocessors sold

– Over 60% of total Over 60% of total sales from processors sales from processors

Sales expected to Sales expected to increase by roughly increase by roughly 15% each year15% each year

Slide credit - Mike SchulteSlide credit - Mike Schulte

Introduction to Embedded SystemsIntroduction to Embedded Systems Setha Pan-ngum Setha Pan-ngum

Page 36: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

36

Moore’s LawMoore’s Law

Page 37: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

Number of Transistors on ChipsNumber of Transistors on Chips

Page 38: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

38

Graphical illustration of Moore’s law

1981 1984 1987 1990 1993 1996 1999 2002

Leading edgechip in 1981

10,000transistors

Leading edgechip in 2002

150,000,000transistors

Page 39: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

39

Some common characteristics of embedded Some common characteristics of embedded systemssystems

Single-functionedSingle-functioned– Executes a single program, repeatedlyExecutes a single program, repeatedly

Tightly-constrainedTightly-constrained– Low cost, low power, small, fast, etc.Low cost, low power, small, fast, etc.

Reactive and real-timeReactive and real-time– Continually reacts to changes in the system’s Continually reacts to changes in the system’s

environmentenvironment– Must compute certain results in real-time Must compute certain results in real-time

without delaywithout delay

Page 40: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

40

Design with focus on ApplicationDesign with focus on Application

Slide credit – P Koopman, CMUSlide credit – P Koopman, CMU

Introduction to Embedded SystemsIntroduction to Embedded Systems Setha Pan-ngum Setha Pan-ngum

Page 41: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

41

Design ConstraintsDesign Constraints

Slide credit – P Koopman, CMUSlide credit – P Koopman, CMU

Introduction to Embedded SystemsIntroduction to Embedded Systems Setha Pan-ngum Setha Pan-ngum

Page 42: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

42

Design ChallengesDesign Challenges Does it really work?Does it really work?

– Is the specification correct?Is the specification correct?– Does the implementation meet the spec?Does the implementation meet the spec?– How do we test for real-time characteristics?How do we test for real-time characteristics?– How do we test on real data?How do we test on real data?

How do we work on the system?How do we work on the system?– Observability, controllability?Observability, controllability?– What is our development platform?What is our development platform?

Slide credit – P Koopman, CMUSlide credit – P Koopman, CMU

More importantly – optimising design More importantly – optimising design metrics!!metrics!!

Page 43: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

43

Design MetricsDesign Metrics• Common metricsCommon metrics

• Unit cost: Unit cost: the monetary cost of manufacturing each copy of the monetary cost of manufacturing each copy of the system, excluding NRE costthe system, excluding NRE cost

• NRE cost (Non-Recurring Engineering cost): NRE cost (Non-Recurring Engineering cost): The one-time monetary cost of designing the systemThe one-time monetary cost of designing the system

• Size: Size: the physical space required by the systemthe physical space required by the system

• Performance: Performance: the execution time or throughput of the systemthe execution time or throughput of the system

• Power: Power: the amount of power consumed by the systemthe amount of power consumed by the system

• Flexibility: Flexibility: the ability to change the functionality of the the ability to change the functionality of the system without incurring heavy NRE costsystem without incurring heavy NRE cost

Page 44: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

44

Design MetricsDesign Metrics

• Common metrics (continued)Common metrics (continued)• Time-to-prototype: Time-to-prototype: the time needed to build a working the time needed to build a working

version of the systemversion of the system

• Time-to-market: Time-to-market: the time required to develop a system to the time required to develop a system to the point that it can be released and sold to customersthe point that it can be released and sold to customers

• Maintainability: Maintainability: the ability to modify the system after its the ability to modify the system after its initial releaseinitial release

• Correctness, safety, many moreCorrectness, safety, many more

Slide credit Vahid/Givargis, Embedded Systems Design: A Unified Hardware/Software IntroductionSlide credit Vahid/Givargis, Embedded Systems Design: A Unified Hardware/Software Introduction

Page 45: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

45

Trade-off in Design MetricsTrade-off in Design Metrics Expertise with both Expertise with both

software and hardwaresoftware and hardware is needed to optimize is needed to optimize design metricsdesign metrics– Not just a hardware or Not just a hardware or

software expert, as is software expert, as is commoncommon

– A designer must be A designer must be comfortable with various comfortable with various technologies in order to technologies in order to choose the best for a given choose the best for a given application and constraintsapplication and constraints

Slide credit Vahid/Givargis, Embedded Systems Design: Slide credit Vahid/Givargis, Embedded Systems Design: A Unified Hardware/Software IntroductionA Unified Hardware/Software Introduction

SizePerformance

Power

NRE cost

Page 46: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

46

Time-to-market: a demanding design Time-to-market: a demanding design metricmetric

Time required to develop Time required to develop a product to the point it a product to the point it can be sold to customerscan be sold to customers

Market windowMarket window– Period during which the Period during which the

product would have highest product would have highest salessales

Average time-to-market Average time-to-market constraint is about 8 constraint is about 8 monthsmonths

Delays can be costlyDelays can be costly

Slide credit Vahid/Givargis, Embedded Systems Design: A Slide credit Vahid/Givargis, Embedded Systems Design: A Unified Hardware/Software IntroductionUnified Hardware/Software Introduction

Rev

enue

s ($

)

Time (months)

Page 47: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

47

Losses due to delayed market Losses due to delayed market entryentry

Simplified revenue modelSimplified revenue model– Product life = 2W, peak at WProduct life = 2W, peak at W

– Time of market entry defines Time of market entry defines a triangle, representing a triangle, representing market penetrationmarket penetration

– Triangle area equals revenueTriangle area equals revenue

Loss Loss – The difference between the The difference between the

on-time and delayed triangle on-time and delayed triangle areasareas

Slide credit Vahid/Givargis, Embedded Systems Slide credit Vahid/Givargis, Embedded Systems Design: A Unified Hardware/Software Design: A Unified Hardware/Software IntroductionIntroduction

On-time Delayedentry entry

Peak revenue

Peak revenue from delayed entry

Market rise Market fall

W 2W

Time

D

On-time

Delayed

Rev

enue

s ($

)

Page 48: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

48

Other Design ConsiderationsOther Design Considerations DependabilityDependability

– Reliability: probability of system working Reliability: probability of system working correctly provided that it worked at time t=0correctly provided that it worked at time t=0

– Maintainability: probability of system working Maintainability: probability of system working correctly d time units after error occurred. correctly d time units after error occurred. [[Some systems require no maintenance Some systems require no maintenance throughout their operating lives (e.g. electric throughout their operating lives (e.g. electric kettles, computer keyboards), while some may kettles, computer keyboards), while some may need it such as mobile phones and airplane need it such as mobile phones and airplane flight control (software upgrade)flight control (software upgrade)]]

Page 49: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

49

Other Design ConsiderationsOther Design Considerations

DependabilityDependability– Availability: probability of system working at Availability: probability of system working at

time ttime t– SafetySafety– Security: in communicationSecurity: in communication

Basically, cBasically, critical applications have to operate ritical applications have to operate correctly at all time e.g. airplane flight control correctly at all time e.g. airplane flight control computer. This includes both computer. This includes both hardware and hardware and softwaresoftware aspects. aspects.

Page 50: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

50

Example of System FaultExample of System Fault

Page 51: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

51

Other Design ConsiderationsOther Design Considerations

OOperating environmentperating environmentSome engine Electronic Control Units (ECUs) in Some engine Electronic Control Units (ECUs) in

cars are located under the bonnets. So they have cars are located under the bonnets. So they have to work at high temperature, as well as dusty to work at high temperature, as well as dusty and wet environment.and wet environment.

EMI (Electromagnetic Interference)EMI (Electromagnetic Interference)

Page 52: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

52

Real-Time ConsiderationReal-Time Consideration

Correct operation of real-time systems Correct operation of real-time systems means:means:– Working correctly (functionally correct)Working correctly (functionally correct)– Producing outputs Producing outputs in timein time!!

i.e. correct result at the right timei.e. correct result at the right time

Page 53: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

53

Hard Real-timeHard Real-time System designed to meet all deadlinesSystem designed to meet all deadlines A missed deadline is a design flawA missed deadline is a design flaw For examples: ABS brake, nuclear reactor For examples: ABS brake, nuclear reactor

monitoring systemmonitoring system System hardware (over) designed for worst-System hardware (over) designed for worst-

case performancecase performance System software rigorously testedSystem software rigorously tested Formal proofs used to guarantee timing Formal proofs used to guarantee timing

correctnesscorrectnessSlide credit – T GivargisSlide credit – T Givargis

Page 54: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

54

Firm Real-timeFirm Real-time System designed to meet all deadlines, but System designed to meet all deadlines, but

occasional missed deadline is allowedoccasional missed deadline is allowed– Sometimes statistically quantified (e.g. 5% Sometimes statistically quantified (e.g. 5%

misses)misses) For examples: multimedia systemsFor examples: multimedia systems System hardware designed for average case System hardware designed for average case

performanceperformance System software tested under average System software tested under average

(ideal) conditions(ideal) conditions

Slide credit – T GivargisSlide credit – T Givargis

Page 55: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

55

Soft Real-timeSoft Real-time System designed to meet as many deadlines System designed to meet as many deadlines

as possibleas possible– Best effort to complete within specified time, Best effort to complete within specified time,

but may be latebut may be late For examples: network switch or routerFor examples: network switch or router System hardware designed for average case System hardware designed for average case

performanceperformance System software tested under averaged System software tested under averaged

(ideal) conditions(ideal) conditions

Slide credit – T GivargisSlide credit – T Givargis

Page 56: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

56

Levels of System DesignLevels of System Design

requirements

specification

architecture

componentdesign

systemintegration

Page 57: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

57

Traditional Embedded System Traditional Embedded System Design ApproachDesign Approach

Decide on the hardwareDecide on the hardware Give the chip to the software people.Give the chip to the software people. Software programmer must make software Software programmer must make software

‘fit’ on the chip and only use that ‘fit’ on the chip and only use that hardware’s capabilities.hardware’s capabilities.

Page 58: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

58

Problems with Increased ComplexityProblems with Increased Complexity

Systems are becoming more and more Systems are becoming more and more complex.complex.

Harder to think about total design.Harder to think about total design. Harder to fix ‘bugs.’Harder to fix ‘bugs.’ Harder to maintain systems over time.Harder to maintain systems over time. Therefore, the traditional development Therefore, the traditional development

process has to change,process has to change,

Page 59: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

59

Design with Time ConstraintDesign with Time Constraint

In embedded electronics, the total design cycle In embedded electronics, the total design cycle

must decrease.must decrease.

Historically, design for automotive electronic Historically, design for automotive electronic

systems takes 3-5 years to develop.systems takes 3-5 years to develop.

Must be reduced to a 1-3 year development cycle.Must be reduced to a 1-3 year development cycle.

Must still be reliable and safe.Must still be reliable and safe.

B. Wilkie, R. Frank and J. Suchyta - Motorola Semiconductor Products Sectors, ‘Silicon or Software: The B. Wilkie, R. Frank and J. Suchyta - Motorola Semiconductor Products Sectors, ‘Silicon or Software: The Foundation of Automotive Electronics’, IEEE Vehicular Tech., August 95.Foundation of Automotive Electronics’, IEEE Vehicular Tech., August 95.

Page 60: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

60

Possible Ways to DoPossible Ways to Do

Decomposable hierarchy (object-oriented).Decomposable hierarchy (object-oriented). Reuse previous designs:Reuse previous designs:

– When a design changes, reuse similar sections.When a design changes, reuse similar sections.

– Don’t throw away last year’s design and start from Don’t throw away last year’s design and start from scratch!scratch!

Automated verification systems.Automated verification systems.

Page 61: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

61

Levels of Embedded System DesignLevels of Embedded System Design

Page 62: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

62

Design AbstractionDesign Abstraction

Page 63: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

63

Abstraction LevelsAbstraction Levels

Page 64: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

64

Abstraction LevelsAbstraction Levels

Page 65: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

65

Abstraction LevelsAbstraction Levels

Page 66: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

66

Abstraction LevelAbstraction Level

Page 67: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

67

Hardware vs SoftwareHardware vs Software

Many functions can be done by Many functions can be done by softwaresoftware on on a general purpose microprocessor a general purpose microprocessor OROR by by hardwarehardware on an application specific ICs on an application specific ICs (ASICs)(ASICs)

For examples: game console graphic, For examples: game console graphic, PWM, PID controlPWM, PID control

Leads to Hardware/Software Co-design Leads to Hardware/Software Co-design conceptconcept

Page 68: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

68

Hardware or Software?Hardware or Software? Where to place functionality?Where to place functionality?

– ex: A Sort algorithmex: A Sort algorithm» Faster in hardware, but more expensive. Faster in hardware, but more expensive. » More flexible in software but slower.More flexible in software but slower.» Other examples?Other examples?

Must be able to explore these various trade-offs:Must be able to explore these various trade-offs:– Cost.Cost.– Speed.Speed.– Reliability.Reliability.– Form (size, weight, and power constraints.)Form (size, weight, and power constraints.)

Slide credit - Slide credit - W. McUmberW. McUmber,, MSU MSU

Page 69: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

69

Hardware vs SoftwareHardware vs Software

Slide credit - Slide credit - Mike SchulteMike Schulte

EmbeddedApplication-Specific

Processors

EmbeddedDomain-Specific

Processors

General-Purpose Processors

FFT ProcessorsMPEG ProcessorsFIR Processors

Graphics ProcessorsDSP ProcessorsNetwork Processors

WorkstationsPersonal Computers

Pow

er/P

erfo

rman

ce

Programmability and Flexibility

Page 70: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

70

Hardware vs SoftwareHardware vs Software

Slide credit – Ingo SanderSlide credit – Ingo Sander

Page 71: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

ProcessorsProcessors

71

Page 72: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

72

Page 73: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

73

Page 74: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

74

Microcessor technologyMicrocessor technology

Slide credit Vahid/Givargis, Embedded Systems Design: A Unified Hardware/Software Introduction, 2000Slide credit Vahid/Givargis, Embedded Systems Design: A Unified Hardware/Software Introduction, 2000

Processors vary in their customization for the problem at handProcessors vary in their customization for the problem at hand

total = 0for i = 1 to N loop total += M[i]end loop

General-purpose processor

Single-purpose processor

Application-specific processor

Desired functionality

Page 75: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

75

General-purpose processorsGeneral-purpose processors Programmable device used in a variety of Programmable device used in a variety of

applicationsapplications

FeaturesFeatures– Program memoryProgram memory– General datapath with large register file and General datapath with large register file and

general ALUgeneral ALU

DrawbacksDrawbacks- Low performanceLow performance- Size and power increase- Size and power increase

User benefitsUser benefits– Low time-to-market and NRE costsLow time-to-market and NRE costs– High flexibilityHigh flexibility

IR PC

Registerfile

GeneralALU

DatapathController

Program memory

Assembly code for:

total = 0 for i =1 to …

Control logic and

State register

Datamemory

Page 76: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

76

Single-purpose processorsSingle-purpose processors Digital circuit designed to execute exactly one Digital circuit designed to execute exactly one

programprogram– a.k.a. coprocessor, accelerator or peripherala.k.a. coprocessor, accelerator or peripheral

FeaturesFeatures– Contains only the components needed to execute a Contains only the components needed to execute a

single programsingle program

– No program memoryNo program memory

DrawbacksDrawbacks

- Design time higher, low flexibility, higher - Design time higher, low flexibility, higher NRE cost, NRE cost,

BenefitsBenefits– FastFast

– Low powerLow power

– Small sizeSmall size

DatapathController

Control logic

State register

Datamemory

index

total

+

Page 77: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

77

Application-specific processorsApplication-specific processors Examples. DSPExamples. DSP Programmable processor optimized for a Programmable processor optimized for a

particular class of applications having particular class of applications having common characteristicscommon characteristics– Compromise between general-purpose and Compromise between general-purpose and

single-purpose processorssingle-purpose processors

FeaturesFeatures– Program memoryProgram memory

– Optimized datapathOptimized datapath

– Special functional unitsSpecial functional units

BenefitsBenefits– Some flexibility, good performance, size and Some flexibility, good performance, size and

powerpower

IR PC

Registers

CustomALU

DatapathController

Program memory

Assembly code for:

total = 0 for i =1 to …

Control logic and

State register

Datamemory

Page 78: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

How many processors needed?How many processors needed?

78

Page 79: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

79

Page 80: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

Case StudyCase Study

How many processors needed inside a car?How many processors needed inside a car?

80

Page 81: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

81

Software CostsSoftware Costs

Page 82: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

82

Disciplines Used in Embedded System Disciplines Used in Embedded System DesignDesign

Page 83: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

83

Trends in Embedded SystemsTrends in Embedded Systems

Page 84: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

84

Future Embedded SystemsFuture Embedded Systems

Page 85: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

85

Future Embedded SystemsFuture Embedded Systems

Page 86: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

86

Future Embedded SystemsFuture Embedded Systems

Page 87: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

87

Observations on Future Embedded Observations on Future Embedded SystemsSystems

More complexity (people expect more More complexity (people expect more functions and higher performance from functions and higher performance from their electronic products)their electronic products)

This leads to more complex softwareThis leads to more complex software Which requires better design processWhich requires better design process More importantly, thorough testing for More importantly, thorough testing for

safety critical systems (diagnostics codes of safety critical systems (diagnostics codes of engine ECUs is half of its total software engine ECUs is half of its total software codes)codes)

Page 88: Embedded Systems Design. 2 Objectives Introduction to embedded systemsIntroduction to embedded systems Embedded system componentsEmbedded system components.

88

Research in Embedded SystemsResearch in Embedded Systems

• Hardware – to improve performance (sensors and Hardware – to improve performance (sensors and actuators), verification, etc.actuators), verification, etc.

• Software – reusability, testing, verification, OS, etc.Software – reusability, testing, verification, OS, etc.• Network – higher connectivity between systems (e.g. Network – higher connectivity between systems (e.g.

smart homes link many systems together, standardised smart homes link many systems together, standardised protocols, etc.protocols, etc.

• Security – protection against attacksSecurity – protection against attacks• Design – improved methodology, more automation, Design – improved methodology, more automation,

formal verificationformal verification