Introduction 課程 : 嵌入式系統與軟體工程 開發學校 : 輔仁大學資工系 范姜永益
Introduction How many embedded systems did you use/know today? 2
Motivation for Course According to forecasts characterized by terms such as Disappearing computer, Ubiquitous computing, Pervasive computing, Ambient intelligence, Post-PC era. Basic technologies: Embedded Systems Communication technologies
What is an Embedded System (ES)?
ES Market? CPU is not only in general-purpose computer Embedded systems use more than 95% of all manufactured processors in the world. (Annually, 80 million PCs but about 3000 million CPUs in ES.) PC market is almost saturated but embedded systems market is growing. 5
What is an Embedded System? Embedded system: any device that includes a programmable computer but is not itself a generalpurpose computer With OS (use microprocessors) Without OS (use microcontrollers) Take advantage of application characteristics to optimize the design: Do not need all the general-purpose bells and whistles 6
The Basic Architecture is similar with General Purpose Computer output analog CPU input analog embedded computer mem 7
Why Embedded Computer? The evolution of a Watch 8
Why Embedded Computer? More smarter, more functionalities, digitalized and connecting with virtual world 9
A New Paradigm of Computing log (people per computer) Mainframe Minicomputer Workstation PC year Mobisys Tutorial, San Francisco Laptop PDA Number Crunching Data Storage Productivity Interactive Streaming information to/from physical world
Embedded Systems and Ubiquitous Computing Ubiquitous computing: Information anytime, anywhere. Embedded systems provide fundamental technology. Ist.gif UMTS,
EXAMPLES Some embedded systems from real life
Examples of Embedded Systems Product: Sonicare Elite toothbrush Microprocessor: 8-bit Has a programmable speed control, timer, and charge gauge 13
Examples of Embedded Systems Product: Any PC Mouse, Keyboard, or USB Device Microprocessor: 8-bit Microcontroller Inside view of a Microsoft Mouse 14
Examples of Embedded Systems Product: Any Disk Drive Microprocessor: Dual 32-bit Marvel ARM SOC & mixed signal DSP 15
Examples of Embedded Systems Product: Vendo Vue 40 vending machine Microprocessor: Two 16-bit Hitachi H8/300H Processors A robot hand dispenses items 16
Examples of Embedded Systems Photograph courtesy of NASA/JPL CALTECH Product: NASA's Twin Mars Rovers Microprocessor: Radiation Hardened 20Mhz PowerPC Commercial Real-time OS Software and OS was developed during multiyear flight to Mars and downloaded using a radio link 17
Examples of Embedded Systems Product: Sony Aibo ERS-7 Robotic Dog Microprocessor: 64- bit MIPS R7000 OS: Aperios - Sony s Real Time OS 18
Examples of Embedded Systems Product: Radiant Systems Point-of-Sale (POS) Terminal Microprocessor: Intel X86 Celeron OS: Windows XP Embedded Look for one next time you order fast food! 19
Examples of Embedded Systems Product: Microsoft s Smart Personal Object Technology (SPOT) watch Microprocessor: 32-bit ARM with FM Radio Chip Downloads News using extra bandwidth on FM radio stations in major cities 20
Examples of Embedded Systems Product: Motorola Q Pocket PC Phone Microprocessor: TI OMAP (ARM+DSP) OS: Windows Mobile 5.0 (Windows CE OS) 21
Examples of Embedded Systems Product: Atronic Slot Machine Microprocessor: X86 OS: Windows CE Slots are networked to a casino s back office computer system. State Gaming agencies audit code and payoff odds 22
Examples of Embedded Systems Product: Dresser Wayne Ovation ix Gas Pump Microprocessor: Marvel Xscale (ARM) OS: Windows CE Displays video ads & is networked to a gas station s back office computer system. Also has remote maintenance features 23
Examples of Embedded Systems Product: Bernina Artista 200 Sewing Machine Microprocessor: Marvel StrongARM OS: Windows CE Can download new images from Internet and sew them 24
More Examples Aircraft & Military Systems Biomedical Cars Communications Aircraft autopilots, avionics and navigation systems, automatic landing systems, guidance systems, engine controls. XRAY, MRI, and Ultrasound imaging systems, patient monitors, heart pacers. Engine control, anti-lock braking systems, traction control systems, air bag controls, heating and air conditioning controls, GPS mapping, Satellite Radio, On-board Diagnostics. Communication Satellites, network routers, switches, hubs. 25
More Examples Computer I/O devices Electronic Instrumentation Home Electronics Industrial Equipment Keyboards, mouse, printers, scanners, displays, modems, hard disk drives, DVD drives, graphics cards, USB devices. Oscilloscopes, voltmeters, signal generators, logic analyzers. Microwave ovens, dishwashers, DVD players, televisions, stereos, security systems, cameras, TVs, clock radios, answering machines, satellite or cable box Elevator controls, surveillance systems, robots, CNC machines, Programmable Logic Controllers, industrial automation and control systems. 26
More Examples Office Machines Personal Devices Robots Toys FAX machines, copiers, telephones, calculators, cash registers. Cell phones, portable MP3 players, Video players, Personal Digital Assistants (PDAs), electronic wrist watches, handheld video games, digital cameras, GPS systems. Industrial robots, autonomous vehicles, space exploration robots (i.e. Mars robots) Video Game systems, Aibo, "Furby, and Elmo type robot toys. 27
Characteristics
Characteristics of Embedded Systems Must be dependable, Reliability R(t) = probability of system working correctly provided that is was working at t=0 Maintainability M(d) = probability of system working correctly d time units after error occurred. Availability A(t): probability of system working at time t Safety: no harm to be caused Security: confidential and authentic communication Even perfectly designed systems can fail if the assumptions about the workload and possible errors turn out to be wrong. Making the system dependable must not be an after-thought, it must be considered from the very beginning
Characteristics of Embedded Systems Must be efficient Energy efficient Code size efficient (especially for systems on a chip) Run time efficient Weight efficient Cost efficient Dedicated towards a certain application Knowledge about behavior at design time can be used to minimize resources and to maximize robustness Dedicated user interface (no mouse, keyboard and screen)
Characteristics of Embedded Systems Many ES must meet real-time constraints A real-time system must react to stimuli from the controlled object (or the operator) within the time interval dictated by the environment. For real-time systems, right answers arriving too late are wrong. A real-time constraint is called hard, if not meeting that constraint could result in a catastrophe [Kopetz, 1997]. All other time-constraints are called soft. A guaranteed system response has to be explained without statistical arguments
Real-Time Systems Embedded and Real-Time Synonymous? Most embedded systems are real-time Most real-time systems are embedded embedded embedded real-time real-time
Characteristics of Embedded Systems Frequently connected to physical environment through sensors and actuators, Hybrid systems (analog + digital parts). Typically, ES are reactive systems: A reactive system is one which is in continual interaction with is environment and executes at a pace determined by that environment [Bergé, 1995] Behavior depends on input and current state.
Challenged for Embedded Software Dynamic environments Capture the required behaviour! Validate specifications Efficient translation of specifications into implementations! How can we check that we meet real time constraints? How do we validate embedded real time software? (large volumes of data, testing may be safety critical)
Why OS in Embedded Device? Support for multitasking, scheduling, and synchronization Support for a wide range of I/O devices Support for file systems Scheduling and buffering of I/O operations Support for networking Memory management Support for graphics displays Security and Power Management 35
36 Introduction to Embedded OS
Introduction to Embedded OS Windows CE / Windows Mobile Microsoft Support CPU: x86, ARM, MIPS, etc Windows CE Platform Builder evc, evb Friendly GUI Application: PDA, WebPAD, PVR, Thin Client, etc 37
Introduction to Embedded OS DOS Microsoft 16 bits, single user single task Application: LED billboard, industry control 38
Introduction to Embedded OS Palm OS Palm Computing Succinct architecture Small hardware requirement low-power Application: PDA 39
Introduction to Embedded OS VxWorks WindRiver Support CPU: x86, i960, MIPS, PowerPC Popularly use in embedded systems GNU compiler and debugger Hard real time It s famous to apply to robot on Mars and Sony robot MicroC/OS Hard real time 40
Introduction to Embedded OS Symbian The mobile operating system Friendly GUI Development with Microsoft Virtual C++ 6.0 and S60 (SDK) The main competitor is Windows 41
Introduction to Embedded OS Linux/Embedded Linux Support CPU: x86, ARM, MIPS, SH, i960, PowerPC, etc Open Source Powerful Network Functions Easy Software Porting GNU Complier and Debugger 42
Commercial OS Used Microsoft Emb. Wind River Symbian Green Hills Palm Others 0.00% 5.00% 10.00% 15.00% 20.00% 25.00% 30.00% Data was derived from EETimes and Embedded Systems Design Magazine 2006 Embedded Market Survey 43
Programming Languages Used C C++ C# Java Assembly Others 0.00% 10.00% 20.00% 30.00% 40.00% 50.00% 60.00% 70.00% Data was derived from EETimes and Embedded Systems Design Magazine 2006 Embedded Market Survey 44
Course Theme Work through the design and development of an embedded system Domains: ARM-based Digital Photo Frame Emphasize on Expressing, communicating, and documenting the process Innovation development and execution (problem solving) Team work 45
Two Threads Design process through UML and CMMI Platform introduction ARM 9 46