Prof. Santanu Chaudhury Prof. Wajeb Gharibi

Download as pdf or txt
Download as pdf or txt
You are on page 1of 39

Embedded Systems:

Introduction

Prof. Santanu Chaudhury


Prof. Wajeb Gharibi
Syllabus
Overview of Embedded Systems; Embedded System
Architecture: Processor Examples - ARM, PIC, etc.;
features of digital signal processor; SOC, memory
sub-system, bus structure (PC-104, I2C etc.),
interfacing protocols (USB, IrDA etc), peripheral
interfacing; testing & debugging, power management;
Embedded System Software: Program Optimization,
Concurrent Programming, Real-time Scheduling and
I/O management; Networked Embedded Systems:
special networking protocols (CAN, Bluetooth);
Applications.
Books
1. Computers as components: Principles of Embedded
Computing System Design, Wayne Wolf, Morgan Kaufman
Publication, 2000
2. ARM System Developer’s Guide: Designing and Optimizing
System Software, Andrew N. Sloss, Dominic Symes, Chris
Wright, , Morgan Kaufman Publication, 2004.
3. Design with PIC Microcontrollers, John B. Peatman, Pearson
Education Asia, 2002
4. The Design of Small-Scale embedded systems, Tim
Wilmshurst, Palgrave2003
5. Embedded System Design, Marwedel, Peter, Kluwer
Publishers, 2004.
Definition
Embedded system: any device that includes a
computer but is not itself a general-purpose
computer.
Hardware and Software - part of some larger
systems and expected to function without
human intervention
Respond, monitor, control external
environment using sensors and actuators
Embedding a computer Simplest
model

output analog

input analog
CPU

mem

Embedded computer
Examples
Personal digital assistant (PDA).
Printer.
Cell phone.
Automobile: engine, brakes, dash, etc.
Television.
Household appliances.
Surveillance Systems.
Product: Palm Vx
handheld.

Microprocessor:
32-bit Motorola
Dragonball EZ.
Product: Motorola
i1000plus iDEN Multi-
Service Digital Phone.

Microprocessor:
Motorola 32-bit MCORE.
Application examples
Simple control: front panel of
microwave oven, etc.
Camera: Canon EOS 3 has three
microprocessors.
32-bit RISC CPU runs auto-focus
Analog TV: channel selection, etc.
Digital TV: Decompression,
Descrambling, etc.
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.
Example:Automobile
sensor sensor

brake brake

Automated Braking hydraulic


System pump

brake brake

sensor sensor
Characteristics of embedded
systems
Sophisticated functionality.
Real-time operation (always?).
Low manufacturing cost.
Application dependent Processor (?)
Restricted Memory
Low power.
Power consumption is critical in battery-powered
devices.
Excessive power consumption increases system cost
even in wall-powered devices.
Manufacturing Cost
Manufacturing cost has different
components.
Non-recurring Engineering cost for design
and development;
cost of production and marketing each
unit;
Best technology choice will depend on
the number of units we plan to produce
Real-time operation
Must finish operations by deadlines.
Hard real time: missing deadline causes
failure.
Soft real time: missing deadline results in
degraded performance.
Many systems are multi-rate: must
handle operations at widely varying
rates.
Application dependent
requirements
Fault-tolerance
Continue operation despite hardware or
software faults
Safe
Systems to avoid physical or economic
damage to person or property
More Features
Dedicated systems
Predefined functionality – accordingly
hardware and software designed
Programmability rarely used during lifetime
of the system
Real-time, fault-tolerant, safe
More Examples
Product: Vending
machine.

Web-enabled
Cash-less
Vending machine
Motient Corp. and USA Technologies

Microprocessor:
8-bit Motorola 68HC11.
Product: NASA's
Mars Sojourner
Rover.

Microprocessor:
8-bit Intel 80C85.
Product:
GPS Receiver.

Microprocessor:
16-bit.
Product:
MP3 Player.

Microprocessor:
32-bit RISC.
Product:
DVD player.

Microprocessor:
32-bit RISC.
Product: Sony Aibo
ERS-110 Robotic
Dog.

Microprocessor:
64-bit MIPS RISC.
Types of Embedded System
Similar to General Computing
PDA, Video games, Set-top boxes, automatic teller
machine
Control Systems
Feed-back control of real time systems
Vehicle engines, flight control, nuclear reactors
Signal Processing
Radar, Sonar, DVD players
Communication and Networking
Cellular phones, Internet appliances
Nature of System Functions
Control laws
Sequencing Logic
Signal Processing
Application Specific Interfacing
Fault Response
More Complete
Architecture Model
Implementing Embedded System
Hardware
Processing Element
Peripherals
Hardware
Input & Output Devices
Interfacing Sensors & Actuators Software
Interfacing Protocols Partitioning
Memory of
Bus tasks
Software
System Software
Application
Hardware Evolution
Systems-on-Chip
Application Specific Processors
DSP
General Purpose Microprocessors &
Micro-controllers

Faster Clock Rate


Higher Degree of Integration
Software
Programs must be logically and
temporally correct
Must deal with inherent physical
concurrency
Reactive systems
Reliability and fault-tolerance are critical
issues
Application Specific and single purpose
Multi-Tasking and Concurrency
Embedded systems need to deal with several
inputs and outputs and multiple events
occurring independently.
Separating tasks simplifies programming, but
requires somehow switching back and forth
among different tasks (multi-tasking).
Concurrency is the appearance of
simultaneous execution of multiple tasks.
Example: Concurrency in
Temperature Controller
/* Monitor Temperature */ /* Monitor Time of Day */ /* Monitor Keypad */
do forever { do forever { do forever {
measure temp ; measure time ; check keypad ;
if (temp < setting) if (6:00am) if (raise temp)
start furnace ; setting = 72oF ; setting++ ;
else if (temp > else if (11:00pm) else if (lower temp)
o
setting + delta) setting = 60 F ; setting-- ;
stop furnace ; } }
}
Challenges in embedded
system design
How much hardware do we need?
What is word size of the CPU? Size of
Memory?
How do we meet our deadlines?
Faster hardware or cleverer software?
How do we minimize power?
Turn off unnecessary logic? Reduce
memory accesses?
Embedded System Design
Design goals
Performance.
Overall speed, deadlines.
Functionality and user interface.
Manufacturing cost.
Power consumption.
Other requirements (physical size, etc.)
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.
Design & Development Process
requirements

specification

architecture

component
design
system
integration
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.
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.
Concluding Remarks
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.

You might also like