What are embedded systems?
What makes them different?
Real time operation
Many sets of constraints on designs
Challenges in embedded computing
Embedded system: any device that includes a
programmable computer but is not itself a general-
Computer purchased as part of some other piece of
• 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.
What is an embedded system
Office systems and Building systems Manufacturing and
mobile equipment Process Control
Answering machines Air conditioning Automated factories
Copiers Backup lighting and Bottling plants
Faxes generators Energy control systems
Laptops and notebooks Building management Manufacturing plants
Mobile Telephones systems Nuclear power stations
PDAs, Personal organisers CTV systems Oil refineries and related
Still and video cameras Fire Control systems storage facilities
Telephone systems Heating and ventilating Power grid systems
systems Power stations
Time recording systems
Lifts, elevators, escalators Robots
Lighting systems Switching systems
Security systems Water and sewage systems
Transport Communications Other equipment
Aeroplanes Telephone systems Automated teller systems
Trains Cable systems Credit card systems
Buses Telephone switches Medical Imaging equipment
Marine craft Satellites Domestic Central Heating control
Jetties Global Positioning VCRs
Air Traffic Control
Today’s high-end automobile may have
4-bit microcontroller checks seat belt;
microcontrollers run dashboard devices;
16/32-bit microprocessor controls engine.
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.
BMW 850i, cont’d.
Embedded systems rule
the market place
•80 Million PCs vs. 3Billion Embedded
• Embedded market growing; PC market
Why are embedded systems
different from desktop computers ?
Four General Embedded
• Applications similar to desktop computing, but in an embedded package
• Video games, set- top boxes, wearable computers, automatic tellers
• Closed- loop feedback control of real- time system
• Vehicle engines, chemical processes, nuclear power, flight control
• Computations involving large data streams
• Radar, Sonar, video compression
Communication & Networking
• Switching and information transmission
• Telephone system, Internet
Characteristics of an
• 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
• Battery power for 8+ hours (laptops often last only 2 hours)
• Heat, vibration, shock, power fluctuations, RF interference, lightning,
Safety- critical operation
• Must function correctly and Must not function in correctly
Extreme cost sensitivity
• $. 05 adds up over 1,000, 000 units
Embedding a computer
Why use microprocessors?
Microprocessors simplify the design of families of
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
A Customer View
Often designed by a small team of
Often must meet tight deadlines.
6 month market window is common.
Can’t miss back-to-school window for
Challenges in embedded
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
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?
What is our development platform?
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
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.
Overall speed, deadlines.
Functionality and user interface.
Other requirements (physical size, etc.)
Levels of abstraction
Our requirements form
Example: GPS moving map
obtains position I-78
from GPS, paints
map from local
lat: 40 13 lon: 32 19
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
Embedded Systems goods sold.
GPS moving map needs,
Physical size/weight: Should fit in hand.
Power consumption: Should run for 8
hours on four AA batteries.
GPS moving map
name GPS moving map
moving map for driving
inputs power button, two
outputs back-lit LCD 400 X 600
functions 5-receiver GPS; three
performance updates screen within
0.25 sec of movement
manufacturing cost $100 cost-of-goods-
power 100 mW
physical size/weight no more than 2: X 6:,
A more precise description of the system:
should not imply a particular architecture;
provides input to the architecture design
May include functional and non-functional
May be executable or may be in
mathematical form for proofs.
What is received from GPS;
operations required to satisfy user requests;
background operations needed to keep the
What major components go satisfying the
CPUs, peripherals, etc.
major programs and their operations.
Must take into account functional and
GPS moving map block
GPS search display
GPS moving map hardware
display frame CPU
GPS moving map software
position database pixels
Designing hardware and
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.
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.
• 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.
• Overheads for Computers as Components, W.Wolf.Morgan
• Embedded Systems in the Real World, Phillip Koopman. Carnegie