0% found this document useful (0 votes)
18 views

0.Intro to Embedded Systems

Uploaded by

pluscommander972
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

0.Intro to Embedded Systems

Uploaded by

pluscommander972
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 50

EE/EC5103 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:

• Examples: Intel Core i7, AMD Ryzen


total = 0
for i =1 to …

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

Image Processors in Visual Equipment etc.


Application-Specific Processor
(ASISP)
• Programmable processor optimized
for a particular class of applications
that have common characteristics Controller Datapath

(compromise) Control Registers


logic and
• Features State
register
Custom
• Program memory ALU
IR PC
• Optimized data path
Data
• Special functional units Program memory
memory
• Benefits
Assembly code
• Some flexibility, good performance, for:

size, and power, “reusable” total = 0


for i =1 to …
Compute Spectrum
The performance paradox


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

display frame CPU


buffer


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

You might also like