+ All Categories
Home > Documents > 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers -...

10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers -...

Date post: 01-Jan-2016
Category:
Upload: shawn-turner
View: 229 times
Download: 0 times
Share this document with a friend
Popular Tags:
70
Transcript
Page 1: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -
Page 2: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 2

EMBEDDED SYSTEMS

 

UNIT – I

Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications - challenges in embedded computing system design process - formalisms for system design -

Page 3: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 3

References

Wayne Wolf, “Computers as components - Principles of embedded computing system design”

- Morgan Kaufman , 2001.

Page 4: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 4

Computing Systems

• Most of us think of desktop computers– PC– Laptop – Mainframe– Server

• Maybe at most handheld computer (PDA)• Now we will look at another type of computing

system which is far more common that you ever imagined

Page 5: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 5

Embedded System: What ?

• Computing system embedded within electronic devices• Any device or collection of devices that contain one of

more dedicated computers, microprocessors, or micro-controllers

• Combination of computer hardware and software designed to perform a specific function

• Broad definition: Any computing system that is not a desktop computer

Page 6: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 6

Embedded systems!

Page 7: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 7

What is an Embedded System ? Definitions:

• An Electronic system which includes a microcontroller that is configured to perform a specific dedicated application

• A device that includes a programmable computer but is not itself a general-purpose computer

• A device to control, monitor or assist the operation of equipment, machinery, etc

• One which employs both H/W and S/W to perform the required function

• One which is a part of a larger system that may not be a computer

• One which works in a reactive and time-constrained environment

Page 8: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 8

Embedded System• Embedded can mean:

– Instructions (code or logic) are permanently loaded into the processor

– Dedicated purpose (not general purpose)

– The components of the system are internal to the device that contains them, and not necessarily visible, even to experts

• System can mean:– A set of one or more

microelectronic devices with some, or all, of the capacities of a computer

– A processor (such as a mainframe computer, minicomputer or PC) dedicated to one purpose, such as controlling a plant’s operations

Page 9: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 9

Embedded Systems Vs. Information Technology

• Information Technology

– Counts the money

– Programmers’ domain

– Visible: most workers use some software

– 1000’s of solution providers

– Can export code to provider

– 100’s of tools available

– Low assessment risks: old code usable during repairs

– Scalable: “identical” code can be fixed in a common way

– Testing can be offline without disrupting production

• Embedded Systems

– Makes the money

– Engineers’ domain

– Invisible: Heat, light, phone, power are “just there”

– > 100 Y2K solution providers

– No “offshore” solutions

– Few tools available

– Fragile: high assessment risks“you touch it - you break it”

– Not scalable: “identical” (chips have the same specifications) embedded systems require separate assessment / fix

– Testing causes interruptionsin production

Page 10: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 10

Embedded system Architecture

• Set of elements and the relationships between them

• Blueprint for implementing system: what components, how we put them together

• Both Hardware and Software elements

Page 11: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 11

Hardware• CPU

– Microprocessors: diff architectures, within architecture: clk speeds, data width , integrated peripherals vary

– consider s/w that executes on the machine

• Bus– Integral part, closely tied to CPU

– consider data bandwidth that the bus can handle traffic

• Memory– Characteristics of memory

– Total size: instructions and data

– Ratio of ROM to RAM, Selection of DRAM vs SRAM, speed

• Input and output devices– Diff devices of varying sophistication and cost

– Amount of glue logic req. to interface it

Page 12: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 12

Software• Partitioning

– easy to implement, test and modify• Functionality

– Diff Prog. Style, diff procedures in the code– boundaries correspond to perf. Reqts

• Deadline– Finish executing within a given a deadline– Identify the codes for it and measure perf. of that code

• Choice– simple inexpensive device that requires more s/w support / more sophisticated

device that can perform more functions automatically– Most functionality will be in s/w, careful consideration of h/w will simplify

s/w easier to meet perf reqts

Page 13: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 13

• Microprocessors (µP)– The “engine” that processes instructions– These instructions are stored in Read Only Memory

(ROM)– No real time capability.

• Buses (data, address, Input/Output)

• System clock - steps µP through each instruction

Components in Embedded systems

Page 14: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 14

• Read Only Memory (ROM): Permanently loaded with instructions (firmware):– Basic Input Output System (BIOS) - primitive operating system

that allows chips to interface with each other. Also known as microkernel.

– Application code (provides functionality)

• Random Access Memory (RAM)– stores data in processing (e.g. temperature readings)

– shares data with external partners (e.g. sensors)

Page 15: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 15

• Real Time Clock (RTC)– internal or external battery back-up power supply– internal or external quartz oscillator, 32.768 kHz– required for keeping long times (maintenance) and for

operation with Real Time Operating Systems (RTOS) which control the coordinated operation of multiple systems

• Communications Circuitry– Ethernet port, Printer port– Communications port (RS232C, RS422, IEEE488)

Page 16: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 16

Embedding a computer

CPU

mem

input

output analog

analog

embeddedcomputer

Page 17: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 17

An Embedded Control System Designer’s View

Page 18: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 18

BMW 850i brake and stability control system

• Anti-lock brake system (ABS): pumps brakes to reduce skidding.

• Automatic stability control (ASC+T): controls engine to improve stability.

• ABS and ASC+T communicate.– ABS was introduced first---needed to interface

to existing ABS module.

Page 19: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 19

BMW 850i, cont’d.

brake

sensor

brake

sensor

brake

sensor

brake

sensor

ABShydraulic

pump

Page 20: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

Classification of E.S

• Small Scale Embedded Systems– single 8- or 16-bit microcontroller– little hardware and software complexities, board-level design, battery operated– Programming tools: editor, assembler and cross assembler– ‘C’ compilation, executable codes located in the system memory– Software fit within the memory available– need to limit power dissipation when system is running continuously

• Medium Scale Embedded Systems– single or few 16 or 32-bit microcontrollers or DSPs or RISCs– hardware and software complexities.

• Software tools – RTOS, Source code engineering tool, Simulator, Debugger and Integrated

Development Environment (IDE)– provide solutions to hardware complexities– ASSPs : configured for various functions - bus interfacing, encrypting,

deciphering, discrete cosine transformation and inverse transformation, TCP/IP protocol stacking and network connecting functions

04/20/23 20

Page 21: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

• Sophisticated Embedded Systems– Enormous hardware and software complexities

– Need scalable processors or configurable processors and programmable logic arrays

– Used for cutting edge applications: need H/W and S/W co-design and integration

– Constrained by the processing speeds of hardware

– Certain software functions: encryption and deciphering algorithms, DCT and inverse transformation algorithms, TCP/IP protocol stacking and network driver functions implemented in hardware to obtain additional speeds by saving time

– Some of the functions of the hardware resources: implemented by the software

– Development tools: not readily available at a reasonable cost or may not be available at all (compiler or retargetable compiler(configures according to the given target configuration) need be developed)

04/20/23 21

Page 22: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

• Safety critical application

• Safety related application

• Non-safety application

04/20/23 22

Page 23: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 23

Embedded systems characteristics: User’s viewpoint

• Single function– Dedicated to a task or tasks

• Tight constraints– Size, power, cost, time-to-market

• Real time and reactive– Respond to environment in real time

• Safety critical– Failure of hw/sw can be life threatening

Page 24: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 24

Embedded system’s characteristics:Developer’s viewpoint

• Concurrent development of hardware and software: hardware/software codesign

• Variety of microprocessors• Variety of operating systems mostly real time

(RTOS)– May not even have any OS services like ‘printf’

• Fewer system resources than desktop system• Requires specialized development tools• Debugging extremely difficult• Hardware and software should be extremely robust

Page 25: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 25

Programming Embedded Systems

• Embedded systems are usually programmed in high level language that is compiled (and/or assembled) into an executable (“machine”) code.

• These are loaded into Read Only Memory (ROM) and called “firmware”, “microcode” or a “microkernel”.

• ROM can come in several forms: PROM, EPROM, EEPROM (flash ROM)

Page 26: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 26

Characteristics of embedded systems

• Embedded computing is more demanding than pgms for PCs or workstations

• Functionality is same but embedded applications must meet many other constraints as well

Page 27: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 27

Characteristics of embedded systems cont’d…

• Sophisticated functionality.

• Real-time operation.

• Low manufacturing cost.

• Low power.

• Designed to tight deadlines by small teams.

Page 28: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 28

Functional complexity• Complex Algorithms: Often have to run sophisticated

algorithms or multiple algorithms.– Operations performed by Microprocessors are very sophisticated– e.g: Microprocessors which controls an automobile engine must perform

complicated functions to optimize the performance of the car while minimizing pollution and fuel utilization

• User Interface: Often provide sophisticated user interfaces.– Microprocessors are used to control complex user interfaces: (multiple menus

and many options)– e.g: Moving maps in GPS navigation

Page 29: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 29

Deadlines• Real-time operation: Must finish operations by

deadlines.– Many Embedded computing systems have to perform in real time– e.g: if data is not ready by a certain deadline, the system breaks. sometimes, it does

not create safety problems but unhappy customers ( missed deadlines in printers: scrambled pages

– Hard real time: missing deadline causes failure.– Soft real time: missing deadline results in degraded performance.

• Multi-rate: must handle operations at widely varying rates.– several real-time activities go at the same time– simultaneously control some operations that run at slow rates and others that run at

high rates– e.g: Multimedia applications are prime examples of multirate behaviour. Audio

and Video portions run at very different rates , but they must remain closely synchronised. Failure to meet a deadline on either audio or video portions spoils the perception of the entire presentation

Page 30: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 30

Non-functional requirements

• Many embedded systems are mass-market items that must have low manufacturing costs.– Total cost of building the system is very important.

– Determined by many factors: Type of microprocessor used, amt of memory required and types of I/O device Limited memory, microprocessor power, etc.

• Power consumption is critical in battery-powered devices.– Excessive power consumption increases system cost even in wall-powered

devices.

– Power consumption affects the cost of hardware, battery-life and also heat dissipation

Page 31: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 31

Why use microprocessors?• Alternatives: field-programmable gate arrays

(FPGAs), custom logic, etc.1. Microprocessors are often very efficient: can use same logic

to perform many different functions.2. Microprocessors simplify the design of families of products

to provide various feature sets at different price points.3. Microprocessors can use VLSI technology for increase in

performance4. Programmability of Microprocessors benefit the design

process: H/Wand S/W design – separate5. Change code without changing H/W /- Manuf. cost6. Change H/W without changing S/W - Develo. Time &

cost

Page 32: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 32

Microprocessor varieties

• ARM (Advanced RISC Machine) processors

• SHARC (Super Harvard ARChitecture) processors

Page 33: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 33

Challenges in embedded system design

• How much hardware do we need?

– We have control over computing power– We can select the type of CPU, Peripheral devices, amt of memory– We have to meet perf. as well as manuf. cost constraints

• How do we meet our deadlines?

– Faster hardware ( cost ) or cleverer software?– CPU clock rate may not make difference to exec time as pgm’s speed

is limited by memory

Page 34: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 34

• How do we minimize power?

– Turn off unnecessary logic? Reduce memory accesses?– Power consumption may also increase heat dissipation– To consume less power, slow down noncritical parts of the machine while

still meeting perf. Goals

• How do we design for upgradeability?

– How can we design a machine with/ without changes in h/w or s/w?

• Does it really work?(Reliability)

– Product must meet customer’s specification

– Depends on bug fixation and also on characteristics of the components and system

Page 35: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 35

Why is the design of Embedded computing machine more difficult?

• Complex testing:

– Proper data – Timing of data– Test it in the machine in which it is embedded

• Limited observability and Controllability:

– Difficult to see what is going on and what affects the operation as usually ES have no K.Bs and Screens

– In real-time applns we can’t stop the system to see what is going inside

Page 36: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 36

• Restricted development environments:

– Development environments are much more limited than in PCs or workstations

– Compile code on one type of machine (PC) and download it to ES

– To debug the code we rely on PC or workstation

Page 37: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 37

Application Areas

Factory Automation

MedicalEquipment

ConsumerElectronics

ComputerEquipment

OfficeAutomation

Metering

Telematics

MobileWireless

Technology Areas

EmbeddedReal-TimeProgram

EmbeddedLinux +RTOS

Network +Protocol

MachineIntelligence

DSPDigital +AnalogCircuit

HumanComputerInteraction

ControlSystems

Key Industries

TelecomIC

PackagingAutomotiveHard-Disk

EnergyEntertain-

ment Agriculture Tourism

Initial Networking Target Industries

Additional Networking Target Industries

Embedded Systems Profiles

Page 38: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 38

Applications of embedded systems

• Consumer

– Washing Machine Controls water and spin cycles

– Exercise equipment Measures speed, distance, calories, heart rate, logs and workouts– Remote controls Accepts key touches and sends infrared pulses to base system– Clocks and watches Maintains the time, alarm and display

– Games and toys Entertains the user, joystick input , video output– Audio/Video Interacts with the operator and enhances performances

Page 39: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 39

• Communication

– Telephone answering Plays outgoing message, saves and organises messages

Machine – Telephone system Interactive switching and information retrieval

– Cellular phones and Key pad inputs, sound I/O and

pagers communicates with central station

– ATM machines Provides both security and banking convenience

Page 40: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 40

• Automotive

– Automatic Braking Optimises stopping on slippery surfaces

– Noise cancellation Improves sound quality removing

background noise

– Theft deterrent devices Keyless entry , alarm system

– Electronic ignition Controls sparks and fuel injectors

– Power windows and seats Remembers preferred settings for each driver

– Instrumentation Collects and provides the driver with

necessary information

Page 41: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 41

• Military

– Smart weapons Recognises friendly targets– Missile guidance Directs ordinance at the desired target systems

– Global positioning systems Determines where you are in the planet

• Industrial

– Thermostats Adjusts day/ night thresholds, thus saving energy– Traffic control systems Senses car positions and control traffic lights

– Robot systems Inputs from sensors, controls the motors

– Bar code readers & writers Input from readers , outputs to writers and writers for inventory control and shipping– Automatic sprinklers used in farming to control the wetness of soil

Page 42: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 42

• Medical

– Apnea monitors Detects breathing and alarms if baby stops breathing – Cardiac monitors Measures heart functions

– Renal monitors Measures kidney functions

– Drug delivery Administers proper doses

– Cancer treatments Controls doses of radiation, drugs or heat

– Pacemakers Helps heart beat regularly

– Prosthetic devices Increases mobility for the handicapped

– Dialysis machine Performs functions normally done by kidney

Page 43: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 43

Examples..still more

Office systems and mobile equipment

Building systems Manufacturing and Process Control

Answering machines Copiers Faxes Laptops and notebooks Mobile Telephones PDAs, Personal organisers Still and video cameras Telephone systems Time recording systems PrinterMicrowave

Air conditioning Backup lighting and generators Building management systems CTV systems Fire Control systems Heating and ventilating systems Lifts, elevators, escalators Lighting systems Security systems Security cameras Sprinkler systems

Automated factories Bottling plants Energy control systems Manufacturing plants Nuclear power stations Oil refineries and related storage facilities Power grid systems Power stations Robots Switching systems Water and sewage systems

Page 44: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 44

ExamplesTransport Communications Other equipment

AeroplanesTrains Buses Marine craft Jetties Automobiles Air Traffic Control Signalling Systems Radar Systems Traffic Lights Ticketing machines Speed cameras, Radar speed detectors

Telephone systems Cable systems Telephone switches Satellites Global Positioning System

Automated teller systems Credit card systems Medical Imaging equipment Domestic Central Heating control VCRs

Page 45: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 45

Design goals

• Performance.– Overall speed, deadlines.

• Functionality and user interface.

• Manufacturing cost.

• Power consumption.

• Other requirements (physical size, etc.)

Page 46: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 46

Levels of abstraction

REQUIREMENTS

SPECIFICATION

ARCHITECTURE

COMPONENTDESIGN

SYSTEMINTEGRATION

Page 47: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 47

Top-down vs. bottom-up

• Top-down design:– start from most abstract description;– work to most detailed.

• Bottom-up design:– work from small components to big system.

• Real design uses both techniques.

Page 48: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 48

• When we do not have perfect insight into how later stages of the design process will turn out

• When we have less experience in the design of systems

When is Bottom-up design advantageous?

Page 49: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 49

Stepwise refinement

• At each level of abstraction, we must:– analyze the design to determine characteristics of

the current state of the design;– refine the design to add detail.– Verify design to ensure that it meets all system

goals

Page 50: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 50

Requirements

• Plain language description of what the user wants and expects to get.

• May be developed in several ways:– talking directly to customers;

– talking to marketing representatives;

– providing prototypes to users for comment.

• Gather an informal description from customers and refine it into a specification for designing system architecture

Page 51: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 51

Functional vs. non-functional requirements

• Functional requirements:– output as a function of input.

• Non-functional requirements:– Performance: soft perf. Metrics (appr. Time to perform

+/ hard deadlines

– size, weight, etc.;

– power consumption;

– reliability;

– etc.

Page 52: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 52

Requirements form

name purpose inputs outputs functions performance manufacturing cost power physical size/weight

Simple, simplifies talking about it, crystallize purpose of machine

Brief description, if not it means not understood well

More complex, Types of data, types of I/O, Characteristics

Detailed description, work from input to output

Controlling devices & processing data, identified for proper operation

Cost of H/w components, know cost range, influence on architecture

Power consumed, battery or plugged, spend energy

Guide architectural decisions, flexibility in components used

Page 53: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 53

Example: GPS moving map requirements

• Moving map obtains position from GPS, paints map from local database.

lat: 40 13 lon: 32 19

I-78

Sco

tch

Roa

d

Page 54: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 54

GPS moving map needs

• Functionality: For automotive use. Not for nautical or aviation use. Show major roads and landmarks in std topographic databases.

• User interface: At least 400 x 600 pixel screen. Three buttons max. Pop-up menu.

• Performance: Map should scroll smoothly. Not more than 1 sec for power-up. Lock onto GPS within 15 seconds.

• Cost: Selling price should not be high.

Page 55: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 55

• Physical size/weight: Should fit in hand.

• Power consumption: Should run for 8 hours on four AA batteries.

Page 56: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 56

GPS moving map requirements formname GPS moving map

purpose consumer-grade moving map for driving

inputs power button, two control buttons

outputs back-lit LCD 400 X 600

functions 5-receiver GPS; three resolutions; displays current lat/long

performance updates screen within 0.25 sec of movement

manufacturing cost $100

power 100 mW

physical size/weight no more than 2” X 6”, 12 ounces.

Page 57: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 57

Specification

• More precise , contract between customer and architects • Reflect customer’s reqts and also clearly followed in

design• Faulty assumptions: inelegant, kludgy and bug-ridden• Understandable, so that someone can verify that it meets

system reqts and overall expectation of the customer

Page 58: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 58

GPS specification

• Should include:– Data received from GPS;– map data;– user interface;– operations required to satisfy user requests;– background operations needed to keep the

system running.

Page 59: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 59

Architecture design

• Not how system does it but what system does • Describes how the system implements those functions• B.Diagram: major operations and data flows• Hardware components:

– CPUs, peripherals, etc.• Software components:

– major programs and their operations.• Satisfy functional and nonfunctional reqts• Starting out with system architecture and refine it to h/w and s/w

architecture is a good way to ensure that we meet all specifications• Concentrate on functional reqts in system b.diagram and consider

nonfunctional reqts when creating h/w and s/w architectures

Page 60: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 60

GPS moving map block diagram

GPSreceiver

searchengine

renderer

userinterfacedatabase

display

Page 61: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 61

GPS moving map hardware architecture

GPSreceiver

CPU

panel I/O

display framebuffer

memory

Page 62: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 62

GPS moving map software architecture

Timer

RendererDatabase search

User interface

Pixels

Position

Page 63: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 63

Designing H/W and S/W components

• Build components in conformance to the architecture and specification(h/w, s/w)

• Standard h/w: CPU, mem

e.g GPS receiver• Standard s/w modules:

e.g topographic database• Use standard ICs or PCBs and also use custom pgming.• Power consumption: lmportant

Page 64: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 64

System integration

• put components together and see a working system

• Identify Bugs

• Debugging facilities

Page 65: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 65

Why use Reconfigurable Logic?

• Flexibility• Performance• Integration• Time to market• May be upgraded in the field• Cost• Fewer part obsolescence problems• Prototyping• Ever greater ease of use

Page 66: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

04/20/23 66

SW or HW?

Software

• Flexibility– Late design changes

• Features• Reuse

– Reduced time to market

Hardware

• Performance

• Low power

• (Security)

Page 67: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

Processors in the system

• Heart of E.S• A processor has two essential units:• Program Flow Control Unit (CU) and Execution Unit (EU).

– CU: fetch unit for fetching instrns from mem– EU: data tr and data convn

• ALU:Add,Substract,Multiply,Divide,Shift• Ckts: for instructions for a program control task(halt, interrupt, or jump), call or branch to

another pgm & call to a fn

• Cycles of fetch and execute• Exec in seq fetched from mem• Processor: IC chip, ASIC, SoC• E.S procr chip

– Microprocessor, microcontroller, embedded procr, DSP, Media procr– Appln specific system procr (ASSP)– Multiprocessor system using GPPs

04/20/23 67

Page 68: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

System designer considerations1. Processor Instructions in the Instruction set2. Maximum bits in operand (8 or 16 or 32) in a

single arithmetic or logical operation.3. Clock frequency in MHz and processing speed –

1. Million Instructions Per Second (MIPS) or2. Million Floating Point Instructions Per Second

(MFLOPS)

4. Processor ability to solve the complex algorithms used in meeting the deadlines for their processing.

04/20/23 68

Page 69: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

Microprocessor• Single VLSI chip that has a CPU and some other units (caches, floating point

arithmetic unit, pipelining and super-scaling units) and result in faster processing of instructions

• CPU: unit that fetches and processes a set of general-purpose instructions

• CPU instruction set includes instructions for operations of – Data tr, ALU, stack, Input and output (I/O) and program control, sequencing and

supervising

• General purpose instruction set: specific to a specific CPU, contains following functional units..

1. Control unit: fetch and control seq processing, for comm with rest of sys

2. ALU: Arith and logic on bytes or words

• Fetch and exec cycles: guided by clk frq: GHz

• 8085: 8 bit, 8086/8088: 16 bit, 80x86: 32 bits, Pentium series (superscalar archi, powerful ALUs and FLPUs)

04/20/23 69

Page 70: 10/17/20152 EMBEDDED SYSTEMS UNIT – I Introduction to Embedded Computing: Embedding computers - characteristics of embedded computing applications -

µP family Source CISC/RISC

68HCxx Motorola

CISC

80x86I860

Intel CISCCISC with RISC

SPARC Sun RISC

PowerPC 601, 604MPC 620

IBMMotorola

RISC

µPs used in E.S

Used when

when large e.s/s is located in ext mem chips

RISC: speedy processing of intrns, perform intensive computation

•Thumb Instruction set: new industry standard that gives a reduced code density in a RISC processor04/20/23 70


Recommended