You are on page 1of 49

EMBEDDED SYSTEM

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

A general-purpose definition of embedded


systems is that, they are devices used to
control, monitor or assist the operation of
equipment, machinery or plant.
“Embedded” reflects the fact that they are
an integral part of the system. In many
cases, their “embeddedness” may be
such that their presence is far from
obvious to the casual observer.
4
Embedded System

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

 Controlling physical systems


 Challenge: Distributed system tradeoffs
among analog, power, mechanical, network,
and digital hardware plus software
 Power management
 Challenge: Ultra-low power design for long-
term battery operation

21
Embedded System

Embedded system lifecycle

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

 Uses Task Control Blocks(TCB’s) to keep track of


tasks
 Priority scheduling and priority based preemption

 RR scheduling only applies to the tasks of the


same priority

30
Major Embedded OS

 Factors impact embedded operating


system
 Application requirement impact
 Hardware impact

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

Memory is usually a critical resource and


the memory size is often very restricted
Both static and dynamic memory usage
within a task and the dynamic memory
usage due to communication should be
considered
Mapping is also a problem

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

 Transient leaky bucket counters

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

 Real time: A real-time system provides specified system


services with known timing and latency characteristics, so
that applications can be designed and developed that
meet perscribed timing constraints
 Hard real time: In a hard real-time system, the timing
constraints have an upper worst-case value, which if
exceeded, cause the application to fundamentally fail
 Soft real time:In a soft real-time system, the timing
constraints do not have an upper worst-case value, but
meet an acceptable statistical distribution of timings. In
this case, occasional longer latencies either do not really
cause failures, or the failure rates are acceptable
49