39245175 intro-es-ii

Post on 23-Jun-2015

91 views 0 download

Tags:

Transcript of 39245175 intro-es-ii

1

Embedded System Design

NARINA THAKUR

Bharti Vidyapeeth’s College of Engineering

Dept of Computer Science

2

Introduction•Definition of Computer system•Definition of Embedded system•How are embedded systems designed? (Hardware and Software)•Critical Design challenges

3

Definition of a Computer SystemA Computer is a system that has following

or more hardware Components:• A microprocessor• Large memory comprising (i) Primary Memory (ROM, RAM, Cache)(ii) Secondary memory (HDD, CDROM, FDD,

Cartridge tapes)• Input devices (KB, Mouse, Digitizer,

Scanner)• Output devices (Video Monitor, Printer)• Networking Card (Ethernet LAN)• I/O Units (Modem, Fax cum Modem)

4

Definitions of Embedded System

• An Embedded System has computer hardware with Software embedded in it as one of its most important components.

• Dedicated computer based system for a given application or product.

• It might be either an Independent System or

• Part of a larger System. • Software embeds in ROM. Does not need

any Secondary Memory.

5

Definitions Continued……….

• Todd D. Morton: Author - Embedded µC(s)

• Embedded Systems are electronic systems that contains a µP or µC. But, we do not think of them as computers.

• The computer is hidden or embedded in a system.

6

Definitions Continued……….

• Tim Wilmshrust: Author – An Introduction to design of small scale Embedded Systems.

• An Embedded System is a system whose principal function is not computational, But which is controlled by a computer embedded with-in it.

• The Computer is likely to be a µP or µC.

7

Definition of Embedded System (Continued)• An Embedded System is a µC based, • Software driven, Reliable, Real time

control system, • Autonomous or Human or Network

interactive, • Operating on diverse physical variables

and in diverse / hostile environments • Sold into a competitive & Cost conscious

market

8

Embedded World!

• Embedded processors account for 99% of world-wide microprocessor production !

• Embedded : desktop = 99 : 1

9

Embedded Systems• The embedded

system is completely enclosed in the main system.

• It does not interact directly with the environment.

• For example – a micro-computer in a car ignition control.

10

What is an Embedded System?

• Embedded systems are more limited in hardware and/or software functionality than a personal computer.

• An embedded system is designed to perform a dedicated function.

• An embedded system is a computer system with higher quality and reliability requirements than other types of computer systems.

11

A Real Embedded (Indeed)• Simple, not much overhead• Robust, reliable, ready• Protocol sensitive• Ubiquitous (Ever-present)• Acts within the system• Does not react directly with

environment• Works real time• Senses the sensors, processes

the input, actuates the actuators.

12

Embedded System?

• Computational

– but not first-and-foremost a computer

• Integral with physical processes

– sensors, actuators

• Reactive

– at the speed of the environment

• Heterogeneous

– hardware/software, mixed architectures

• Networked

– shared, adaptive

13

Embedded Systems: Common Situation

• Different hardware devices and architectures

• Increased complexity

• Non-standard tools and design processes

• Redundant development efforts

• Increased R&D and sustaining costs

• Lack of standardization results in greater quality risks

14

Embedded Systems and their Markets

Market Embedded Device

Automotive Ignition System, Engine Control, Brake System

Consumer Electronics

Digital and Analog Televisions, Set-Top Boxes, Kitchen Appliances, Toys/Games, Telephones/Cell Phones/Pagers, Cameras, GPS

Industrial Controls

Robotics and Manufacturing Controls

Medical Infusion Pumps, Dialysis Machines, Prosthetic Devices, Cardiac Monitors

Networking Routers, Hubs, Gateways

Office Automation

Fax Machine, Photocopier, Printers, Monitors, Scanners

15

Components of Embedded System

• It has Hardware• Main Application Software-may perform

concurrently the series of tasks or multiple tasks• Real Time Operating System (RTOS)

Supervises the Application Software,Provides a mechanism to let the processor run a process as per scheduling and do the context switch between the various processes (tasks).

16

Components of an Embedded System Hardware

Power Supply, Reset and Oscillator Circuits

System Application Specific Circuits

Inp

ut

Dev

ices

In

terf

acin

g /

Dri

ver

Cir

cuit

s

Ou

tpu

t In

terf

acin

g /

Dri

ver

Cir

cuit

s

Processor

Program Memory &

Data Memory

Timers

Interrupt Controller

Parallel Ports

SerialCommPorts

17

RTOS in an Embedded System

• Has a Kernel. Kernel coordinates the use of Processor for multiple tasks that are in ‘Ready’ State such that only one task is in ‘Running’ State

• Kernel schedules the transition of a task from – ‘Ready’ to ‘Running’ state– Also, from ‘Blocked’ to ‘Running’ state

(Preemptive scheduling) • Kernel schedules and dispatches a task to different

State than the present State

18

RTOS in an Embedded System• Kernel Controls the inter-process (task)

messaging and sharing of variables, queues and pipes.

• It schedules their working and execution by following a plan to control the latencies and Meet hard deadlines.

• RTOS has to be scalable. Memory is optimized by including only those parts of the “code” which are needed in the final software

19

Hard / Soft Real-Time Systems

• Soft Real-Time System– Compute output response as fast as possible,

but no specific deadlines to be met.• Hard Real-Time System

– Output response must be computed by specified deadline or system fails

20

Selection of RTOS• Requirements• Latencies• Tool Support• Processor Support• Type of Delivery• Inter Process Communication • Memory Management• Power Management

21

Design of Embedded Systems

• Task partitioning between hardware and software

• Hardware design and integration• Software development• System integration• Test strategies

22

Hardware-Software Partitioning

Some tasks could be performed usinghardware or software.Example:

A system receiving data packets needs to calculate a Cyclic Redundancy Check (CRC) value. If the packet is OK, an ACK signal should be sent within a specified time.

CRC could be calculated in S/W or by dedicated H/W.

23

Criteria for choice between H/W and S/W

• Hardware adds a “per unit” cost.• Software adds a “fixed cost”.• Hardware provides speed.• Software provides flexibility.• Software solution can reduce cost – at

least when production is in high volume.

• Hardware solution used when fast response is required.

24

Example of CRC check

Choice depends on how much time we have for sending the ACK signal.

If S/W is too slow, we have no choice – H/W must be used.

If S/W can meet the timing spec., we could use S/W.

S/W solution needs Real Time guarantee.

25

Hardware Design• Since a micro-controller in an embedded

system will run just one program all the time, hardware resources must be matched to needs of the application.

• Modern technology has made it possible to put the entire electronics – inclusive of sensors, analog circuits, digital circuits, DSP etc. on a single chip. (System On a Chip or SoC).

26

Hardware Design Challenges• Compatibility of the entire system• Interface design (linear to digital,

asynchronous to synchronous etc.)• Low power design• Modularity and ability to upgrade the system

in the field.• Time to market

27

Low Power Design

Especially important in 3 cases:

1. Battery operated and mobile systems – e.g. a portable MP3 music player

2. Systems with a limited power source – such as a smart public call booth which derives power from phone lines.

3. High complexity and speed systems – where heat dissipation is a problem

28

Low Power Design Techniques

• Power smart blocks which go to a low power or off mode when not in use.

• Reduced voltage swing on loaded buses.

• Coding schemes which minimize the number of transitions on signal lines.

• Reduced activity (toggling) .

• Reduced capacitances.

• Superior device engineering.

29

Software Design

• Software must provide the algorithms etc. needed for implementing the applications.

• These algorithms often have an impact on the choice of hardware as well. For example, whether a DSP processor should be used or not.

• Most embedded system software needs to be real time software.

30

Generic Requirements

• Software must be– Modular– Should be reusable, adaptable – Well documented

• In embedded systems, hardware and software design must go hand in hand

31

Considerations inSoftware Development

• Choice of assembly language versus high level languages

Most systems use high level languages these days.

However, embedded system software needs to be much more “hardware aware” than generic software.

It is not uncommon to find assembly language inserts in high level language software.

32

Real Time Systems• Real time systems have to guarantee that

they will respond to an external event within a specified amount of time.

• Real Time systems don’t have to be “real fast”. They do have to be reliably “on time”.

33

Really Real Time

Cycling the rocket cone to the launching pad!

Venue: TERLS

Trivandrum

Year: 1966

34

Type of Real Time Systems

Based on the type of timing guarantee they provide, real time systems are classified as

“soft real time”

or

“hard real time”.

35

Soft Real Time Systems

• Soft real time systems provide a time guarantee, but missing an event is not catastrophic.

• For example, image decoding used during satellite TV reception must be completed within a “frame time”.

• If this guarantee is missed, there will be a visible glitch.

• Annoying – but not catastrophic!

36

Hard Real Time Systems

• Hard real time systems are used when missing a timing deadline will lead to catastrophic results.

• For example, a missile guidance system should not miss any events!

37

So why use soft real time systems at all?

• Both soft and hard real time systems provide a real time guarantee. But if we can afford to miss a few events, this guaranteed response time can be much shorter.

• Soft real time systems would be used in non-critical applications which need to be very fast.

38

Hard and SoftReal Time Systems

The time guarantee provided by soft real time systems is statistical in nature – whereas that provided by hard real time systems is absolute.

Design of soft real time systems optimizes average case response – whereas hard real time systems must be designed for worst case situations.

39

Is real time software any different?

• Interrupt handling has to be specially careful.

• Since interrupt handling and task scheduling is done at the operating system level, special real time compliant operating systems should be used.

40

Constraints in Embedded Applications

(1) Functionality: with-in available System Memory and Processor Speed

(2) Complex Algorithms: As in an Automobile Engine - Performs complex filtering functions to optimize performance of the car while minimizing pollution & Fuel utilization.

(3) User Interface: Multiple GUI Menus / Options, Moving Maps in Global Positioning System, Navigation needs sophisticated User Interface

User inputs from front panel / Remote LAN port

41

Constraints in Embedded Applications

(4) Meet hard deadlines: Missing deadlines in Real time

(i) Could break a system (if data is not ready)

(ii) Could cause unsafe operation, endanger lives

(iii) Results in unhappy customers: Missed deadline in Printer printing a Scrambled Page

42

Constraints in Embedded Applications

(5) Multi-Rate: Several activities having slow and high rates being processed simultaneously.

Example: Audio and Video portions of a multimedia stream run at different rates. But, they must remain closely synchronized with-in 160 mS

Failure to meet deadline on either the audio or video portion spoils the perception of entire presentation.

43

Constraints in Embedded Applications

(6) Manufacturing Cost: Total cost of building system is important.Cost is determined by the type of processor, memory size and peripherals devices.

(7) Limited Power consumption: Large Power increases thermal rise, cost and size of product.

If Battery powered, may affect battery life.

44

Software Components

• Device drivers• Schedulers• Real time routines• Non real time routines• Inter process communications– Pipes– Semaphores etc

• Watchdog timers

45

Inter-Process Communications

• Signals

• Pipes and FIFO’s

• Message Queues

• Semaphores

• Shared Memory