Embedded System
Spring, 2011
Lecture 1: Introduction to Embedded Computing
Eng. Wazen M. Shbair
Todays Lecture
What is the embedded system?
Challenges in embedded computing
system design.
IUG- Embedded Sy
What Are Embedded Systems?
Definition: an embedded system is any device that includes
a programmable computer but is not itself a generalpurpose computer.
Take advantage of application characteristics to
optimize the design:
Performance
Cost/size
Real time requirements
Power consumption
Reliability
etc.
IUG- Embedded Sy
Early History
Late 1940s: MIT Whirlwind computer was designed for realtime operations.
Originally designed to control an aircraft simulator.
First microprocessor was Intel 4004 in early 1970s.
HP-35 calculator used several chips to implement a
microprocessor in 1972.
Automobiles used microprocessor-based engine controllers
starting in 1970s.
Control fuel/air mixture, engine timing, etc.
Provides lower emissions, better fuel efficiency.
IUG- Embedded Sy
A Short List of Embedded Systems
Anti-lock brakes
Auto-focus cameras
Automatic teller machines
Automatic toll systems
Automatic transmission
Avionic systems
Battery chargers
Camcorders
Cell phones
Cell-phone base stations
Cordless phones
Cruise control
Curbside check-in systems
Digital cameras
Disk drives
Electronic card readers
Electronic instruments
Electronic toys/games
Factory control
Fax machines
Fingerprint identifiers
Home security systems
Life-support systems
Medical testing systems
Modems
MPEG decoders
Network cards
Network switches/routers
On-board navigation
Pagers
Photocopiers
Point-of-sale systems
Portable video games
Printers
Satellite phones
Scanners
Smart ovens/dishwashers
Speech recognizers
Stereo systems
Teleconferencing systems
Televisions
Temperature controllers
Theft tracking systems
TV set-top boxes
VCRs, DVD players
Video game consoles
Video phones
Washers and dryers
IUG- Embedded Sy
An Application Example: Digital Camera
Digital Camera Block Diagram
IUG- Embedded Sy
Components of Embedded Systems
Memory
Controllers
Interface
Software
(Application Programs)
Coprocessors
Processor
ASIC
Converters
Analog
Digital
IUG- Embedded Sy
Analog
Components of Embedded Systems
Analog Components
Digital Components
Sensors, Actuators, Controllers,
Processor, Coprocessors
Memories
Controllers, Buses
Application Specific Integrated Circuits (ASIC)
Converters A2D, D2A,
Software
Application Programs
Exception Handlers
IUG- Embedded Sy
Automotive Embedded Systems
Todays high-end automobile may have 100
microprocessors:
4-bit microcontroller checks seat belt;
microcontrollers run dashboard devices;
16/32-bit microprocessor controls engine.
Customers requirements
Reduced cost
Increased functionality
Improved performance
Increased overall dependability
IUG- Embedded Sy
An Engineering View
IUG- Embedded Sy
10
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.
IUG- Embedded Sy
11
BMW 850i, contd.
sensor
sensor
brake
brake
ABS
hydraulic
pump
brake
brake
sensor
sensor
IUG- Embedded Sy
12
Why Use Microprocessors?
Alternatives: field-programmable gate arrays
(FPGAs), custom logic, application specific
integrated circuit (ASIC), etc.
Microprocessors are often very efficient: can use
same logic to perform many different functions.
Microprocessors simplify the design of families of
products.
IUG- Embedded Sy
13
Why Use Microprocessors?
Two factors that work together to make
microprocessor-based designs fast
First, microprocessors execute programs very
efficiently. While there is overhead that must
be paid for interpreting instructions, it can often
be hidden by clever utilization of parallelism
within the CPU
Second, microprocessor manufacturers spend
a great deal of money to make their CPUs run
very fast.
IUG- Embedded Sy
14
Why Use Microprocessors?
Performance
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.
Power consumption
Custom logic is a clear winner for low power devices.
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.
IUG- Embedded Sy
15
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.
IUG- Embedded Sy
16
Microprocessor Varieties
4-bit, 8-bit, 16-bit, 32-bit :
8-bit processor : more than 3 billion new chips per year
32-bit microprocessors : PowerPC, 68k, MIPS, and
ARM chips.
ARM-based chips alone do about triple the volume that
Intel and AMD peddle to PC makers.
Most (98% or so) 32-bit processors are used in
embedded systems, not PCs.
RISC-type processor owns most of the overall
embedded market [MPF: 2002].
IUG- Embedded Sy
17
Platforms
Embedded computing platform: hardware
architecture + associated software.
Many platforms are multiprocessors.
Examples:
Single-chip multiprocessors for cell phone baseband.
Automotive network + processors.
IUG- Embedded Sy
18
The physics of software
Computing is a physical act.
Software doesnt 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.
IUG- Embedded Sy
19
Challenges in Embedded Computing System Design
How much hardware do we need?
How do we meet deadlines?
How do we minimize power consumption?
How do we design for upgradability?
Does it really work?
IUG- Embedded Sy
20
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.
IUG- Embedded Sy
21
Characterizing performance
We need to analyze the system at several levels
of abstraction to understand performance:
CPU: microprocessor architecture.
Platform: bus, I/O devices.
Program: implementation, structure.
Task: multitasking, interaction between tasks.
Multiprocessor: interaction between processors.
IUG- Embedded Sy
22
Characteristics of Embedded Systems
Very high performance, sophisticated functionality
Multiple task, heterogeneous.
Real-time.
Often low power.
Low manufacturing cost..
Highly reliable.
Vision + compression + speech + networking all on the same
platform.
I reboot my piano every 4 months, my PC every day.
Designed to tight deadlines by small teams.
IUG- Embedded Sy
23
Functional Complexity
Often have to run sophisticated algorithms or
multiple algorithms.
Cell phone, laser printer.
Often provide sophisticated user interfaces.
IUG- Embedded Sy
24
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.
IUG- Embedded Sy
25
Design methodologies
A procedure for designing a system.
Understanding your methodology helps you
ensure you didnt skip anything.
Compilers, software engineering tools, computeraided design (CAD) tools, etc., can be used to:
help automate methodology steps;
keep track of the methodology itself.
IUG- Embedded Sy
26
Design goals
Performance.
Overall speed, deadlines.
Functionality and user interface.
Manufacturing cost.
Power consumption.
Other requirements (physical size, etc.)
IUG- Embedded Sy
27
Levels of abstraction
requirements
specification
architecture
component
design
system
integration
IUG- Embedded Sy
28
Top-down vs. bottom-up
Top-down design:
Bottom-up design:
start from most abstract description;
work to most detailed.
work from small components to big system.
Real design uses both techniques.
IUG- Embedded Sy
29
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.
IUG- Embedded Sy
30
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.
IUG- Embedded Sy
31
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.
IUG- Embedded Sy
32
Our requirements form
name
purpose
inputs
outputs
functions
performance
manufacturing cost
power
physical size/weight
IUG- Embedded Sy
33
Example: GPS moving map requirements
Moving map
obtains position
from GPS, paints
map from local
database.
I-78
Scotch Road
lat: 40 13 lon: 32 19
2008 Wayne Wolf
Overheads for Computers as
Components, 2nd ed.
IUG- Embedded Sy
34
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.
IUG- Embedded Sy
35
GPS moving map needs, contd.
Physical size/weight: Should fit in hand.
Power consumption: Should run for 8 hours
on four AA batteries.
IUG- Embedded Sy
36
GPS moving map requirements form
name
purpose
inputs
outputs
functions
performance
manufacturing cost
power
physical size/weight
2008 Wayne Wolf
GPS moving map
consumer-grade
moving map for driving
power button, two
control buttons
back-lit LCD 400 X 600
5-receiver GPS; three
resolutions; displays
current lat/lon
updates screen within
0.25 sec of movement
$100 cost-of-goodssold
100 mW
no more than 2: X 6:,
12 oz.
Overheads for Computers as
Components, 2nd ed.
IUG- Embedded Sy
37
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.
IUG- Embedded Sy
38
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.
IUG- Embedded Sy
39
Architecture design
What major components go satisfying the
specification?
Hardware components:
Software components:
CPUs, peripherals, etc.
major programs and their operations.
Must take into account functional and nonfunctional specifications.
IUG- Embedded Sy
40
GPS moving map block diagram
GPS
receiver
search
engine
database
renderer
display
user
interface
IUG- Embedded Sy
41
GPS moving map hardware
architecture
display
frame
buffer
CPU
GPS
receiver
memory
panel I/O
IUG- Embedded Sy
42
GPS moving map software architecture
position
database
search
renderer
user
interface
timer
IUG- Embedded Sy
pixels
43
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.
2008 Wayne Wolf
IUG- Embedded Sy
44
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.
2008 Wayne Wolf
IUG- Embedded Sy
45
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.
IUG- Embedded Sy
46
References
Jie Hu , ECE692 Embedded Computing
Systems , Fall 2010.
Wayne Wolfs , Computers as Components
2000 , Morgan Kaufman
IUG- Embedded Sy
47