intro to embedded

71
Embedded Computer Systems Chapter1: Embedded Computing Dr. A. AL-SAIF Systems Engineering Department

Upload: ayman-a-al-khoder

Post on 22-Apr-2015

81 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intro to Embedded

Embedded Computer Systems

Chapter1:

Embedded Computing

Dr. A. AL-SAIF

Systems Engineering Department

Page 2: Intro to Embedded

2© 2011 Dr. AL-Saif (CISE 414)

Introduction

Why do we embed microprocessors in

systems?

What are embedded computing systems?

Challenges in embedded computing system

design.

Design methodologies.

System Specification

Page 3: Intro to Embedded

3

Definition

Embedded computing 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.

© 2011 Dr. AL-Saif (CISE 414)

Page 4: Intro to Embedded

4

Embedding a computer

CPU

mem

input

output analog

analog

embedded

computer

© 2011 Dr. AL-Saif (CISE 414)

Page 5: Intro to Embedded

5

Examples

Cell phone.

Printer.

Automobile: engine, brakes, dash, etc.

Airplane: engine, flight controls, nav/comm.

Digital television.

Household appliances.

© 2011 Dr. AL-Saif (CISE 414)

Page 6: Intro to Embedded

6

Early history

Late 1940’s: MIT Whirlwind computer was

designed for real-time operations.

Originally designed to control an aircraft simulator.

First microprocessor was Intel 4004 in early

1970’s.

HP-35 calculator used several chips to

implement a microprocessor in 1972.

© 2011 Dr. AL-Saif (CISE 414)

Page 7: Intro to Embedded

7

Early history, cont’d.

Automobiles used microprocessor-based

engine controllers starting in 1970’s.

Control fuel/air mixture, engine timing, etc.

Multiple modes of operation: warm-up, cruise, hill

climbing, etc.

Provides lower emissions, better fuel efficiency.

© 2011 Dr. AL-Saif (CISE 414)

Page 8: Intro to Embedded

8

Microprocessor varieties

Microcontroller: includes I/O devices, on-

board memory.

Digital signal processor (DSP):

microprocessor optimized for digital signal

processing.

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

32-bit.

© 2011 Dr. AL-Saif (CISE 414)

Page 9: Intro to Embedded

9

Application examples

Simple control: front panel of microwave

oven, etc.

Canon EOS 3 has three microprocessors.

32-bit RISC CPU runs autofocus and eye control

systems.

Digital TV: programmable CPUs + hardwired

logic for video/audio decode, menus, etc.

© 2011 Dr. AL-Saif (CISE 414)

Page 10: Intro to Embedded

10

Application areas (1)

Aerospace

Navigation systems, automatic landing systems,

flight attitude controls, engine controls, space

exploration (e.g., the Mars Pathfinder).

© 2011 Dr. AL-Saif (CISE 414)

Page 11: Intro to Embedded

11

Application areas (2)

Automotive

Fuel injection control, passenger environmental

controls, anti-lock braking, air bag controls, GPS

mapping.

© 2011 Dr. AL-Saif (CISE 414)

Page 12: Intro to Embedded

12

Application areas (3)

Children's Toys

Nintendo's "Game Boy", Mattel's "My Interactive

Pooh", Tiger Electronics’ "Furby".

© 2011 Dr. AL-Saif (CISE 414)

Page 13: Intro to Embedded

13

Application areas (4)

Motorcycles

Trains

© 2011 Dr. AL-Saif (CISE 414)

Page 14: Intro to Embedded

14

Application areas (5)

Telecommunication

Satellites; network routers, switches, hubs.

© 2011 Dr. AL-Saif (CISE 414)

Page 15: Intro to Embedded

15

Application areas (6)

Home

Dishwashers, microwave ovens, VCRs,

televisions, stereos, fire/security alarm systems,

lawn sprinkler controls, thermostats, cameras,

clock radios, answering machines.

© 2011 Dr. AL-Saif (CISE 414)

Page 16: Intro to Embedded

16

Application areas (7)

Office Automation

FAX machines, copiers, telephones,

and cash registers.

© 2011 Dr. AL-Saif (CISE 414)

Page 17: Intro to Embedded

17

Application areas (8)

Consumer

electronics

© 2011 Dr. AL-Saif (CISE 414)

Page 18: Intro to Embedded

18

Application areas (9)

Personal

Personal Digital Assistants (PDAs), pagers, cell

phones, wristwatches, videogames, portable MP3

players, GPS.

© 2011 Dr. AL-Saif (CISE 414)

Page 19: Intro to Embedded

19

Application areas (10)

Medical

Imaging systems (e.g., XRAY,

MRI, and ultrasound),

patient monitors, and heart pacers.

© 2011 Dr. AL-Saif (CISE 414)

Page 20: Intro to Embedded

20

Application areas (11)

• Smart buildings

• Fabrication equipment

© 2011 Dr. AL-Saif (CISE 414)

Page 21: Intro to Embedded

21

Application areas (12)

• Robotics

„Pipe-climber“ Robot

„Johnnie“

(Courtesy

and ©:

H.Ulbrich, F.

Pfeiffer, TU

München)

© 2011 Dr. AL-Saif (CISE 414)

Page 22: Intro to Embedded

22

Application areas (13)

Industrial

Elevator controls, surveillance systems

Robotics

Robot „Johnnie“

(Courtesy and ©:

H.Ulbrich, F. Pfeiffer,

TU München)

© 2011 Dr. AL-Saif (CISE 414)

Page 23: Intro to Embedded

23

Pedometer Obvious computer work:

Count steps

Keep time

Averages

etc.

Hard computer work: Actually identify when a step is

taken

Sensor feels motion of device, not of user feet

© 2011 Dr. AL-Saif (CISE 414)

Page 24: Intro to Embedded

24

Mobile phones Multiprocessor

8-bit/32-bit for UI

DSP for signals

32-bit in IR port

32-bit in Bluetooth

8-100 MB of memory

All custom chips

Power consumption &

battery life depends on

software

© 2011 Dr. AL-Saif (CISE 414)

Page 25: Intro to Embedded

25

Telecom Switch

Rack-based

Control cards

IO cards

DSP cards

...

Optical & copper

connections

Digital & analog signals

© 2011 Dr. AL-Saif (CISE 414)

Page 26: Intro to Embedded

26

Sewing Machine

User interface

Embroidery patterns

Touch-screen control

”Smart”

Sets pressure of foot depending

on task

Raise foot when stopped

New functions added by

upgrading the software

© 2011 Dr. AL-Saif (CISE 414)

Page 27: Intro to Embedded

27

Forestry Machines

Networked computer

system

Controlling arms & tools

Navigating the forest

Recording the trees

harvested

Crucial to efficient work

Processors

16-bit processors in a

network

© 2011 Dr. AL-Saif (CISE 414)

Page 28: Intro to Embedded

28

Operator Panel

Embedded PC

Graphical display

Touch panel

Joystick

Buttons

Keyboard

But tough enough to be

“out in the woods”

© 2011 Dr. AL-Saif (CISE 414)

Page 29: Intro to Embedded

29

Extremely Large Functions requiring

computers: Radar

Weapons

Damage control

Navigation

basically everything

Computers: Large servers

1000s of processors

© 2011 Dr. AL-Saif (CISE 414)

Page 30: Intro to Embedded

30

Inside your PC Custom processors

Graphics, sound

32-bit processors IR, Bluetooth

Network, WLAN

Harddisk

RAID controllers

8-bit processors USB

Keyboard, mouse

© 2011 Dr. AL-Saif (CISE 414)

Page 31: Intro to Embedded

31

Cars

Functions by embedded processing:

ABS: Anti-lock braking systems

ESP: Electronic stability control

Airbags

Efficient automatic gearboxes

Theft prevention with smart keys

Blind-angle alert systems

... etc ...

© 2011 Dr. AL-Saif (CISE 414)

Page 32: Intro to Embedded

32

Cars

Large diversity in processor types:

8-bit – door locks, lights, etc.

16-bit – most functions

32-bit – engine control, airbags

Form follows function

Processing where the action is

Sensors and actuators distributed all over the

vehicle

© 2011 Dr. AL-Saif (CISE 414)

Page 33: Intro to Embedded

33© 2011 Dr. AL-Saif (CISE 414)

Page 34: Intro to Embedded

34

Automotive embedded systems

Today’s high-end automobile may have 100

microprocessors:

4-bit microcontroller checks seat belt;

microcontrollers run dashboard devices;

16/32-bit microprocessor controls engine.

© 2011 Dr. AL-Saif (CISE 414)

Page 35: Intro to Embedded

35

BMW 850i brake and stability control

system

Anti-lock brake system (ABS): pumps brakes

to reduce skidding.

Automatic stability control (ASC+T): controls

engine to improve stability.

ABS and ASC+T communicate.

ABS was introduced first---needed to interface to

existing ABS module.

© 2011 Dr. AL-Saif (CISE 414)

Page 36: Intro to Embedded

36

BMW 850i, cont’d.

brake

sensor

brake

sensor

brake

sensor

brake

sensor

ABShydraulic

pump

© 2011 Dr. AL-Saif (CISE 414)

Page 37: Intro to Embedded

37

Characteristics of embedded systems

Sophisticated functionality.

Real-time operation.

Low manufacturing cost.

Low power.

Designed to tight deadlines by small teams.

© 2011 Dr. AL-Saif (CISE 414)

Page 38: Intro to Embedded

38

Functional complexity

Often have to run sophisticated algorithms or

multiple algorithms.

Cell phone, laser printer.

Often provide sophisticated user interfaces.

© 2011 Dr. AL-Saif (CISE 414)

Page 39: Intro to Embedded

39

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.

© 2011 Dr. AL-Saif (CISE 414)

Page 40: Intro to Embedded

40

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.

© 2011 Dr. AL-Saif (CISE 414)

Page 41: Intro to Embedded

41

Design teams

Often designed by a small team of designers.

Often must meet tight deadlines.

6 month market window is common.

Can’t miss back-to-school window for calculator.

© 2011 Dr. AL-Saif (CISE 414)

Page 42: Intro to Embedded

42

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.

© 2011 Dr. AL-Saif (CISE 414)

Page 43: Intro to Embedded

43

The performance paradox

Microprocessors use much more logic to

implement a function than does custom logic.

But microprocessors are often at least as

fast:

heavily pipelined;

large design teams;

aggressive VLSI technology.

© 2011 Dr. AL-Saif (CISE 414)

Page 44: Intro to Embedded

44

Power

Custom logic uses less power, but CPUs have

advantages:

Modern microprocessors offer features to help

control power consumption.

Software design techniques can help reduce

power consumption.

Heterogeneous systems: some custom logic for

well-defined functions, CPUs+software for

everything else.

© 2011 Dr. AL-Saif (CISE 414)

Page 45: Intro to Embedded

45

Platforms

Embedded computing platform: hardware

architecture + associated software.

Many platforms are multiprocessors.

Examples:

Single-chip multiprocessors for cell phone

baseband.

Automotive network + processors.

© 2011 Dr. AL-Saif (CISE 414)

Page 46: Intro to Embedded

46

The physics of software

Computing is a physical act.

Software doesn’t do anything without hardware.

Executing software consumes energy,

requires time.

To understand the dynamics of software

(time, energy), we need to characterize the

platform on which the software runs.

© 2011 Dr. AL-Saif (CISE 414)

Page 47: Intro to Embedded

47

What does “performance” mean?

In general-purpose computing, performance

often means average-case, may not be well-

defined.

In real-time systems, performance means

meeting deadlines.

Missing the deadline by even a little is bad.

Finishing ahead of the deadline may not help.

© 2011 Dr. AL-Saif (CISE 414)

Page 48: Intro to Embedded

48

Characterizing performance

We need to analyze the system at several

levels of abstraction to understand

performance:

CPU.

Platform.

Program.

Task.

Multiprocessor.

© 2011 Dr. AL-Saif (CISE 414)

Page 49: Intro to Embedded

49

Challenges in embedded system design

How much hardware do we need?

How big is the CPU? Memory?

How do we meet our deadlines?

Faster hardware or cleverer software?

How do we minimize power?

Turn off unnecessary logic? Reduce memory

accesses?

© 2011 Dr. AL-Saif (CISE 414)

Page 50: Intro to Embedded

50

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?

© 2011 Dr. AL-Saif (CISE 414)

Page 51: Intro to Embedded

51

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.

© 2011 Dr. AL-Saif (CISE 414)

Page 52: Intro to Embedded

52

Design goals

Performance.

Overall speed, deadlines.

Functionality and user interface.

Manufacturing cost.

Power consumption.

Other requirements (physical size, etc.)

© 2011 Dr. AL-Saif (CISE 414)

Page 53: Intro to Embedded

53

Levels of abstraction

requirements

specification

architecture

component

design

system

integration

© 2011 Dr. AL-Saif (CISE 414)

Page 54: Intro to Embedded

54

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.

© 2011 Dr. AL-Saif (CISE 414)

Page 55: Intro to Embedded

55

Stepwise refinement

At each level of abstraction, we must:

analyze the design to determine characteristics of

the current state of the design;

refine the design to add detail.

© 2011 Dr. AL-Saif (CISE 414)

Page 56: Intro to Embedded

56

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.

© 2011 Dr. AL-Saif (CISE 414)

Page 57: Intro to Embedded

57

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.

© 2011 Dr. AL-Saif (CISE 414)

Page 58: Intro to Embedded

58

Our requirements form

name

purpose

inputs

outputs

functions

performance

manufacturing cost

power

physical size/weight

© 2011 Dr. AL-Saif (CISE 414)

Page 59: Intro to Embedded

59

Example: GPS moving map

requirements

Moving map

obtains position

from GPS, paints

map from local

database.

lat: 40 13 lon: 32 19

I-78

Sco

tch R

oad

© 2011 Dr. AL-Saif (CISE 414)

Page 60: Intro to Embedded

60

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: $120 street price = approx. $30 cost of goods

sold.

© 2011 Dr. AL-Saif (CISE 414)

Page 61: Intro to Embedded

61

GPS moving map needs, cont’d.

Physical size/weight: Should fit in hand.

Power consumption: Should run for 8 hours

on four AA batteries.

© 2011 Dr. AL-Saif (CISE 414)

Page 62: Intro to Embedded

62

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 600

functions 5-receiver GPS; threeresolutions; displayscurrent lat/lon

performance updates screen within0.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.

© 2011 Dr. AL-Saif (CISE 414)

Page 63: Intro to Embedded

63

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.

© 2011 Dr. AL-Saif (CISE 414)

Page 64: Intro to Embedded

64

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.

© 2011 Dr. AL-Saif (CISE 414)

Page 65: Intro to Embedded

65

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.

© 2011 Dr. AL-Saif (CISE 414)

Page 66: Intro to Embedded

66

GPS moving map block diagram

GPS

receiver

search

enginerenderer

user

interfacedatabase

display

© 2011 Dr. AL-Saif (CISE 414)

Page 67: Intro to Embedded

67

GPS moving map hardware

architecture

GPS

receiver

CPU

panel I/O

display frame

buffer

memory

© 2011 Dr. AL-Saif (CISE 414)

Page 68: Intro to Embedded

68

GPS moving map software

architecture

position database

searchrenderer

timeruser

interface

pixels

© 2011 Dr. AL-Saif (CISE 414)

Page 69: Intro to Embedded

69

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.

© 2011 Dr. AL-Saif (CISE 414)

Page 70: Intro to Embedded

70

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.

© 2011 Dr. AL-Saif (CISE 414)

Page 71: Intro to Embedded

71

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.

© 2011 Dr. AL-Saif (CISE 414)