Microprocessor

Download Report

Transcript Microprocessor

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.
2.
3.
4.
5.
Computers as components: Principles of Embedded
Computing System Design, Wayne Wolf, Morgan Kaufman
Publication, 2000
ARM System Developer’s Guide: Designing and Optimizing
System Software, Andrew N. Sloss, Dominic Symes, Chris
Wright, , Morgan Kaufman Publication, 2004.
Design with PIC Microcontrollers, John B. Peatman, Pearson
Education Asia, 2002
The Design of Small-Scale embedded systems, Tim
Wilmshurst, Palgrave2003
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
CPU
output
analog
input
analog
mem
Embedded computer
Simplest
model
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 MultiService 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
System
hydraulic
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
Architecture
More Complete
Model
Implementing Embedded System
Hardware
Processing Element
Peripherals
Input & Output Devices
Interfacing Sensors & Actuators
Interfacing Protocols
Memory
Bus
Software
System Software
Application
Hardware
Software
Partitioning
of
tasks
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.