Title: Embedded Systems: Introduction
1Embedded Systems Introduction
- Prof. Santanu Chaudhury
- Prof. Wajeb Gharibi
2Syllabus
- 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.
3Books
- Computers as components Principles of Embedded
Computing System Design, Wayne Wolf, Morgan
Kaufman Publication, 2000 - ARM System Developers 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. - Â
4Definition
- 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
5Embedding a computer
Simplest model
output
analog
input
CPU
analog
mem
Embedded computer
6Examples
- Personal digital assistant (PDA).
- Printer.
- Cell phone.
- Automobile engine, brakes, dash, etc.
- Television.
- Household appliances.
- Surveillance Systems.
7Product Palm Vx handheld. Microprocessor
32-bit Motorola Dragonball EZ.
8Product Motorola i1000plus iDEN Multi-Service
Digital Phone.Microprocessor Motorola 32-bit
MCORE.
9Application 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.
10Automotive embedded systems
- Todays high-end automobile may have 100
microprocessors - 4-bit microcontroller checks seat belt
- microcontrollers run dashboard devices
- 16/32-bit microprocessor controls engine.
11ExampleAutomobile
sensor
sensor
brake
brake
hydraulic pump
Automated Braking System
brake
brake
sensor
sensor
12Characteristics 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.
13Manufacturing 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
14Real-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.
15Application dependent requirements
- Fault-tolerance
- Continue operation despite hardware or software
faults - Safe
- Systems to avoid physical or economic damage to
person or property
16More Features
- Dedicated systems
- Predefined functionality accordingly hardware
and software designed - Programmability rarely used during lifetime of
the system - Real-time, fault-tolerant, safe
17More Examples
18Product Programmable Digital Thermostat. Micropr
ocessor 4-bit
19Product Vending machine.
Web-enabled Cash-less Vending machine
Microprocessor 8-bit Motorola 68HC11.
20Product Automatic toothbrush. Microprocessor
8-bit Zilog Z8.
21Product NASA's Mars Sojourner Rover.Microproces
sor 8-bit Intel 80C85.
22Product GPS Receiver.Microprocessor 16-bit.
23Product MP3 Player. Microprocessor 32-bit
RISC.
24Product DVD player. Microprocessor 32-bit
RISC.
25Product Sony Aibo ERS-110 Robotic Dog.
Microprocessor 64-bit MIPS RISC.
26Types 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
27Nature of System Functions
- Control laws
- Sequencing Logic
- Signal Processing
- Application Specific Interfacing
- Fault Response
28Architecture
More Complete Model
29Implementing 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
30Hardware Evolution
- Systems-on-Chip
- Application Specific Processors
- DSP
- General Purpose Microprocessors
Micro-controllers
Faster Clock Rate Higher Degree of Integration
31Software
- 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
32Multi-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.
33Example Concurrency in Temperature Controller
34Challenges 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?
35Embedded System Design
36Design goals
- Performance.
- Overall speed, deadlines.
- Functionality and user interface.
- Manufacturing cost.
- Power consumption.
- Other requirements (physical size, etc.)
37Functional 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.
38Design Development Process
39Top-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.
40Stepwise 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.
41Concluding 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.