+ All Categories
Home > Documents > Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware /...

Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware /...

Date post: 28-Dec-2015
Category:
Upload: barrie-gregory
View: 366 times
Download: 16 times
Share this document with a friend
Popular Tags:
44
Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software design – Integration – Product testing – Selection Processes – Microprocessor Vs Micro Controller – Performance tools – Bench marking – RTOS Micro Controller – Performance tools – Bench marking – RTOS availability – Tool chain availability – Other issues in selection processes.
Transcript
Page 1: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Design of Embedded Systems

UNIT I EMBEDDED DESIGN LIFE CYCLE

Product specification – Hardware / Software partitioning – Detailed hardware and software design – Integration – Product testing – Selection Processes – Microprocessor Vs Micro Controller – Performance tools – Bench marking – RTOS Micro Controller – Performance tools – Bench marking – RTOS availability – Tool chain availability – Other issues in

selection processes.

Page 2: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

A “short” list of Embedded Systems Auto focus cameras

ATMs Avionic systems Automatic transmission Battery Chargers Camcorders Cell phones Cordless Phones Digital Cameras DVD players Electronic Toys/Games Fax machines Medical Equipment Microwave ovens Modems

Network cards Pagers PDAs Photocopiers Portable Video games Pont of Sales terminals Printers Scanners Satellite phones Teleconferencing systems Televisions Set-top boxes VCR’s Video phones Washers and dryers

and many more ….

Page 3: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Multiprocessor 8-bit/32-bit for UI; DSP for signals 32-bit in IR port; 32-bit in Bluetooth

8-100 MB of memory All custom chips

Mobile Phones and Base Stations

Embedded systems from real life

Massive signal processing Several processing tasks per connected

call Based on DSPs

Standard or custom 100s of processors

Massive signal processing Several processing tasks per connected

call Based on DSPs

Standard or custom 100s of processors

Page 4: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

User interface Embroidery patterns Touch-screen control

”Smart” Sets pressure of foot depending on task Raise foot when stopped

New functions added by upgrading the software

Sewing Machine

Embedded systems from real life

Page 5: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Multiple networks Body, engine,

telematics, media, safety

Multiple processors Up to 100 Networked

together

Cars

Functions by embedded processing: ABS: Anti-lock braking

systems ESP: Electronic stability

control Airbags Efficient automatic

gearboxes Theft prevention with smart

keys Blind-angle alert systems ... etc ...

Functions by embedded processing: ABS: Anti-lock braking

systems ESP: Electronic stability

control Airbags Efficient automatic

gearboxes Theft prevention with smart

keys Blind-angle alert systems ... etc ...

Large diversity in processor types: 8-bit – door locks, lights, etc. 16-bit – most functions 32-bit – engine control,

airbags

Large diversity in processor types: 8-bit – door locks, lights, etc. 16-bit – most functions 32-bit – engine control,

airbags

Embedded systems from real life

Page 6: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Embedded systems from real lifeSmart Beer Glass

8-bit, 8-pin 8-bit, 8-pin PIC processorPIC processor

Capacitive Capacitive sensor for fluid sensor for fluid

levellevel

Inductive coil for Inductive coil for RF ID activation & RF ID activation &

powerpower

CPU and reading coil in the table. Reports the level of fluid in the glass, alerts servers when close to empty

Contact less Contact less transmission transmission of power and of power and

readingsreadings

Page 7: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Functions requiring computers: Radar Weapons Damage control Navigation basically everything

Computers: Large servers 1000s of processors

Extremely Large

Embedded systems from real life

Page 8: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Custom processors Graphics, sound

32-bit processors IR, Bluetooth Network, WLAN Harddisk RAID controllers

8-bit processors USB Keyboard, mouse

Inside Your PC

Embedded systems from real life

Page 9: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Characteristics of Embedded Systems (1)

Must be dependable,• Reliability R(t) = probability of system working correctly

provided that is was working at t=0• Maintainability M(d) = probability of system working

correctly d time units after error occurred.• Availability A(t): probability of system working at time t• Safety: no harm to be caused• Security: confidential and authentic communication

Even perfectly designed systems can fail if the assumptions about the workload and possible errors turn out to be wrong.Making the system dependable must not be an after-thought, it must be considered from the very beginning

Must be dependable,• Reliability R(t) = probability of system working correctly

provided that is was working at t=0• Maintainability M(d) = probability of system working

correctly d time units after error occurred.• Availability A(t): probability of system working at time t• Safety: no harm to be caused• Security: confidential and authentic communication

Even perfectly designed systems can fail if the assumptions about the workload and possible errors turn out to be wrong.Making the system dependable must not be an after-thought, it must be considered from the very beginning

Page 10: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Characteristics of Embedded Systems (2) Must be efficient Energy efficient Code-size efficient

(especially for systems on a chip) Run-time efficient Weight efficient Cost efficient

Dedicated towards a certain applicationKnowledge about behavior at design time can be used to minimize resources and to maximize robustness

Dedicated user interface(no mouse, keyboard and screen)

Hybrid systems (analog + digital parts).

Page 11: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Characteristics of Embedded Systems (3) Many ES must meet real-time constraints

A real-time system must react to stimuli from the controlled object (or the operator) within the time interval dictated by the environment.

For real-time systems, right answers arriving too late are wrong.

„A real-time constraint is called hard, if not meeting that constraint could result in a catastrophe“ [Kopetz, 1997].

All other time-constraints are called soft. A guaranteed system response has to be explained without

statistical arguments Frequently connected to physical environment

through sensors and actuators,

Page 12: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Characteristics of Embedded Systems (4) Typically, ES are reactive systems:

„A reactive system is one which is in continual

interaction with is environment and executes at a pace

determined by that environment“ [Bergé, 1995]

Behavior depends on input and current state.

automata model appropriate,

model of computable functions inappropriate.

Not every ES has all of the above characteristics.

Def.: Information processing systems having most of the above characteristics are called embedded systems.

Not every ES has all of the above characteristics.

Def.: Information processing systems having most of the above characteristics are called embedded systems.

Page 13: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Why Embedded Systems Are Why Embedded Systems Are DifferentDifferent??

Embedded systems are dedicated to specific tasks, whereas PCs are generic computing platforms.

Embedded systems are supported by a wide array of processors and processor architectures.

Embedded systems are usually cost sensitive. Embedded systems have real-time constraints.

Page 14: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Why Embedded Systems Why Embedded Systems Are DifferentAre Different?? If an embedded system is using an operating

system at all, it is most likely using a real-time operating system (RTOS), rather than Windows 9X, Windows NT, Windows 2000, Unix, Solaris, or HP- UX.

The implications of software failure are much more severe in embedded systems than in desktop systems.

Embedded systems often have power constraints.

Embedded systems often must operate under extreme environmental conditions.

Page 15: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Why Embedded Systems Why Embedded Systems Are DifferentAre Different??

Embedded systems have far fewer system resources than desktop systems.

Embedded systems often store all their object code in ROM.

Embedded systems require specialized tools and methods to be efficiently designed.

Embedded microprocessors often have dedicated debugging circuitry.

Page 16: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

An embedded system example -- a digital camera

Microcontroller

CCD preprocessor Pixel coprocessorA2D

D2A

JPEG codec

DMA controller

Memory controller ISA bus interface UART LCD ctrl

Display ctrl

Multiplier/Accum

Digital camera chip

lens

CCD

Single-functioned -- always a digital camera Tightly-constrained -- Low cost, low power, small, fast Reactive and real-time -- only to a small extent

Page 17: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

CPU

mem

input

output analog

analog

embedded computer

Embedded System – A simplified view

Page 18: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Computer (programmable part) is surrounded by other sub-systems, sensors and actuators.

The computer is called the micro-controller.

Its main functions are to monitor the physical parameters of the surrounding systems and to control these processes whenever needed. In some cases the CPU is a DSP.

Page 19: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Typical Embedded System

Source : Embedded System Design Issues, Philip J. Koopman, ICCD96

Page 20: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

The Embedded Design Life Cycle

Pha

se 1

: P

rodu

ct S

peci

ficat

ion

Pha

se 2

: H

W /

SW

Par

titio

ning

Pha

se 6

: A

ccep

tanc

e te

stin

g

Pha

se 7

: M

aint

enan

ce a

nd U

pgra

de

Software Design

Hardware Design

Pha

se 5

: H

W /

SW

Int

egra

tion

Pha

se 3

: I

tera

tion

Phase 4 : Detailed

HW / SW Design

Product ReleaseSource : Embedded Systems Design,

Arnold S. Berger

System Specification

and Design37%

HW & SW Development / Debug

51% 12%

System Test

Cost to fix bugs

Page 21: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Tool-based view of the development cycle

Page 22: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Product Specification

A common factor for the successful products was that the design team (senior management, marketing, sales, quality assurance, and Engineering) shared a common vision of the product they were designing

In-circuit emulators

Page 23: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Hardware/Software Partitioning Partitioning decision- to decide which portion of the problem will be solved in hardware and which in software

It is possible to implement that algorithm purely in software (the CPU without the FPU example), purely in hardware (the dedicated modem chip example), or in some combination of the two (the video card example).

Page 24: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Laser Printer Design Algorithm

Data enters the printer and must be transformed into a legible ensemble of carbon dots fused to a piece of paper

Concurrently, the processor services the data port and converts the incoming data stream into a stream of modulation and control signals to a laser tube, rotating mirror, rotating drum, and assorted paper-management “stuff.”

Page 25: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Iteration and Implementation This phase represents the early design work

before the hardware and software teams build “the wall” between them

The hardware designers might be using simulation tools, such as architectural simulators, to model the performance of the processor and memory systems.

The software designers are probably running code benchmarks on self-contained, single-board computers that use the target micro processor.

Page 26: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Hardware/Software Integration Big Endian/Little Endian Problem

Page 27: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Debugging an embedded or real-timesystem Run control — The ability to start, stop, peak,

and poke the processor and memory. Memory substitution — Replacing ROM-

based memory with RAM for rapid and easy code download, debug, and repair cycles.

Real-time analysis — Following code flow in real time with real-time trace analysis.

Page 28: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Product Testing and Release Testing is more than making sure the

software doesn’t crash at a critical moment

Page 29: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Maintaining and Upgrading Existing Products The majority of embedded system designers

(around 60 percent) maintain and upgrade existing products, rather than design new products.

Page 30: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

The Selection Process

Page 31: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

The Selection Process

Is it available in a suitable implementation? Is it capable of sufficient performance? Is it supported by a suitable operating

system? Is it supported by appropriate and adequate

tools?

Page 32: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Packaging the SiliconMicroprocessor versus Microcontroller Most embedded systems use microcontrollers instead of microprocessors

Page 33: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Microprocessor versus Microcontroller In a microprocessor-based system, the CPU and the various I/O

functions are packaged as separate ICs

In a microcontroller-based system many, if not all, of the I/O functions are integrated into the same package with the CPU

The advantages of the microcontroller’s higher level of integration are easy to see: Lower cost — One part replaces many parts. More reliable — Fewer packages, fewer interconnects. Better performance — System components are optimized for

their environment. Faster — Signals can stay on the chip. Lower RF signature — Fast signals don’t radiate from a large

PC board

Page 34: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Adequate PerformancePerformance-Measuring Tools The Dhrystone benchmark is a simple C program that compiles to

about 2,000 lines of assembly code and is independent of operating system services

Page 35: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Meaningful Benchmarking

Real benchmarking involves carefully balancing system requirements and variables

it’s important to analyze the real-time behavior of the processor

Real-time performance can be generally categorized into two buckets: interrupt handling and task switching.

Page 36: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

EEMBC The EEMBC benchmark consists of industry-specific tests

Page 37: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

EEMBC EEMBC technical committee represent real-

world algorithms against which the processor can be measured

produces statistics on the number of times per second the algorithm executes and the size of the compiled code

Page 38: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

RTOS Availability

Page 39: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

RTOS Availability

Page 40: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Tool Chain Availability When evaluating the tool chain, integrated

coverage of these three broad categories: Compiler tools Hardware and software debugging tools Performance measuring tools

Page 41: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Compilers

In-line assembly Interrupt function Assembly language list file generation Standard libraries Startup code RTOS support Tools integration Optimizations Support for Embedded C++ (EC++)

Page 42: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Hardware and Software Debugging Tools An ICE An interface to on-chip hardware debugging

resources A ROM emulator A logic analyzer A performance analyzer

Page 43: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Other Issues in the Selection Process A prior commitment to a processor family A prior restriction on language Time-to-market factors

Page 44: Design of Embedded Systems UNIT I EMBEDDED DESIGN LIFE CYCLE Product specification – Hardware / Software partitioning – Detailed hardware and software.

Summary

Definition of Embedded Systems Real Life Examples ES Product Life Cycle in Design Hardware / Software partitioning Product testing Selection Processes – Microprocessor Vs Micro

Controller Performance tools – Bench marking RTOS Micro Controller Other issues in selection processes.


Recommended