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 1. Computers as components: Principles of Embedded Computing System Design, Wayne Wolf, Morgan Kaufman Publication, 2000 2. ARM System Developer’s Guide: Designing and Optimizing System Software, Andrew N. Sloss, Dominic Symes, Chris Wright,, Morgan Kaufman Publication, 2004. 3. Design with PIC Microcontrollers, John B. Peatman, Pearson Education Asia, 2002 4. The Design of Small-Scale embedded systems, Tim Wilmshurst, Palgrave2003 5. 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 CPU mem input output analog Embedded computer Simplest model
Examples Personal digital assistant (PDA). Printer. Cell phone. Automobile: engine, brakes, dash, etc. Television. Household appliances. Surveillance Systems.
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.
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
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
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
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.
Design & Development Process requirements specification architecture component design system integration
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.