B1 Embedded Computing
-
Upload
ramesh-sky -
Category
Documents
-
view
222 -
download
0
Transcript of B1 Embedded Computing
-
8/10/2019 B1 Embedded Computing
1/46
Embedded Computing
Design & Co-design of
Embedded Systems
Maziar Goudarzi
-
8/10/2019 B1 Embedded Computing
2/46
2005 Design & Co-design of EmbeddedSystems 2
Today Program
Introduction to Embedded Systems
What are embedded systems?
Challenges in embedded computing
system design.
Design methodology.
Copyright Note:Main idea from Prof. Wolfs overheads for his book:
Computers as Components, MKP 2001.
Plus some modifications and additions.
-
8/10/2019 B1 Embedded Computing
3/46
2000 MorganKaufman Overheads forComputers as
Components 3
Introduction
What are embedded systems?
Challenges in embedded computing
system design.Design methodologies.
-
8/10/2019 B1 Embedded Computing
4/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 4
Definition
Definition: Embedded System
Includes a programmable computer
But, is not a general-purpose computer
CPU
mem
input
output analog
analog
embedded
computer
Logic
-
8/10/2019 B1 Embedded Computing
5/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 5
Embedded Systems
Advantages
Optimizations according to application
characteristicsdont need all the general-purpose
bells and whistles
-
8/10/2019 B1 Embedded Computing
6/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 6
Examples
Embedded
System
-
8/10/2019 B1 Embedded Computing
7/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 7
Early history
Late 1940s: MIT Whirlwind computer wasdesigned for real-time operations.
Originally designed to control an aircraftsimulator.
First microprocessor was Intel 4004 in
early 1970s.HP-35 calculator used several chips to
implement a microprocessor in 1972.
-
8/10/2019 B1 Embedded Computing
8/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 8
Early history, contd.
Usage in automobiles ECU
Starting in 1970s.
Control fuel/air mixture, engine timing, etc.Multiple modes of operation: warm-up,
cruise, hill climbing, etc.
Provides lower emissions, better fuelefficiency.
Native example: Cadillac Iran!
-
8/10/2019 B1 Embedded Computing
9/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 9
Microprocessor varieties
Microcontroller:includes I/O devices, on-board memory.
Digital signal processor (DSP):microprocessor optimized for digital signalprocessing.
Typical embedded word sizes: 8-bit, 16-bit, 32-bit.
-
8/10/2019 B1 Embedded Computing
10/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 10
Application examples
Simple control: front panel of microwaveoven, etc.
Canon EOS 3 has three microprocessors.32-bit RISC CPU runs autofocus and eye
control systems.
Analog TV: channel selection, etc.Digital TV: programmable CPUs +
hardwired logic.
-
8/10/2019 B1 Embedded Computing
11/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 11
Automotive embedded
systems
Todays high-end automobile may have 100microprocessors:
4-bit uController checks seat belt;
uControllers run dashboard devices;
16/32-bit uP controls engine.
Native examples
Samand LXPeugeot Persia ELX
Xantia, ...
-
8/10/2019 B1 Embedded Computing
12/46
-
8/10/2019 B1 Embedded Computing
13/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 13
BMW 850i, contd.
brake
sensor
brake
sensor
brake
sensor
brake
sensor
ABShydraulic
pump
-
8/10/2019 B1 Embedded Computing
14/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 14
Characteristics of
embedded systems
Sophisticated functionality.
Real-time operation.
Low manufacturing cost.
Low power.
Designed to tight deadlines by smallteams.
-
8/10/2019 B1 Embedded Computing
15/46
-
8/10/2019 B1 Embedded Computing
16/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 16
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.
-
8/10/2019 B1 Embedded Computing
17/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 17
Design teams
Often designed by a small team ofdesigners.
Often must meet tight deadlines.6 month market window is common.
Cant miss back-to-school window for
calculator.
-
8/10/2019 B1 Embedded Computing
18/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 18
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.
-
8/10/2019 B1 Embedded Computing
19/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 19
The performance paradox
Microprocessors use much more logic toimplement a function than does custom
logic.But microprocessors are often at least as
fast:
heavily pipelined;large design teams;
aggressive VLSI technology.
-
8/10/2019 B1 Embedded Computing
20/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 20
Power
Custom logic is a clear winner for lowpower devices.
Modern microprocessors offer features tohelp control power consumption.
Software design techniques can help
reduce power consumption.Transmetas Crusoe Processor (one of the
optional reading-assignments)
-
8/10/2019 B1 Embedded Computing
21/46
Embedded Computing
Challenges in Embedded
System Design
-
8/10/2019 B1 Embedded Computing
22/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 22
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 memoryaccesses?
-
8/10/2019 B1 Embedded Computing
23/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 23
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?
-
8/10/2019 B1 Embedded Computing
24/46
Embedded Computing
Design Methodology
-
8/10/2019 B1 Embedded Computing
25/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 25
Design methodologies
A procedure for designing a system.
Understanding your methodology helps
you ensure you didnt 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.
-
8/10/2019 B1 Embedded Computing
26/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 26
Design goals
Functionality and user interface.
Performance.
Overall speed, deadlines.
Manufacturing cost.
Power consumption.
Other requirements (physical size, etc.)
-
8/10/2019 B1 Embedded Computing
27/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 27
Levels of abstraction
requirements
specification
architecture
component
design
system
integration
-
8/10/2019 B1 Embedded Computing
28/46
-
8/10/2019 B1 Embedded Computing
29/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 29
Stepwise refinement
At each level of abstraction, we must:
analyzethe design to determine
characteristics of the current state of thedesign;
refinethe design to add detail.
-
8/10/2019 B1 Embedded Computing
30/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 30
Requirements
Plain language description of what theuser 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.
F ti l
-
8/10/2019 B1 Embedded Computing
31/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 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.
-
8/10/2019 B1 Embedded Computing
32/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 32
Our requirements form
name
purpose
inputs
outputsfunctions
performance
manufacturing cost
powerphysical size/weight
E l GPS i
-
8/10/2019 B1 Embedded Computing
33/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 33
Example: GPS moving map
requirements
Moving mapobtains position
from GPS, paintsmap from localdatabase.
lat: 40 13 lon: 32 19
I-78
ScotchRoad
-
8/10/2019 B1 Embedded Computing
34/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 34
GPS moving map needs
Functionality: For automotive use. Showmajor roads and landmarks.
User interface: At least 400 x 600 pixelscreen. Three buttons max. Pop-up menu.
Performance: Map should scroll smoothly.
No more than 1 sec power-up. Lock ontoGPS within 15 seconds.
Cost: $500 street price = approx. $100
cost of goods sold.
-
8/10/2019 B1 Embedded Computing
35/46
GPS i
-
8/10/2019 B1 Embedded Computing
36/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 36
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 600functions 5-receiver GPS; three
resolutions; displayscurrent lat/lon
performance updates screen within0.25 sec of movement
manufacturing cost $100 cost-of-goods-soldpower 100 mW
physical size/weight no more than 2: X 6:,12 oz.
-
8/10/2019 B1 Embedded Computing
37/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 37
Specification
A more precise description of the system:
should not imply a particular architecture;
provides input to the architecture designprocess.
May include functional and non-functional
elements.May be executable or may be in
mathematical form for proofs.
-
8/10/2019 B1 Embedded Computing
38/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 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 thesystem running.
-
8/10/2019 B1 Embedded Computing
39/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 39
Architecture design
What major components go satisfying thespecification?
Hardware components:CPUs, peripherals, etc.
Software components:
major programs and their operations.
Must take into account functional andnon-functional specifications.
GPS moving map block
-
8/10/2019 B1 Embedded Computing
40/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 40
GPS moving map block
diagram
GPS
receiver
search
engine renderer
user
interfacedatabase
display
GPS moving map hardware
-
8/10/2019 B1 Embedded Computing
41/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 41
GPS moving map hardware
architecture
GPS
receiver
CPU
panel I/O
display frame
buffer
memory
-
8/10/2019 B1 Embedded Computing
42/46
Designing hardware and
-
8/10/2019 B1 Embedded Computing
43/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 43
Designing hardware and
software components
Must spend time architecting the systembefore you start coding.
Architecture componentsSome are ready-made,
Some can be modified from existing designs
Others must be designed from scratch.
-
8/10/2019 B1 Embedded Computing
44/46
2000 Morgan
Kaufman
Overheads for Computers as
Components 44
System integration
Put together the components.
Many bugs appear only at this stage.
Have a plan for integrating components touncover bugs quickly, test as muchfunctionality as early as possible.
-
8/10/2019 B1 Embedded Computing
45/46
-
8/10/2019 B1 Embedded Computing
46/46
2005 Design & Co-design of Embedded 46
Other Notes
Course web-page is now establishedhttp://ce.sharif.edu/courses/84-85/1/ce226/index.php