Introduction to Embedded Systems 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. Introduction to Embedded Systems Definition Embedded system: any device that includes a programmable computer but is not itself a generalpurpose 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. Introduction to Embedded Systems What is an embedded system Introduction to Embedded Systems Examples Office systems and mobile equipment Answering machines Copiers Faxes Laptops and notebooks Mobile Telephones PDAs, Personal organisers Still and video cameras Telephone systems Time recording systems Printer Microwave Introduction to Embedded Systems Building systems Air conditioning Backup lighting and generators Building management systems CTV systems Fire Control systems Heating and ventilating systems Lifts, elevators, escalators Lighting systems Security systems Security cameras Sprinkler systems Manufacturing and Process Control Automated factories Bottling plants Energy control systems Manufacturing plants Nuclear power stations Oil refineries and related storage facilities Power grid systems Power stations Robots Switching systems Water and sewage systems Examples Transport Communications Other equipment Aeroplanes Trains Buses Marine craft Jetties Automobiles Air Traffic Control Signalling Systems Radar Systems Traffic Lights Ticketing machines Speed cameras, Radar speed detectors Telephone systems Cable systems Telephone switches Satellites Global Positioning System Introduction to Embedded Systems Automated teller systems Credit card systems Medical Imaging equipment Domestic Central Heating control VCRs 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. Introduction to Embedded Systems 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. Introduction to Embedded Systems BMW 850i, cont’d. sensor sensor brake brake ABS hydraulic pump brake brake sensor sensor Introduction to Embedded Systems Embedded systems rule the market place •80 Million PCs vs. 3Billion Embedded CPUs Annually • Embedded market growing; PC market mostly saturated Introduction to Embedded Systems Why are embedded systems different from desktop computers ? Introduction to Embedded Systems Four General Embedded Systems Types General Computing • Applications similar to desktop computing, but in an embedded 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 Introduction to Embedded Systems 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 Introduction to Embedded Systems Embedding a computer CPU embedded computer Introduction to Embedded Systems output analog input analog mem 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. Introduction to Embedded Systems An Embedded Control System Designer’s View Introduction to Embedded Systems A Customer View Introduction to Embedded Systems 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. Introduction to Embedded Systems 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? Introduction to Embedded Systems 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? Introduction to Embedded Systems 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 Introduction to Embedded Systems 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. Introduction to Embedded Systems Design goals Performance. Overall speed, deadlines. Functionality and user interface. Manufacturing cost. Power consumption. Other requirements (physical size, etc.) Introduction to Embedded Systems Levels of abstraction requirements specification architecture component design system integration Introduction to Embedded Systems Our requirements form name purpose inputs outputs functions performance manufacturing cost power physical size/weight Introduction to Embedded Systems Example: GPS moving map requirements I-78 Scotch Road Moving map obtains position from GPS, paints map from local database. lat: 40 13 lon: 32 19 Introduction to Embedded Systems 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 Introduction to costSystems of goods sold. Embedded GPS moving map needs, cont’d. Physical size/weight: Should fit in hand. Power consumption: Should run for 8 hours on four AA batteries. Introduction to Embedded Systems GPS moving map requirements form name purpose inputs outputs functions performance manufacturing cost power physical size/weight Introduction to Embedded Systems GPS moving map consumer-grade moving map for driving power button, two control buttons back-lit LCD 400 X 600 5-receiver GPS; three resolutions; displays current lat/lon updates screen within 0.25 sec of movement $100 cost-of-goodssold 100 mW no more than 2: X 6:, 12 oz. 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. Introduction to Embedded Systems 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. Introduction to Embedded Systems 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. Introduction to Embedded Systems GPS moving map block diagram GPS receiver search engine database Introduction to Embedded Systems renderer user interface display GPS moving map hardware architecture display frame buffer CPU GPS receiver memory Introduction to Embedded Systems panel I/O GPS moving map software architecture position Introduction to Embedded Systems database search renderer user interface timer pixels 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. Introduction to Embedded Systems 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. Introduction to Embedded Systems 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. Introduction to Embedded Systems