Embedded Computer Systems
Chapter1: Embedded ComputingEng. Husam Y. Alzaq
Islamic University of Gaza
2© 2010 Husam Alzaq
Introduction Why do we embed microprocessors in
systems? What are embedded computing systems? Challenges in embedded computing system
design. Design methodologies. System Specification
Computers as Components, 2nd ed.
3© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
4© 2010 Husam Alzaq
Embedding a computer
CPU
mem
input
output analog
analog
embeddedcomputer
Computers as Components, 2nd ed.
5© 2010 Husam Alzaq
Examples Cell phone. Printer. Automobile: engine, brakes, dash, etc. Airplane: engine, flight controls, nav/comm. Digital television. Household appliances.
Computers as Components, 2nd ed.
6© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
7© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
8© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
9© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
10
Application areas (1)
Aerospace Navigation systems, automatic landing systems,
flight attitude controls, engine controls, space exploration (e.g., the Mars Pathfinder).
Computers as Components, 2nd ed.© 2010 Husam Alzaq
11
Application areas (2)
Automotive Fuel injection control, passenger environmental
controls, anti-lock braking, air bag controls, GPS mapping.
Computers as Components, 2nd ed.© 2010 Husam Alzaq
12
Application areas (3)
Children's Toys Nintendo's "Game Boy", Mattel's "My Interactive
Pooh", Tiger Electronics’ "Furby".
Computers as Components, 2nd ed.© 2010 Husam Alzaq
13
Application areas (4)
Motorcycles
Trains
Computers as Components, 2nd ed.© 2010 Husam Alzaq
14
Application areas (5)
Telecommunication Satellites; network routers, switches, hubs.
Computers as Components, 2nd ed.© 2010 Husam Alzaq
15
Application areas (6)
Home Dishwashers, microwave ovens, VCRs,
televisions, stereos, fire/security alarm systems, lawn sprinkler controls, thermostats, cameras, clock radios, answering machines.
Computers as Components, 2nd ed.
16
Application areas (7)
Office Automation FAX machines, copiers, telephones, and cash
registers.
Computers as Components, 2nd ed.© 2010 Husam Alzaq
17
Application areas (8)
Consumerelectronics
Computers as Components, 2nd ed.© 2010 Husam Alzaq
18
Application areas (9)
Personal Personal Digital Assistants (PDAs), pagers, cell
phones, wristwatches, videogames, portable MP3 players, GPS.
Computers as Components, 2nd ed.© 2010 Husam Alzaq
19
Application areas (10)
Medical Imaging systems (e.g., XRAY, MRI, and
ultrasound), patient monitors, and heart pacers.
Computers as Components, 2nd ed.© 2010 Husam Alzaq
20
Application areas (11)
• Smart buildings• Smart buildings
• Fabrication equipment• Fabrication equipment
Computers as Components, 2nd ed.© 2010 Husam Alzaq
21
Application areas (12)
• Robotics• Robotics
„Pipe-climber“ Robot „Johnnie“ (Courtesy and ©: H.Ulbrich, F. Pfeiffer, TU München)
Computers as Components, 2nd ed.© 2010 Husam Alzaq
22
Application areas (13)
Industrial Elevator controls, surveillance systems
Robotics
Robot „Johnnie“ (Courtesy and ©: H.Ulbrich, F. Pfeiffer, TU München)
Computers as Components, 2nd ed.© 2010 Husam Alzaq
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
Computers as Components, 2nd ed.© 2010 Husam Alzaq
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
Computers as Components, 2nd ed.© 2010 Husam Alzaq
25
Telecom Switch Rack-based
Control cards IO cards DSP cards ...
Optical & copper connections
Digital & analog signals
Computers as Components, 2nd ed.© 2010 Husam Alzaq
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
Computers as Components, 2nd ed.© 2010 Husam Alzaq
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
Computers as Components, 2nd ed.© 2010 Husam Alzaq
28
Operator Panel Embedded PC
Graphical display Touch panel Joystick Buttons Keyboard
But tough enough to be “out in the woods”
Computers as Components, 2nd ed.© 2010 Husam Alzaq
29
Extremely Large Functions requiring
computers: Radar Weapons Damage control Navigation basically everything
Computers: Large servers 1000s of processors
Computers as Components, 2nd ed.© 2010 Husam Alzaq
30
Inside your PC Custom processors
Graphics, sound 32-bit processors
IR, Bluetooth Network, WLAN Harddisk RAID controllers
8-bit processors USB Keyboard, mouse
Computers as Components, 2nd ed.© 2010 Husam Alzaq
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 ...
Computers as Components, 2nd ed.
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
Computers as Components, 2nd ed.© 2010 Husam Alzaq
33Computers as Components, 2nd ed.
34
© 2010 Husam Alzaq Computers as Components, 2nd ed.
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.
35© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
36
© 2010 Husam Alzaq
BMW 850i, cont’d.
brake
sensor
brake
sensor
brake
sensor
brake
sensor
ABShydraulic
pump
Computers as Components, 2nd ed.
37
© 2010 Husam Alzaq
Characteristics of embedded systems Sophisticated functionality. Real-time operation. Low manufacturing cost. Low power. Designed to tight deadlines by small teams.
Computers as Components, 2nd ed.
38
© 2010 Husam Alzaq
Functional complexity Often have to run sophisticated algorithms or
multiple algorithms. Cell phone, laser printer.
Often provide sophisticated user interfaces.
Computers as Components, 2nd ed.
39
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
40
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
41
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
42
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
43
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
44
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
45
Platforms Embedded computing platform: hardware
architecture + associated software. Many platforms are multiprocessors. Examples:
Single-chip multiprocessors for cell phone baseband.
Automotive network + processors.
© 2010 Husam Alzaq Computers as Components, 2nd ed.
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.
© 2010 Husam Alzaq Computers as Components, 2nd ed.
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.
© 2010 Husam Alzaq Computers as Components, 2nd ed.
48
Characterizing performance We need to analyze the system at several
levels of abstraction to understand performance: CPU. Platform. Program. Task. Multiprocessor.
© 2010 Husam Alzaq Computers as Components, 2nd ed.
49
© 2010 Husam Alzaq
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?
Computers as Components, 2nd ed.
50
© 2010 Husam Alzaq
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?
Computers as Components, 2nd ed.
51
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
52
© 2010 Husam Alzaq
Design goals Performance.
Overall speed, deadlines. Functionality and user interface. Manufacturing cost. Power consumption. Other requirements (physical size, etc.)
Computers as Components, 2nd ed.
53
© 2010 Husam Alzaq
Levels of abstraction
requirements
specification
architecture
componentdesign
systemintegration
Computers as Components, 2nd ed.
54
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
55
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
56
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
57
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
58
© 2010 Husam Alzaq
Our requirements formnamepurposeinputsoutputsfunctionsperformancemanufacturing costpowerphysical size/weight
Computers as Components, 2nd ed.
59
© 2010 Husam Alzaq
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
Roa
d
Computers as Components, 2nd ed.
60
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
61
© 2010 Husam Alzaq
GPS moving map needs, cont’d.
Physical size/weight: Should fit in hand. Power consumption: Should run for 8 hours
on four AA batteries.
Computers as Components, 2nd ed.
62
© 2010 Husam Alzaq
GPS moving map requirements form
name GPS moving mappurpose consumer-grade
moving map for drivinginputs power button, two
control buttonsoutputs back-lit LCD 400 X 600functions 5-receiver GPS; three
resolutions; displayscurrent lat/lon
performance updates screen within0.25 sec of movement
manufacturing cost $100 cost-of-goods-sold
power 100 mWphysical size/weight no more than 2: X 6:,
12 oz.
Computers as Components, 2nd ed.
63
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
64
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
65
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
66
© 2010 Husam Alzaq
GPS moving map block diagram
GPSreceiver
searchengine
renderer
userinterfacedatabase
display
Computers as Components, 2nd ed.
67
© 2010 Husam Alzaq
GPS moving map hardware architecture
GPSreceiver
CPU
panel I/O
display framebuffer
memory
Computers as Components, 2nd ed.
68
© 2010 Husam Alzaq
GPS moving map software architecture
position databasesearch
renderer
timeruser
interface
pixels
Computers as Components, 2nd ed.
69
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
70
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.
71
© 2010 Husam Alzaq
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.
Computers as Components, 2nd ed.