This document provides an introduction to embedded computing systems. It discusses the characteristics of embedded applications and the challenges of embedded system design. It then describes the embedded system design process, including defining requirements, developing specifications, and integrating hardware and software components. Finally, it provides an example of modeling an embedded train controller system using UML diagrams.
Top profile Call Girls In Shillong [ 7014168258 ] Call Me For Genuine Models ...
labour force
1. EMBEDDED AND REAL
TIME SYSTEMS
INTRODUCTION TO
1/29/2012 EMBEDDED COMPUTING
2. UNIT-1
INTRODUCTION TO
EMBEDDED COMPUTING
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
3. COMPLEX SYSTEMS AND
MICROPROCESSORS
What is an embedded computer system?
It is any device that includes a programmable
computer but is not itself intended to be a general-
purpose computer.
Thus a PC is not itself an embedded computing
h Ci i lf b dd d i
ystem,although PCs are often used to build
embedded computing systems
systems.
But a fax machine or a clock built from a
microprocessor is an embedded computing system.
system
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
4. Embedding Computers
Whirlwind, a computer designed at MIT in the late 1940s and early
1950s.
microprocessor is a single-chip CPU in 1970’s but it is very simple.
first microprocessor, the Intel 4004,was designed for an embedded
application,namely, a calculator.
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
5. Characteristics of Embedded
Computing Applications
C ti A li ti
Complex algorithms
User interface
Real time
Multirate
Manufacturing cost
Power and energy
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
6. Why Use Microprocessors?
Microprocessors are a very efficient way
to implement digital systems.
Microprocessors has new features to keep
up with rapidly changing markets
p p y g g
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
7. Challenges in Embedded
Computing S t
C ti System D i
Design
How much hardware do we need?
How do we meet deadlines?
How do we minimize power consumption?
How do we design for upgradability?
Does it really work?
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
8. DEADLINE
Deadline is to speed up the hardware so thatthe
program runs faster.
Of course, that makes the system more
expensive.
It i alsoentirely possible that increasing the
is l ti l ibl th t i i th
CPU clock ratemay notmake enough
differenceto execution time since the program’s
time,since program s
speedmay be limited by thememory system
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
9. 1.2 THE EMBEDDED SYSTEM
DESIGN PROCESS
Embedded System Design Process aimed
at two objectives.
First-various steps in Embedded System
g
design.
Second- Design methodology.
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
11. Requirements
TWO PHASES:
Informal description from the customers.
p
Refine the requirements into a
specification.
specification
Performance
Cost
C t
Physical size and weight
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
12. Specification
The specification is more precise—it serves as the
contract between the customerand the architects.
As such, the specification must be carefully written
so that itaccurately reflects the customer’s
requirements and does so in a way that can beclearly
followed during design.
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
14. Hardware
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
15. Software
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
16. Designing Hardware and
Software Components
You will have to design some components yourself.
Even if you are using only standard integrated circuits,
you may have to design the printed circuit board
thatconnects them.You will probably have to do a lot of
custom programming as well.
When creating these embedded software modules, you
must of course make use of your expertise to ensure
that the system runs properly in real time and that it
does not take up more memory space than is allowed
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
17. System Integration
System integration is difficult because it usually
uncovers problems.
It is oftenhard to observe the system in sufficient detail
to determine exactly what is wrong the debugging
facilities for embedded systems
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
18. MODEL TRAIN CONTROLLER
In order to learn how to use UML to model
systems
PURPOSES OF EXAMPLE:
Follow a design through several levels of
abstraction.
Gain experience with UML.
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
19. Model train setup
rcvr motor
power
supply
l
console
header address command ECC
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
20. Requirements
Console can control 8 trains on 1 track.
Throttle has at least 63 levels.
Inertia control adjusts responsiveness
with at least 8 levels
levels.
Emergency stop button.
Error d t ti scheme on messages.
E detection h
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
21. Requirements into our
chart format
name model train controller
purpose control speed of <= 8 model trains
inputs throttle, inertia, emergency stop,
train #
outputs train control signals
functions set engine speed w. inertia;
emergency stop
performance can update train speed at least 10
times/sec
manufacturing cost $50
power wall powered
physical console comfortable for 2 hands; < 2
size/weight lbs.
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
24. Panel and motor interface
classes
panel motor-interface
speed: integer
train-number() : integer
speed() : integer
inertia() : integer
i i () i
estop() : boolean
new-settings()
g ()
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
25. Class descriptions
panel class defines the controls.
new-settings() behavior reads the controls.
motor-interface class defines the motor
speed held as state.
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
26. Transmitter and receiver
classes
transmitter receiver
current: command
send-speed(adrs: integer, new: boolean
speed: integer)
send-inertia(adrs: integer,
di i ( d i read-cmd()
read cmd()
val: integer) new-cmd() : boolean
set-estop(adrs: integer)
p( g ) rcv-type(msg-type:
command) d)
rcv-speed(val: integer)
( g )
rcv-inertia(val:integer)
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
27. Class descriptions
transmitter class has one behavior for
each type of message sent.
receiver function provides methods to:
detect a new message;
determine its type;
read its parameters (estop has no
parameters).
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
28. Formatter class
formatter
current train:
current-train: integer
current-speed[ntrains]: integer
current-inertia[ntrains]:
unsigned-integer
i di t
current-estop[ntrains]: boolean
send-command()
send command()
panel-active() : boolean
operate()
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
29. Formatter class
description
Formatter class holds state for each train,
setting for current train.
The operate() operation performs the
basic formatting task.
g
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
30. Control input cases
Use a soft panel to show current panel
settings for each train.
Changing train number:
must change soft panel settings to reflect
current train’s speed, etc.
Controlling throttle/inertia/estop:
read panel, check for changes, perform
command.
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
31. Control input sequence
diagram
:knobs
k b :panel
l :formatter
f tt :transmitter
t itt
change in read panel
peed/
control panel-active
op
ertia/esto
change in chan in sp
settings panel settings send-command
read panel
send-speed,
nge
ber ine
panel settings send-inertia.
di i
read panel send-estop
change in
g
n
tra numb
train panel settings
number new-settings
ain
c
set-knobs
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
32. Formatter operate
behavior
update-panel()
panel-active() new train number
idle
send-command()
other
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
33. Panel-active
Panel active behavior
T current-train = train-knob
panel*:read-train()
l* d i () update-screen
changed = true
F
T
panel :read speed()
panel*:read-speed() current-speed = throttle
changed = true
F
... ...
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
34. Controller class
controller
current train:
current-train: integer
current-speed[ntrains]: integer
current-direction[ntrains]: boolean
current-inertia[ntrains]:
t i ti [ t i ]
unsigned-integer
operate()
issue-command()
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
35. Setting the speed
Don’t want to change speed
instantaneously.
Controller should change speed gradually
by sending several commands.
y g
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING
36. Sequence diagram for set-
speed command
:receiver
i :controller
t ll :motor-interface
t i t f :pulser*
l *
new-cmd
cmd-type
rcv-speed set-speed set-pulse
set pulse
set-pulse
set-pulse
set-pulse
l
set-pulse
INTRODUCTION TO EMBEDDED
1/29/2012 COMPUTING