640 likes | 1.22k Views
Embedded Systems: Introduction. Prof. Santanu Chaudhury Prof. Wajeb Gharibi. Syllabus.
E N D
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
Embedding a computer Simplest model output analog input CPU analog 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.Microprocessor: 32-bit Motorola Dragonball EZ.
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 • 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.
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
Motient Corp. and USA Technologies Product: Vending machine. Web-enabled Cash-less Vending machine Microprocessor: 8-bit Motorola 68HC11.
Product: NASA's Mars Sojourner Rover.Microprocessor: 8-bit Intel 80C85.
Product: MP3 Player. Microprocessor: 32-bit RISC.
Product: DVD player. Microprocessor: 32-bit RISC.
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 Software Partitioning of tasks • Hardware • Processing Element • Peripherals • Input & Output Devices • Interfacing Sensors & Actuators • Interfacing Protocols • Memory • Bus • Software • System Software • Application
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.
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?
Design goals • Performance. • Overall speed, deadlines. • Functionality and user interface. • Manufacturing cost. • Power consumption. • Other requirements (physical size, etc.)
Functional vs. non-functional requirements • Functional requirements: • output as a function of input. • Non-functional requirements: • time required to compute output; • size, weight, etc.; • power consumption; • reliability; • etc.
requirements specification architecture component design system integration Design & Development Process
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.
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.