0.Intro to Embedded Systems
0.Intro to Embedded Systems
Introduction
Instructor
Dr. Bharghava Rajaram
12/15/2024 [email protected] 1
•Intro
Embedded System/Computer
• Wayne Wolf, Princeton - “Any sort of device which
includes a programmable computer but itself is not
intended to be a general-purpose computer”
• Peter Marwedel, TU Dortmund - “Embedded
Systems are information processing systems
embedded into a larger product”
• Edward Lee, Berkeley - “Embedded software is
software integrated with physical processes. The
technical problem is managing time and
concurrency in computational systems.”
Embedding a computer
output analog
input analog
CPU
mem
embedded
computer
4
Examples
• Automotive electronics
• Avionics
• Consumer Electronics
• Medial Devices
• Wearables
• Communication devices
• Industry 4.0?
• Cyber Physical Systems?
• Internet-of-Things?
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.
6
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.
7
More Application examples
Simple control: front panel of microwave oven, etc.
Canon EOS 3 camera has three microprocessors.
One of 32-bit RISC CPU runs autofocus and eye control systems.
Analog TV: channel selection, etc.
Digital TV: programmable CPUs + hardwired logic.
8
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.
9
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.
10
BMW 850i, cont’d.
sensor sensor
brake brake
hydraulic
ABS
pump
brake brake
sensor sensor
11
Characteristics and Requirements of
Embedded Systems
12
Characteristics of Embedded
Systems
• Dedicated functionality
• Real-time operation
• Small size and low weight
• Low power
• Harsh environments
• Safety-critical operation
• Cost sensitive
Embedded System Requirements
• Functional
• Temporal
• Dependability
• User acceptance/competitiveness
• Composability (complexity, distributedness)
Functional complexity
Often have to run sophisticated algorithms or multiple algorithms.
Cell phone, laser printer.
Often provide sophisticated user interfaces.
The compute platform has to be chosen
15
Functional Requirements
• Data collection
• Sensor requirements
• Signal conditioning
• Alarm monitoring
• Direct digital control
• Actuators
• Man-machine interaction
• Inform the operator of state of controlled object
• Assist the operator in controlling the system
Temporal Requirements
• Reaction deadlines of the application
• Minimal latency jitter
• Minimal error detection latency
• Timing requirements due to SW control loops
• Human interface requirements
Dependability Requirements
• Reliability
• Environment may be harsh (EMC, vibrations, temp.)
• highly reliable systems: 10-9failures/hour
• Safety
• Reliability wrt. critical failure modes
• Availability
• Diagnostics and maintenance
• Security
User Acceptance/Competitiveness
• Cost
• Size and weight
• Power consumption
• Flexibility
• Complexity
• Environmental aspects (e.g., radiation, pollution)
Computing - 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.
20
General-Purpose Processor
• Programmable device,
“microprocessor” Controller Datapath
Control
• Features logic and
Register
file
State
• Program memory register
• General data path with large register IR PC
General
ALU
file and general ALU
• User benefits Program
memory
Data
memory
• Low time-to-market and NRE costs
Assembly code
• High flexibility for:
5, etc.
Dedicated Processor
• Digital circuit designed specifically for one purpose
• Features
• Contains only the components needed to execute a single program
• No program memory
Controller Datapath
• Benefits Control index
logic
• Fast total
• Low power State
register +
• Small size
• E.g. Network Processors, DSP Processors, Data
memory
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.
25
Power
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.
26
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?
27
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?
28
Designing Embedded Systems
29
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.
30
Design goals
Performance.
Overall speed, deadlines.
Functionality and user interface.
Manufacturing cost.
Power consumption.
Other requirements (physical size, etc.)
31
Levels of abstraction
requirements
Top-down
specification
architecture
Bottom-up
component
design
system
integration
32
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.
33
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;
ensure all design objects.
34
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.
35
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.
36
Our requirements form
37
Example: GPS moving map requirements
Moving map obtains position
from GPS, paints map from
I-78
local database.
Scotch Road
Current position
Display position
lat: 40°13′ lon: 32°19′
38
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 cost of goods sold.
39
GPS moving map needs, cont’d.
Physical size/weight: Should fit in hand.
Power consumption: Should run for 8 hours on four AA batteries.
40
GPS moving map requirements form
name GPS moving map
purpose consumer-grade
moving map for driving
inputs power button, two
control buttons
outputs back-lit LCD 400 X 600
functions 5-receiver GPS; three
resolutions; displays
current lat/lon
performance updates screen within
0.25 sec of movement
manufacturing cost $100 cost-of-goods-
sold
power 100 mW
physical size/weight no more than 2: X 6:,
12 oz.
41
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.
42
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.
43
Architecture design
What major components are needed to satisfy the specification?
Hardware components:
CPUs, peripherals, etc.
Software components:
major programs and their operations.
Must take into account functional and non-functional specifications.
44
GPS moving map block diagram
GPS
search display
renderer
receiver
engine
user
database
interface
45
GPS moving map hardware architecture
GPS
receiver
memory
panel I/O
46
GPS moving map software architecture
position
pixels
database
renderer
search
user
timer
interface
47
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.
48
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.
49