Introduction to Embedded Systems Introduction to

Download Report

Transcript Introduction to Embedded Systems Introduction to

Introduction
to
Embedded Systems
Introduction to
Embedded Systems
Introduction
What are embedded systems?
What makes them different?
Real time operation
Many sets of constraints on designs
Challenges in embedded computing
system design.
Design methodologies.
Introduction to
Embedded Systems
Definition
 Embedded system: any device that includes a
programmable computer but is not itself a generalpurpose computer.
 Computer purchased as part of some other piece of
equipment
• Typically dedicated software (may be user- customizable)
• Often replaces previously electromechanical components
• Often no “real” keyboard
• Often limited display or no general- purpose display device: don’t
need all the general-purpose bells and whistles.
Introduction to
Embedded Systems
What is an embedded system
Introduction to
Embedded Systems
Examples
Office systems and
mobile equipment
Answering machines
Copiers
Faxes
Laptops and notebooks
Mobile Telephones
PDAs, Personal organisers
Still and video cameras
Telephone systems
Time recording systems
Printer
Microwave
Introduction to
Embedded Systems
Building systems
Air conditioning
Backup lighting and
generators
Building management
systems
CTV systems
Fire Control systems
Heating and ventilating
systems
Lifts, elevators, escalators
Lighting systems
Security systems
Security cameras
Sprinkler systems
Manufacturing and
Process Control
Automated factories
Bottling plants
Energy control systems
Manufacturing plants
Nuclear power stations
Oil refineries and related
storage facilities
Power grid systems
Power stations
Robots
Switching systems
Water and sewage systems
Examples
Transport
Communications Other equipment
Aeroplanes
Trains
Buses
Marine craft
Jetties
Automobiles
Air Traffic Control
Signalling Systems
Radar Systems
Traffic Lights
Ticketing machines
Speed cameras,
Radar speed
detectors
Telephone systems
Cable systems
Telephone switches
Satellites
Global Positioning
System
Introduction to
Embedded Systems
Automated teller systems
Credit card systems
Medical Imaging equipment
Domestic Central Heating control
VCRs
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.
Introduction to
Embedded Systems
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.
Introduction to
Embedded Systems
BMW 850i, cont’d.
sensor
sensor
brake
brake
ABS
hydraulic
pump
brake
brake
sensor
sensor
Introduction to
Embedded Systems
Embedded systems rule
the market place
•80 Million PCs vs. 3Billion Embedded
CPUs Annually
• Embedded market growing; PC market
mostly saturated
Introduction to
Embedded Systems
Why are embedded systems
different from desktop computers ?
Introduction to
Embedded Systems
Four General Embedded
Systems Types
General Computing
• Applications similar to desktop computing, but in an embedded package
• Video games, set- top boxes, wearable computers, automatic tellers
Control Systems
• Closed- loop feedback control of real- time system
• Vehicle engines, chemical processes, nuclear power, flight control
Signal Processing
• Computations involving large data streams
• Radar, Sonar, video compression
Communication & Networking
• Switching and information transmission
• Telephone system, Internet
Introduction to
Embedded Systems
Characteristics of an
embedded system
Real-Time Operation
• Reactive: computations must occur in response to external events
• Correctness is partially a function of time
Small Size, Low Weight
• Hand- held electronics and Transportation applications -- weight costs
money
Low Power
• Battery power for 8+ hours (laptops often last only 2 hours)
Harsh environment
• Heat, vibration, shock, power fluctuations, RF interference, lightning,
corrosion
Safety- critical operation
• Must function correctly and Must not function in correctly
Extreme cost sensitivity
• $. 05 adds up over 1,000, 000 units
Introduction to
Embedded Systems
Embedding a computer
CPU
embedded
computer
Introduction to
Embedded Systems
output
analog
input
analog
mem
Why use microprocessors?
 Microprocessors simplify the design of families of
products.
 Microprocessors are often very efficient: can use
same logic to perform many different functions, but
Microprocessors use much more logic to implement
a function than does custom logic.
 Alternatives: field-programmable gate arrays
(FPGAs), ASIC’s, custom logic, etc.
 What about MicroControllers or DSP’s….
 Custom logic is a clear winner for low power
devices.
Introduction to
Embedded Systems
An Embedded Control
System Designer’s View
Introduction to
Embedded Systems
A Customer View
Introduction to
Embedded Systems
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.
Introduction to
Embedded Systems
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?
Introduction to
Embedded Systems
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?
Introduction to
Embedded Systems
Embedded System Designer Skill Set
Appreciation for multi- disciplinary nature of design
• Both hardware & software skills
• Understanding of engineering beyond digital logic
• Ability to take a project from specification through production
Communication & teamwork skills
• Work with other disciplines, manufacturing, marketing
• Work with customers to understand the real problem being solved
• Make a good presentation; even better -- write “trade rag” articles
And, by the way, technical skills too…
• Low level: Microcontrollers, FPGA/ ASIC, assembly language, A/ D, D/ A
• High level: Object- oriented Design, C/ C++, Real Time Operating Systems
• Meta level: Creative solutions to highly constrained problems
• Likely in the future: Unified Modeling Language, embedded networks
• Uncertain future: Java, Windows CE
Introduction to
Embedded Systems
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.
Introduction to
Embedded Systems
Design goals
Performance.
Overall speed, deadlines.
Functionality and user interface.
Manufacturing cost.
Power consumption.
Other requirements (physical size, etc.)
Introduction to
Embedded Systems
Levels of abstraction
requirements
specification
architecture
component
design
system
integration
Introduction to
Embedded Systems
Our requirements form
name
purpose
inputs
outputs
functions
performance
manufacturing cost
power
physical size/weight
Introduction to
Embedded Systems
Example: GPS moving map
requirements
I-78
Scotch Road
Moving map
obtains position
from GPS, paints
map from local
database.
lat: 40 13 lon: 32 19
Introduction to
Embedded Systems
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: $500 street price = approx. $100
Introduction to
costSystems
of goods sold.
Embedded
GPS moving map needs,
cont’d.
Physical size/weight: Should fit in hand.
Power consumption: Should run for 8
hours on four AA batteries.
Introduction to
Embedded Systems
GPS moving map
requirements form
name
purpose
inputs
outputs
functions
performance
manufacturing cost
power
physical size/weight
Introduction to
Embedded Systems
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.
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.
Introduction to
Embedded Systems
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.
Introduction to
Embedded Systems
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.
Introduction to
Embedded Systems
GPS moving map block
diagram
GPS
receiver
search
engine
database
Introduction to
Embedded Systems
renderer
user
interface
display
GPS moving map hardware
architecture
display
frame
buffer
CPU
GPS
receiver
memory
Introduction to
Embedded Systems
panel I/O
GPS moving map software
architecture
position
Introduction to
Embedded Systems
database
search
renderer
user
interface
timer
pixels
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.
Introduction to
Embedded Systems
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.
Introduction to
Embedded Systems
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.
References:
• Overheads for Computers as Components, W.Wolf.Morgan
Kaufman.
• Embedded Systems in the Real World, Phillip Koopman. Carnegie
Mellon University.
Introduction to
Embedded Systems