Sie sind auf Seite 1von 36

Embedded Systems Hardware and Software Issues

Dept of Electronics and Telecommunication Engineering Jadavpur University, Kolkata 700 032

and
International Institute of Information Technology Kolkata 700 091

Introduction
D. Mukhopadhyay
What are embedded systems? How are embedded systems designed? (Hardware and Software) Critical Design challenges Tools of the trade Future directions

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.
3

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.

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
5

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 Customer confusion

Embedded Systems and their Markets


Market
Automotive

Embedded Device
Ignition System, Engine Control, Brake System

Consumer Electronics
Industrial Controls Medical Networking

Digital and Analog Televisions, Set-Top Boxes, Kitchen Appliances, Toys/Games, Telephones/Cell Phones/Pagers, Cameras, GPS
Robotics and Manufacturing Controls Infusion Pumps, Dialysis Machines, Prosthetic Devices, Cardiac Monitors Routers, Hubs, Gateways

Office Automation

Fax Machine, Photocopier, Printers, Monitors, Scanners

Design of Embedded Systems


Task partitioning between hardware and software Hardware design and integration Software development System integration Test strategies

Hardware-Software Partitioning
Some tasks could be performed using hardware 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.


9

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 10

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
11

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 etc. on a single chip. (System On a Chip or SoC).
12

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

13

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
14

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
15

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.

16

Generic Requirements
Software must be
Modular Each module should have local effects Should be reusable, adaptable Self documenting

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

17

Considerations in Software 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.

18

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 dont have to be real fast. They do have to be reliably on time.

19

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.

20

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!
21

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!

22

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.

23

Hard and Soft Real 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.

24

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.

25

Software Components
Device drivers Schedulers Real time routines Non real time routines Inter process communications
Pipes Semaphores etc

Watchdog timers
26

Inter-Process Communications
Signals Pipes and FIFOs Message Queues Semaphores Shared Memory

27

Future Directions
Many more embedded systems will be full systems on a single chip. This implies that the software and hardware designs will merge. As systems on chip become more complex, software distributed over multiple processors and running over different memory spaces will become common

28

Future Directions.
Embedded systems will be developed in unusual applications. For example: stress detectors built into walls, powered and accessed by RF beams. Existing applications will become far more sophisticated with standardized user interfaces such as web interfaces with XML.

29

Future Directions for Developers


More and more multi-disciplinary expertise will be required. For example biologychemistry-electronics and VLSI for biosensors.
Fields of micro-processors, VLSI, communications and information technology will merge for developing embedded systems.
30

Discussion
What are the most challenging aspects of these applications (and how does a company make money) ? Interaction mechanisms: sensors, actuators, wireless networks Reliability and survivability Infrastructure Services Legislation *****
31

Wireless Embedded System Networks

32

Embedded System: A Connected Effort


Control environmental parameters: Temp, Humidity etc. Minimize power consumption Cheap and small Limited operation range of network: Maximum 50 to 100 m Low data rate per node: 1 10 bits/node (average) Low mobility (at least 90% of nodes stationary)

Key Challenges

33

We Need Foundational Research


The science of computation has systematically abstracted away the physical world. The science of physical systems has systematically ignored computational limitations. Embedded software systems, however, engage the physical world in a computational manner. It is time to construct a Hybrid Systems Science that is simultaneously computational and physical. Time, concurrency, robustness, continuums, and resource management must be remarried to computation.
34

In Hardware
Low Power Higher speed Smaller size Increased functionality Increased productivity Reproducibility (especially in sensors and actuators) Networking and networked embedded systems

35

But More So In Software


To create a modern computational systems science and systems design practice with Concurrency Composability Time Hierarchy Heterogeneity Resource constraints Portability Verifiability Understandability
36

Das könnte Ihnen auch gefallen