Professional Documents
Culture Documents
BY
T.R.KANAGASABAPATHY-9908005121,
M.HARI PRASAD-9908005094,
G.GANESH PRABHU-9908005078.
1
Embedded System
A specialized computer system that is part
of a larger system or machine. Typically, an
embedded system is housed on a single
microprocessor board with the programs
stored in ROM. Some embedded systems
include an operating system, but many are
so specialized that the entire logic can be
implemented as a single program.
2
What is an Embedded System?
Embedded System =
A computer which is integrated into another
system, the embedding system
3
Embedded System? – Another
definition
5
Embedded System
Differences with desktop computing
The human interface may be as simple as a flashing light or as
complicated as real-time robotic vision.
The diagnostic port may be used for diagnosing the system
that is being controlled -- not just for diagnosing the
computer.
Special-purpose field programmable (FPGA), application
specific (ASIC), or even non-digital hardware may be used to
increase performance or safety.
Software often has a fixed function, and is specific to the
application.
6
Embedded System
7
Embedded System
Characteristics of Embedded Systems
Application specific
Jobs are known a priori
Static scheduling of tasks and allocation of resources
Real time
Hardware/software tradeoff
Exceptions
Reactive
Interacts with external environment continuously
Hierarchy of behaviours
Sequential and concurrent subbehaviours
8
Embedded System
Characteristics of digital systems
Application domain
General purpose
Dedicated computing and control systems
Emulation and prototyping systems
Degree of programmability
Application level
Instruction level
Hardware level
Hardware fabrication technology
Bipolar versus CMOS
Level of integration
Discrete components versus integrated
9
Embedded System
Definitions
FPGA(Field Programmable Gate Array)
Programmable HW; configurable gate level
interconnection of circuits after manufacturing
Consists of a matrix of cells: Configurable Logic
Blocks(CLBs) and I/O Blocks(IOBs), with
programmable switches to provide the desired
connections between blocks
Slower than non-programmable devices, but
allows prototype to be designed quickly(circuit
design, implementation, verification on desktop
workstations)
10
Embedded System
– ASIC(Application Specific Integrated Circuit)
• Custom designed chip to implement a digital
function/system
• Hardwired(non-programmable) gives the best
performance
• Must produce in volume to cover non-recurrent
engineering design cost
11
Embedded System
ASIP(Application Specific Instruction
Processor)
A microprocessor with special architecture design,
and instruction set chosen for a specific domain of
programs
Easier to cover non-recurrent engineering cost
since ASIP has multiple applications
12
Embedded System
HW/SW Co-Design
Meeting system level objectives by
exploiting the synergism of HW and SW
through their concurrent design
Simultaneously design the software
architecture of an application and the HW
on which that SW is implementation to
meet performance, cost, or reliability goals
13
Embedded vs. Microcontroller
Embedded –
A computer (CPU) without conventional keyboard/screen
interface. Frequently the embedded system interfaces with the
world through sensors and actuators.
Microcontroller –
A computer chip which includes CPU, memory, peripherals and
I/O on a single chip. A processor like the Pentium includes only
the CPU on the chip.
Interrupt controllers, timers, RAM, ROM, parallel and serial
ports and other peripherals are all external components.
A microcontroller will typically have several or all of the above
peripherals on chip and may also have digital and analog I/O and
LCD controllers on chip.
Many microcontrollers are still slow 2 to 40 MHz) and small
(8 bit, memory measured in hundreds or thousands of bytes),
low-cost systems.mulation of HW and SW components and their interaction
14
Embedded System
Design requirements
Real time/reaction operation
Small size, low weight
Safe and reliable
Harsh environment
Cost sensitivity
15
Embedded System
– Small size, low weight
• Physically located within some larger
artifact, therefore, form factors may be
dictated
• Weight might be critical in transportation
and portable systems for fuel economy or
human endurance
• Challenges:
– Non-rectangular, non-planar geometries.
– Packaging and integration of digital, analog, and
power circuits to reduce size.
16
Embedded System
Safe and reliable
Challenges:
Low-cost reliability with minimal redundancy
Harsh environment
Many embedded systems do not operate in a controlled
environment
Additional problems can be caused for embedded
computing by a need for protection from vibration,
shock, lightning, power supply fluctuations, water,
corrosion, fire, and general physical abuse
Challenges: accurate thermal modeling and de-rating
components differently for each design, depending on
operating environment
17
Embedded System
Cost sensitivity
Challenge:Variable "design margin" to permit tradeoff
between product robustness and aggressive cost
optimization
18
Embedded System
System level requirements for embedded
system
End-product utility
System safety & reliability
Controlling physical systems
Power management
19
Embedded System
End-product utility
Challenge: Software- and I/O-driven hardware
synthesis (as opposed to hardware-driven software
compilation/synthesis).
System safety & reliability
Challenges:
Reliable software
Cheap, available systems using unreliable components
Electronic vs. non-electronic design tradeoffs
20
Embedded System
21
Embedded System
22
Major Embedded OS
QNX 4 RIOS
Embedded Linux
Windows CE
VxWorks
23
Major Embedded OS
Supported processor
• QNX: all generic x86 based processors(386+)
• Linux: virtually on every general purpose micro-
processor(ARM, StrongARM, MIPS, Hitachi SH, PowerPC,
x86)
• WindowsCE: (x86, MIPS, Hitachi SH3 and SH4, PowerPC
and StrongArm processors)
• VxWorks: (PowerPc, 68K, CPU32, ColdFire, MCORE, 80x86
and Pentium, i960, ARM and StrongARM, MIPS, SH,
SPARC, NECV8xx, M32 R/D, RAD6000, ST 20, TriCore)
24
Major Embedded OS
Memory constraints
QNX is the smallest
Windows CE needs 350KB for a minimal
system
Linux needs 125 – 256 KB fro a reasonable
configured kernel
VxWorks: a few kilobytes for a deeply
embedded system
25
Major Embedded OS
• Architecture Comparison
– QNX: A very small microkernel surrounded by a team
of cooperating processes that provide higher level OS
services.
– Linux: a layering structure and comprised of
modules.
– WindowsCE: The operating system architecture of
Windows CE is a hierarchical one.
– VxWork: Individual modules may be used in
development and omitted in production
systems.
26
Major Embedded OS
Process Management
– QNX:
Process manager is not in micro kernel
Use message passing primitives to
communicate with other processes
Scheduling is managed by the micro kernel
scheduler
Scheduling methods: FIFO, RR, adaptive
Fully preemptible
27
Major Embedded OS
Linux:
Implements threads in kernel
Three classes of threads
Real-time FIFO: having highest priority and not
preemptable
Real-time RR: same as real-time FIFO but
preemptable
Time sharing: lowest prority
28
Major Embedded OS
• WindowsCE:
• Support both processes and threads
• Full memory protection applied to application
processes
• Thread scheduling is preemptive, using 8 different
priority levels
• A maximum of 32 simultaneous processes
• A process contains one or more threads
29
Major Embedded OS
VxWorks:
A multitasking kernel
Transparently interleave task execution
30
Major Embedded OS
31
H/S interaction
• Software/Hardware Codesign
– Simultaneous design of both
hardware and software to implement
in a desired function
32
H/S
Hardware experts have something to
teach to the SW world
Concurrency
Reusability
Reliability
Heterogeneity
33
H/S interaction
What an embedded program might look like
34
H/S
Simple example: controlling an inverted
pendulum with embedded SW
35
H/S interaction
36
H/S interaction
Hardware/software codesign
the cooperative design of hardware and
software components;
the unification of currently separate
hardware and software paths;
the movement of functionality between
hardware and software;
the meeting of system-level objectives
by exploiting the synergism of hardware
and software through their concurrent
design.
37
H/S interaction
– Embedded systems are application
specific systems which contain both
hardware and software tailored for a
particular task and generally part of a
larger system
– Reusability: to provide design
approaches that scale up, without a total
redesign for a legacy product
38
H/S interaction
Existing Problems
Model Continuity Problem
39
Memory Constraints
40
Fault-tolerance
Allowable system failure probability is
10-10 per hour
Software fault tolerance
Hardware fault tolerance
41
Fault-tolerance
Software fault tolerance
Timeouts
Audits
Exception handling
Task roll back
Incremental reboot
Voting
42
Fault-tolerance
Hardware fault tolerance
Redundancy Schemes
One for one redundancy: each hardware module has a redundant
hardware module
N + X redundancy: if N hardware modules are required to
perform system functions, the system is configured with N + X
hardware modules; typically X is much smaller than N
Load sharing: under zero fault conditions, all the hardware
modules that are equipped to perform system functions, share the
load
43
Fault-tolerance
Standby synchronization
Bus cycle level synchronization
Memory mirroring
Message level synchronization
Checkpoint level synchronization
Reconciliation on takeover
44
Fault-tolerance
Fault handling techniques
Fault handling lifecycle
Fault detection
Fault isolation
45
Fault-tolerance
Fault-handling lifecycle
46
Fault-tolerance
Fault detection
Sanity monitoring
Watchdog monitoring
Protocol faults
In-service diagnostics
47
Fault-tolerance
Fault isolation
If a unit is actually faulty, many fault
triggers will be generated for that unit.
The main objective of fault isolation is to
correlate the fault triggers and identify the
faulty unit. If fault triggers are fuzzy in
nature, the isolation procedure involves
interrogating the health of several units.
For example, if protocol fault is the only
fault reported, all the units in the path
from source to destination are probed for
health 48
Timing