2.08k likes | 4.97k Views
Introduction to Embedded Systems. Introduction. What are embedded systems? What makes them different? Real time operation Many sets of constraints on designs Challenges in embedded computing system design. Design methodologies. Definition.
E N D
Introduction to Embedded Systems Dr. Pedro Mejia Alvarez
Introduction • What are embedded systems? • What makes them different? • Real time operation • Many sets of constraints on designs • Challenges in embedded computing system design. • Design methodologies. Dr. Pedro Mejia Alvarez
Definition • Embedded system: any device that includes a programmable computer but is not itself a general-purpose computer. • Computer purchased as part of some other piece of equipment • Typically dedicated software (may be user- customizable) • Often replaces previously electromechanical components • Often no “real” keyboard • Often limited display or no general- purpose display device: don’t need all the general-purpose bells and whistles. Dr. Pedro Mejia Alvarez
What is an embedded system Dr. Pedro Mejia Alvarez
Examples Dr. Pedro Mejia Alvarez
Examples Dr. Pedro Mejia Alvarez
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. Dr. Pedro Mejia Alvarez
BMW 850i brake and stability control system • Anti-lock brake system (ABS): pumps brakes to reduce skidding. • Automatic stability control (ASC+T): controls engine to improve stability. • ABS and ASC+T communicate. • ABS was introduced first---needed to interface to existing ABS module. Dr. Pedro Mejia Alvarez
BMW 850i, cont’d. sensor sensor brake brake hydraulic pump ABS brake brake sensor sensor Dr. Pedro Mejia Alvarez
Embedded systems rule the market place • 80 Million PCs vs. 3Billion Embedded CPUs Annually • • Embedded market growing; PC market mostly saturated Dr. Pedro Mejia Alvarez
Why are embedded systems different from desktop computers ? Dr. Pedro Mejia Alvarez
Four General Embedded Systems Types General Computing • Applications similar to desktop computing, but in anembedded package • Video games, set- top boxes, wearable computers,automatic tellers Control Systems • Closed- loop feedback control of real- time system • Vehicle engines, chemical processes, nuclear power,flight control Signal Processing • Computations involving large data streams • Radar, Sonar, video compression Communication & Networking • Switching and information transmission • Telephone system, Internet Dr. Pedro Mejia Alvarez
Characteristics of an embedded system • Real-Time Operation • • Reactive: computations must occur in response to external events • Correctness is partially a function of time • Small Size, Low Weight • • Hand- held electronics and Transportation applications -- weight costs money • Low Power • • Battery power for 8+ hours (laptops often last only 2 hours) • Harsh environment • • Heat, vibration, shock, power fluctuations, RF interference, lightning, corrosion • Safety- critical operation • • Must function correctly and Must not function in correctly • Extreme cost sensitivity • • $. 05 adds up over 1,000, 000 units Dr. Pedro Mejia Alvarez
Embedding a computer output analog input CPU analog mem embedded computer Dr. Pedro Mejia Alvarez
Why use microprocessors? • Microprocessors simplify the design of families of products. • Microprocessors are often very efficient: can use same logic to perform many different functions, but Microprocessors use much more logic to implement a function than does custom logic. • Alternatives: field-programmable gate arrays (FPGAs), ASIC’s, custom logic, etc. • What about MicroControllers or DSP’s…. • Custom logic is a clear winner for low power devices. Dr. Pedro Mejia Alvarez
An Embedded Control System Designer’s View Dr. Pedro Mejia Alvarez
A Customer View Dr. Pedro Mejia Alvarez
Design teams • Often designed by a small team of designers. • Often must meet tight deadlines. • 6 month market window is common. • Can’t miss back-to-school window for calculator. Dr. Pedro Mejia Alvarez
Challenges in embedded system design • How much hardware do we need? • How big is the CPU? Memory? • How do we meet our deadlines? • Faster hardware or cleverer software? • How do we minimize power? • Turn off unnecessary logic? Reduce memory accesses? Dr. Pedro Mejia Alvarez
Challenges, etc. • Does it really work? • Is the specification correct? • Does the implementation meet the spec? • How do we test for real-time characteristics? • How do we test on real data? • How do we work on the system? • Observability, controllability? • What is our development platform? Dr. Pedro Mejia Alvarez
Embedded System Designer Skill Set Appreciation for multi- disciplinary nature of design • Both hardware & software skills • Understanding of engineering beyond digital logic • Ability to take a project from specification through production Communication & teamwork skills • Work with other disciplines, manufacturing, marketing • Work with customers to understand the real problem being solved • Make a good presentation; even better -- write “trade rag” articles And, by the way, technical skills too… • Low level: Microcontrollers, FPGA/ ASIC, assembly language, A/ D, D/ A • High level: Object- oriented Design, C/ C++, Real Time Operating Systems • Meta level: Creative solutions to highly constrained problems • Likely in the future: Unified Modeling Language, embedded networks • Uncertain future: Java, Windows CE Dr. Pedro Mejia Alvarez
Design methodologies • A procedure for designing a system. • Understanding your methodology helps you ensure you didn’t skip anything. • Compilers, software engineering tools, computer-aided design (CAD) tools, etc., can be used to: • help automate methodology steps; • keep track of the methodology itself. Dr. Pedro Mejia Alvarez
Design goals • Performance. • Overall speed, deadlines. • Functionality and user interface. • Manufacturing cost. • Power consumption. • Other requirements (physical size, etc.) Dr. Pedro Mejia Alvarez
Levels of abstraction requirements specification architecture component design system integration Dr. Pedro Mejia Alvarez
Our requirements form Dr. Pedro Mejia Alvarez
Example: GPS moving map requirements • Moving map obtains position from GPS, paints map from local database. I-78 Scotch Road lat: 40 13 lon: 32 19 Dr. Pedro Mejia Alvarez
GPS moving map needs • Functionality: For automotive use. Show major roads and landmarks. • User interface: At least 400 x 600 pixel screen. Three buttons max. Pop-up menu. • Performance: Map should scroll smoothly. No more than 1 sec power-up. Lock onto GPS within 15 seconds. • Cost: $500 street price = approx. $100 cost of goods sold. Dr. Pedro Mejia Alvarez
GPS moving map needs, cont’d. • Physical size/weight: Should fit in hand. • Power consumption: Should run for 8 hours on four AA batteries. Dr. Pedro Mejia Alvarez
GPS moving map requirements form Dr. Pedro Mejia Alvarez
Specification • A more precise description of the system: • should not imply a particular architecture; • provides input to the architecture design process. • May include functional and non-functional elements. • May be executable or may be in mathematical form for proofs. Dr. Pedro Mejia Alvarez
GPS specification • Should include: • What is received from GPS; • map data; • user interface; • operations required to satisfy user requests; • background operations needed to keep the system running. Dr. Pedro Mejia Alvarez
Architecture design • What major components go satisfying the specification? • Hardware components: • CPUs, peripherals, etc. • Software components: • major programs and their operations. • Must take into account functional and non-functional specifications. Dr. Pedro Mejia Alvarez
GPS moving map block diagram display GPS receiver search engine renderer database user interface Dr. Pedro Mejia Alvarez
GPS moving map hardware architecture display frame buffer CPU GPS receiver memory panel I/O Dr. Pedro Mejia Alvarez
GPS moving map software architecture database search renderer pixels position user interface timer Dr. Pedro Mejia Alvarez
Designing hardware and software components • Must spend time architecting the system before you start coding. • Some components are ready-made, some can be modified from existing designs, others must be designed from scratch. Dr. Pedro Mejia Alvarez
System integration • Put together the components. • Many bugs appear only at this stage. • Have a plan for integrating components to uncover bugs quickly, test as much functionality as early as possible. Dr. Pedro Mejia Alvarez
Summary • 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. References: • Overheads for Computers as Components, W.Wolf.Morgan Kaufman. • Embedded Systems in the Real World, Phillip Koopman. Carnegie Mellon University. Dr. Pedro Mejia Alvarez