920bbcf2bd0aeb05eec1a129838d33c7.ppt
- Количество слайдов: 42
Introduction z What are embedded systems? z Challenges in embedded computing system design. z Design methodologies. © 2000 Morgan Kaufman Overheads for Computers as Components
Definition z Embedded system: any device that includes a programmable computer but is not itself a generalpurpose computer. z Take advantage of application characteristics to optimize the design: y don’t need all the general-purpose bells and whistles. © 2000 Morgan Kaufman Overheads for Computers as Components
Embedding a computer output CPU embedded computer © 2000 Morgan Kaufman analog input analog mem Overheads for Computers as Components
Examples z Personal digital assistant (PDA). z Printer. z Cell phone. z Automobile: engine, brakes, dash, etc. z Television. z Household appliances. z PC keyboard (scans keys). © 2000 Morgan Kaufman Overheads for Computers as Components
Early history z Late 1940’s: MIT Whirlwind computer was designed for real-time operations. y Originally designed to control an aircraft simulator. z First microprocessor was Intel 4004 in early 1970’s. z HP-35 calculator used several chips to implement a microprocessor in 1972. © 2000 Morgan Kaufman Overheads for Computers as Components
Early history, cont’d. z Automobiles used microprocessor-based engine controllers starting in 1970’s. y Control fuel/air mixture, engine timing, etc. y Multiple modes of operation: warm-up, cruise, hill climbing, etc. y Provides lower emissions, better fuel efficiency. © 2000 Morgan Kaufman Overheads for Computers as Components
Microprocessor varieties z Microcontroller: includes I/O devices, on-board memory. z Digital signal processor (DSP): microprocessor optimized for digital signal processing. z Typical embedded word sizes: 8 -bit, 16 -bit, 32 -bit. © 2000 Morgan Kaufman Overheads for Computers as Components
Application examples z Simple control: front panel of microwave oven, etc. z Canon EOS 3 has three microprocessors. y 32 -bit RISC CPU runs autofocus and eye control systems. z Analog TV: channel selection, etc. z Digital TV: programmable CPUs + hardwired logic. © 2000 Morgan Kaufman Overheads for Computers as Components
Automotive embedded systems z Today’s high-end automobile may have 100 microprocessors: y 4 -bit microcontroller checks seat belt; y microcontrollers run dashboard devices; y 16/32 -bit microprocessor controls engine. © 2000 Morgan Kaufman Overheads for Computers as Components
BMW 850 i brake and stability control system z Anti-lock brake system (ABS): pumps brakes to reduce skidding. z Automatic stability control (ASC+T): controls engine to improve stability. z ABS and ASC+T communicate. y ABS was introduced first---needed to interface to existing ABS module. © 2000 Morgan Kaufman Overheads for Computers as Components
BMW 850 i, cont’d. sensor brake ABS hydraulic pump brake sensor © 2000 Morgan Kaufman brake sensor Overheads for Computers as Components
Characteristics of embedded systems z Sophisticated functionality. z Real-time operation. z Low manufacturing cost. z Low power. z Designed to tight deadlines by small teams. © 2000 Morgan Kaufman Overheads for Computers as Components
Functional complexity z Often have to run sophisticated algorithms or multiple algorithms. y Cell phone, laser printer. z Often provide sophisticated user interfaces. © 2000 Morgan Kaufman Overheads for Computers as Components
Real-time operation z Must finish operations by deadlines. y Hard real time: missing deadline causes failure. y Soft real time: missing deadline results in degraded performance. z Many systems are multi-rate: must handle operations at widely varying rates. © 2000 Morgan Kaufman Overheads for Computers as Components
Non-functional requirements z Many embedded systems are mass-market items that must have low manufacturing costs. y Limited memory, microprocessor power, etc. z Power consumption is critical in battery-powered devices. y Excessive power consumption increases system cost even in wall -powered devices. © 2000 Morgan Kaufman Overheads for Computers as Components
Design teams z Often designed by a small team of designers. z Often must meet tight deadlines. y 6 month market window is common. y Can’t miss back-to-school window for calculator. © 2000 Morgan Kaufman Overheads for Computers as Components
Why use microprocessors? z Alternatives: field-programmable gate arrays (FPGAs), custom logic, etc. z Microprocessors are often very efficient: can use same logic to perform many different functions. z Microprocessors simplify the design of families of products. © 2000 Morgan Kaufman Overheads for Computers as Components
The performance paradox z Microprocessors use much more logic to implement a function than does custom logic. z But microprocessors are often at least as fast: y heavily pipelined; y large design teams; y aggressive VLSI technology. © 2000 Morgan Kaufman Overheads for Computers as Components
Power z Custom logic is a clear winner for low power devices. z Modern microprocessors offer features to help control power consumption. z Software design techniques can help reduce power consumption. © 2000 Morgan Kaufman Overheads for Computers as Components
Challenges in embedded system design z How much hardware do we need? y How big is the CPU? Memory? z How do we meet our deadlines? y Faster hardware or cleverer software? z How do we minimize power? y Turn off unnecessary logic? Reduce memory accesses? © 2000 Morgan Kaufman Overheads for Computers as Components
Challenges, etc. z Does it really work? y Is the specification correct? y Does the implementation meet the spec? y How do we test for real-time characteristics? y How do we test on real data? z How do we work on the system? y Observability, controllability? y What is our development platform? © 2000 Morgan Kaufman Overheads for Computers as Components
Design methodologies z A procedure for designing a system. z Understanding your methodology helps you ensure you didn’t skip anything. z Compilers, software engineering tools, computer-aided design (CAD) tools, etc. , can be used to: y help automate methodology steps; y keep track of the methodology itself. © 2000 Morgan Kaufman Overheads for Computers as Components
Design goals z Performance. y Overall speed, deadlines. z Functionality and user interface. z Manufacturing cost. z Power consumption. z Other requirements (physical size, etc. ) © 2000 Morgan Kaufman Overheads for Computers as Components
Levels of abstraction requirements specification architecture component design system integration © 2000 Morgan Kaufman Overheads for Computers as Components
Top-down vs. bottom-up z Top-down design: y start from most abstract description; y work to most detailed. z Bottom-up design: y work from small components to big system. z Real design uses both techniques. © 2000 Morgan Kaufman Overheads for Computers as Components
Stepwise refinement z At each level of abstraction, we must: y analyze the design to determine characteristics of the current state of the design; y refine the design to add detail. © 2000 Morgan Kaufman Overheads for Computers as Components
Requirements z Plain language description of what the user wants and expects to get. z May be developed in several ways: y talking directly to customers; y talking to marketing representatives; y providing prototypes to users for comment. © 2000 Morgan Kaufman Overheads for Computers as Components
Functional vs. non-functional requirements z Functional requirements: y output as a function of input. z Non-functional requirements: y time required to compute output; y size, weight, etc. ; y power consumption; y reliability; y etc. © 2000 Morgan Kaufman Overheads for Computers as Components
Our requirements form © 2000 Morgan Kaufman Overheads for Computers as Components
Example: GPS moving map requirements z Moving map obtains position from GPS, paints map from local database. Scotch Road I-78 lat: 40 13 lon: 32 19 © 2000 Morgan Kaufman Overheads for Computers as Components
GPS moving map needs z Functionality: For automotive use. Show major roads and landmarks. z User interface: At least 400 x 600 pixel screen. Three buttons max. Pop-up menu. z Performance: Map should scroll smoothly. No more than 1 sec power-up. Lock onto GPS within 15 seconds. z Cost: $500 street price = approx. $100 cost of goods sold. © 2000 Morgan Kaufman Overheads for Computers as Components
GPS moving map needs, cont’d. z Physical size/weight: Should fit in hand. z Power consumption: Should run for 8 hours on four AA batteries. © 2000 Morgan Kaufman Overheads for Computers as Components
GPS moving map requirements form © 2000 Morgan Kaufman Overheads for Computers as Components
Specification z A more precise description of the system: y should not imply a particular architecture; y provides input to the architecture design process. z May include functional and non-functional elements. z May be executable or may be in mathematical form for proofs. © 2000 Morgan Kaufman Overheads for Computers as Components
GPS specification z Should include: y What is received from GPS; y map data; y user interface; y operations required to satisfy user requests; y background operations needed to keep the system running. © 2000 Morgan Kaufman Overheads for Computers as Components
Architecture design z What major components go satisfying the specification? z Hardware components: y CPUs, peripherals, etc. z Software components: y major programs and their operations. z Must take into account functional and non-functional specifications. © 2000 Morgan Kaufman Overheads for Computers as Components
GPS moving map block diagram GPS receiver search engine database © 2000 Morgan Kaufman renderer user interface Overheads for Computers as Components display
GPS moving map hardware architecture display frame buffer CPU GPS receiver memory © 2000 Morgan Kaufman panel I/O Overheads for Computers as Components
GPS moving map software architecture position renderer user interface © 2000 Morgan Kaufman database search timer Overheads for Computers as Components pixels
Designing hardware and software components z Must spend time architecting the system before you start coding. z Some components are ready-made, some can be modified from existing designs, others must be designed from scratch. © 2000 Morgan Kaufman Overheads for Computers as Components
System integration z Put together the components. y Many bugs appear only at this stage. z Have a plan for integrating components to uncover bugs quickly, test as much functionality as early as possible. © 2000 Morgan Kaufman Overheads for Computers as Components
Summary z Embedded computers are all around us. y Many systems have complex embedded hardware and software. z Embedded systems pose many design challenges: design time, deadlines, power, etc. z Design methodologies help us manage the design process. © 2000 Morgan Kaufman Overheads for Computers as Components
920bbcf2bd0aeb05eec1a129838d33c7.ppt