Embedded Systems: Introduction

Slides:



Advertisements
Similar presentations
© Alan Burns and Andy Wellings, 2001 Real-Time Systems and Programming Languages n Buy Real-Time Systems: Ada 95, Real-Time Java and Real-Time POSIX by.
Advertisements

Copyright © 2000, Daniel W. Lewis. All Rights Reserved. CHAPTER 1 INTRODUCTION.
Embedded System Lab. What is an embedded systems? An embedded system is a computer system designed for specific control functions within a larger system,
Implementing Fault Tolerant Systems with Windows CE.NET Reliable System Design 2010 by: Amir M. Rahmani.
© 2008 Wayne Wolf Overheads for Computers as Components, 2nd ed. Introduction What are embedded computing systems? Challenges in embedded computing system.
Today’s Lecture What is the embedded system?
ECOE 560 Design Methodologies and Tools for Software/Hardware Systems Spring 2006 Serdar Taşıran.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Chapter 1: Introduction
CS599 Software Engineering for Embedded Systems1 Software Engineering for Real-Time: A Roadmap Presentation by: Mandar Samant Raghbir Singh Banwait.
Embedded Systems Introduction. What is an Embedded System What is an Embedded System? Definition of an embedded computer system: is a digital system.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real-Time Systems and Programming Languages
Embedded Computer Systems Chapter1: Embedded Computing Eng. Husam Y. Alzaq Islamic University of Gaza.
Software Engineering CSE470: Embedded Systems Overview 49 What is an Embedded System What is an Embedded System? Definition of an embedded computer system:
ASPPRATECH.
Dalya Gaber. Definition:- Embedded system is any device that includes a computer but is not itself a general purpose computer. It has hardware & software.
Microcontroller: Introduction
1 ECE 354 Slides modified from Moritz/Koren/Burleson/Kundu, UMass ; Wolf, Computers as Components, Morgan Kaufman, 2005 Embedded Systems.
Engineering 1040: Mechanisms & Electric Circuits Fall 2011 Introduction to Embedded Systems.
Introduction to Embedded Systems. What is an Embedded System? Electronic devices that incorporate a microprocessor or microcontroller within their implementation.
Codesign of Embedded Systems1 Introduction to Embedded Systems Part of HW/SW Codesign of Embedded Systems Course (CE )
1 ECE 354 © Koren/Moritz 2008, some slides modified from Burleson, UMass and Wolf, Computers as Components, Morgan Kaufman, 2005 ECE 354 Lecture 1 The.
Embedded System Design
Introduction to Computers Personal Computing 10. What is a computer? Electronic device Performs instructions in a program Performs four functions –Accepts.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1 3-General Purpose Processors: Altera Nios II 2 Altera Nios II processor A 32-bit soft core processor from Altera Comes in three cores: Fast, Standard,
COMP3221/9221: Microprocessors and Embedded Systems COMP3221: Microprocessors and Embedded Systems Lecture 31: Embedded Systems
Lecture 13 Introduction to Embedded Systems Graduate Computer Architecture Fall 2005 Shih-Hao Hung Dept. of Computer Science and Information Engineering.
Smart Home and Embedded System Design
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 16 System Architecture and Design II.
Technical Seminar Introduction to networking with Linux Administration Amit Kumar Sahoo EC ADVANCED EMBEDDED MICROPROCESSORS AND APPLICATIONS.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
EEL Software development for real-time engineering systems.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Chapter 1 Computer Abstractions and Technology. Chapter 1 — Computer Abstractions and Technology — 2 The Computer Revolution Progress in computer technology.
Embedded System. What is an Embedded System? Computing systems embedded within electronic devices Hard to define – Nearly any computing system other than.
MICROOCESSORS AND MICROCONTROLLER:
What is a Microprocessor ? A microprocessor consists of an ALU to perform arithmetic and logic manipulations, registers, and a control unit Its has some.
Lecture # 1 1. Course Website 2.
9/22/2010Lecture 1 - Introduction1 ECE 5465 Advanced Microcomputers.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
HOME AUTOMATION USING PC DONE BY RAJESHKUMAR S SRI HARSHA D.
KAASHIV INFOTECH – A SOFTWARE CUM RESEARCH COMPANY IN ELECTRONICS, ELECTRICAL, CIVIL AND MECHANICAL AREAS
Embedded System Design and Development Introduction to Embedded System.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
CONCEPTS OF REAL-TIME OPERATING SYSTEM. OBJECTIVE  To Understand Why we need OS?  To identify Types of OS  To Define Real - Time Systems  To Classify.
Embedded Systems. What is Embedded Systems?  Embedded reflects the facts that they are an integral.
Industrial Automation Part I Real Time Control Embedded Systems.
1 Hardware Components for Mechatronics Logic circuits Signal conditioning circuits Microcontrollers PLCs Hardware Interfacing.
GCSE COMPUTER SCIENCE Computers
EMBEDDED SYSTEMS.
ECE354 Embedded Systems Introduction C Andras Moritz.
Embedded Systems Introduction
מעבדה במערכות משובצות ד"ר מרינה ליפשטיין דוא"ל:
AS PER OBE SYLLABUS DTE KARNATAKA SHANTHU M.Tech SAI JAYANI ACADEMY (R) SIXTH SEMESTER Diploma in ELECTRONICS AND COMMUNICATION ENGINEERING.
Chapter 1: Introduction
Introduction to Realtime Systems (& Embedded Systems)
Why microcontrollers in embedded systems?
Tiny Computers, Hidden Control
CS 501: Software Engineering Fall 1999
Introduction to Embedded Systems
Subject Name: Operating System Concepts Subject Number:
Embedded Processors.
Embedded Systems By : Simran Amaandeep Singh
Presentation transcript:

Embedded Systems: Introduction Prof. Santanu Chaudhury Prof. Wajeb Gharibi

Syllabus Overview of Embedded Systems; Embedded System Architecture: Processor Examples - ARM, PIC, etc.; features of digital signal processor; SOC, memory sub-system, bus structure (PC-104, I2C etc.), interfacing protocols (USB, IrDA etc), peripheral interfacing; testing & debugging, power management; Embedded System Software: Program Optimization, Concurrent Programming, Real-time Scheduling and I/O management; Networked Embedded Systems: special networking protocols (CAN, Bluetooth); Applications.

Books Computers as components: Principles of Embedded Computing System Design, Wayne Wolf, Morgan Kaufman Publication, 2000 ARM System Developer’s Guide: Designing and Optimizing System Software, Andrew N. Sloss, Dominic Symes, Chris Wright, , Morgan Kaufman Publication, 2004. Design with PIC Microcontrollers, John B. Peatman, Pearson Education Asia, 2002 The Design of Small-Scale embedded systems, Tim Wilmshurst, Palgrave2003 Embedded System Design, Marwedel, Peter, Kluwer Publishers, 2004.  

Definition Embedded system: any device that includes a computer but is not itself a general-purpose computer. Hardware and Software - part of some larger systems and expected to function without human intervention Respond, monitor, control external environment using sensors and actuators Typically, a embedded system will be targeted for a specific purpose and need to interact with external environments. This is the key distinguishing feature. Although some of the embedded systems can require some degree of general purpose functionality.

Embedding a computer Simplest model output analog input analog CPU mem This provides a very abstract, simplified view of the embedded systems. However, interfacing with the analog outside world is a critical component. mem Embedded computer

Examples Personal digital assistant (PDA). Printer. Cell phone. Automobile: engine, brakes, dash, etc. Television. Household appliances. Surveillance Systems.

Product: Palm Vx handheld Product: Palm Vx handheld. Microprocessor: 32-bit Motorola Dragonball EZ.

Product: Motorola i1000plus iDEN Multi-Service Digital Phone Product: Motorola i1000plus iDEN Multi-Service Digital Phone. Microprocessor: Motorola 32-bit MCORE.

Application examples Simple control: front panel of microwave oven, etc. Camera: Canon EOS 3 has three microprocessors. 32-bit RISC CPU runs auto-focus Analog TV: channel selection, etc. Digital TV: Decompression, Descrambling, etc.

Automotive embedded systems Today’s high-end automobile may have 100 microprocessors: 4-bit microcontroller checks seat belt; microcontrollers run dashboard devices; 16/32-bit microprocessor controls engine.

Example:Automobile sensor sensor brake brake hydraulic pump Automated Braking System brake brake sensor sensor

Characteristics of embedded systems Sophisticated functionality. Real-time operation (always?). Low manufacturing cost. Application dependent Processor (?) Restricted Memory Low power. Power consumption is critical in battery-powered devices. Excessive power consumption increases system cost even in wall-powered devices. Manufacturing cost has different components. Non-recurring Engineering cost for design and development; cost of production and marketing each unit; best technology choice will depend on the number of units we plan to produce.

Manufacturing Cost Manufacturing cost has different components. Non-recurring Engineering cost for design and development; cost of production and marketing each unit; Best technology choice will depend on the number of units we plan to produce

Real-time operation Must finish operations by deadlines. Hard real time: missing deadline causes failure. Soft real time: missing deadline results in degraded performance. Many systems are multi-rate: must handle operations at widely varying rates. Operating Systems handle these components

Application dependent requirements Fault-tolerance Continue operation despite hardware or software faults Safe Systems to avoid physical or economic damage to person or property

More Features Dedicated systems Predefined functionality – accordingly hardware and software designed Programmability rarely used during lifetime of the system Real-time, fault-tolerant, safe

More Examples

Product: Programmable Digital Thermostat. Microprocessor: 4-bit

Product: Vending machine.                                       Web-enabled Cash-less Vending machine Motient Corp. and USA Technologies Microprocessor: 8-bit Motorola 68HC11.

Product: Automatic toothbrush. Microprocessor: 8-bit Zilog Z8.

Product: NASA's Mars Sojourner Rover. Microprocessor: 8-bit Intel 80C85.

Product: GPS Receiver. Microprocessor: 16-bit.

Product: MP3 Player. Microprocessor: 32-bit RISC.

Product: DVD player. Microprocessor: 32-bit RISC.

Product: Sony Aibo ERS-110 Robotic Dog Product: Sony Aibo ERS-110 Robotic Dog. Microprocessor: 64-bit MIPS RISC.

Types of Embedded System Similar to General Computing PDA, Video games, Set-top boxes, automatic teller machine Control Systems Feed-back control of real time systems Vehicle engines, flight control, nuclear reactors Signal Processing Radar, Sonar, DVD players Communication and Networking Cellular phones, Internet appliances

Nature of System Functions Control laws Sequencing Logic Signal Processing Application Specific Interfacing Fault Response

More Complete Model Architecture

Implementing Embedded System Hardware Processing Element Peripherals Input & Output Devices Interfacing Sensors & Actuators Interfacing Protocols Memory Bus Software System Software Application Hardware Software Partitioning of tasks

Higher Degree of Integration Hardware Evolution Systems-on-Chip Application Specific Processors DSP General Purpose Microprocessors & Micro-controllers Faster Clock Rate Higher Degree of Integration

Software Programs must be logically and temporally correct Must deal with inherent physical concurrency Reactive systems Reliability and fault-tolerance are critical issues Application Specific and single purpose

Multi-Tasking and Concurrency Embedded systems need to deal with several inputs and outputs and multiple events occurring independently. Separating tasks simplifies programming, but requires somehow switching back and forth among different tasks (multi-tasking). Concurrency is the appearance of simultaneous execution of multiple tasks.

Example: Concurrency in Temperature Controller

Challenges in embedded system design How much hardware do we need? What is word size of the CPU? Size of Memory? How do we meet our deadlines? Faster hardware or cleverer software? How do we minimize power? Turn off unnecessary logic? Reduce memory accesses?

Embedded System Design

Design goals Performance. Functionality and user interface. Overall speed, deadlines. Functionality and user interface. Manufacturing cost. Power consumption. Other requirements (physical size, etc.)

Functional vs. non-functional requirements output as a function of input. Non-functional requirements: time required to compute output; size, weight, etc.; power consumption; reliability; etc.

Design & Development Process requirements specification architecture component design system integration

Top-down vs. bottom-up Top-down design: Bottom-up 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.

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.

Concluding Remarks Embedded computers are all around us. Many systems have complex embedded hardware and software. Embedded systems pose many design challenges: design time, deadlines, power, etc. Design methodologies help us manage the design process.