ECE 455/555 Embedded System Design Introduction Wei Gao ECE 455/555 Embedded System Design 1 Course Information Class time: 2:30pm – 3:20pm MWF Instructor: Wei Gao, weigao@utk.edu Office: Min Kao 353 Office hour: 3:30pm – 4:00pm MWF TA: Dong Zhong, dzhong@vols.utk.edu TA office: Min Kao 431 TA Office hour: 10am – 11am TTR Slides, schedule, announcement posted at http://web.eecs.utk.edu/~weigao/ece455/fall2015/s chedule.html ECE 455/555 Embedded System Design 2 Examples of Embedded Systems Cellphone, Personal Digital Assistant (PDA) Printer. GPS. Automobile: engine, brakes, dash, etc. Digital camera. iPod. Household appliances: microwave, air conditioning Wrist watch. and a lot more … Fact: > 95% of all microprocessors are used for embedded systems. ECE 455/555 Embedded System Design 3 Definition Embedded system: any device that includes a computer but is not itself a general-purpose computer. Application specific The design is specialized and optimized for specific application Don’t need all the general-purpose bells and whistles. ECE 455/555 Embedded System Design 4 Embedding a Computer Microcontroller (or MCU): a computer-on-a-chip a type of microprocessor emphasizing self-sufficiency and cost- effectiveness has CPU, input/output, RAM, ROM, clock and etc on a single chip output analog analog actuators CPU input analog analog sensors embedded computer mem ECE 455/555 Embedded System Design 5 Early history Automobiles used microprocessor-based engine controllers starting in 1970’s. Control fuel/air mixture, engine timing, etc. Multiple modes of operation: warm-up, cruise, hill climbing, etc. Provides lower emissions, better fuel efficiency. ECE 455/555 Embedded System Design 6 Anti-Lock Brake System Pumps brakes to reduce skidding. Real-time and safety sensor sensor brake brake ABS hydraulic pump brake brake sensor sensor ECE 455/555 Embedded System Design 7 Automotive Systems A high-end car may have 100 microprocessors: 4-bit microcontroller checks seat belt; microcontrollers run dashboard devices; 16/32-bit microprocessor controls engine; Navigation; Entertainment: DVD, audio, satellite radio… Future Cars may drive by themselves?? Control your car by speaking out, or even your mind ECE 455/555 Embedded System Design 8 Other examples Simple control Front panel of microwave oven Digital control of air conditioning Canon EOS 3 has three microprocessors. 32-bit RISC CPU runs autofocus and eye control systems. Sony BRAVIA LCD TV has a standalone microprocessor for image processing BRAVIA Engine 2 Full 1080p video streaming: high throughput required ECE 455/555 Embedded System Design 9 Smartphones Specialized microprocessor Somehow much more powerful Samsung Galaxy S5 iPhone 5S 2.1GHz Cortex-A15 1.3GHz dual-Core Cortex-A9 Controls radio, sensors, display, speaker, … Multimedia contents and applications ECE 455/555 Embedded System Design 10 Goal of This Course The common principles of embedded systems design Instead of a specific type of microcontroller Emphasize aspects that are distinct to embedded systems Textbook: Computers as Components: Principles of Embedded Computing System Design, 3rd edition Marilyn Wolf, Georgia Tech Morgan Kaufmann Publishers, 2012 Experimentation platform: Current hot topic of embedded systems Wireless sensor networks Smartphone-based mobile systems ECE 455/555 Embedded System Design 11 Goal of This Course References Introduction to Embedded Systems: A Cyber-Physical System Approach • Ashford Lee and Sanjit Seshia • http://leeseshia.org/releases/LeeSeshia_DigitalV1_06.pdf Embedded Systems: A Contemporary Design Tool • James Peckol • Wiley, 2011 ECE 455/555 Embedded System Design 12 MEMSIC TelosB Wireless sensor module for building applications Standards Based Low Power USB IEEE 802.15.4/Zigbee TinyOS Expansion to other sensors: temperature, light, humidity Hardware designed from software principles for low power operation Isolation, buffering, fast wakeup from sleep Low Cost Integrated design 20-30m range indoors 75-100m range outdoors IEEE 802.15.4 New wireless standard for low power communication 250kbps 2.4GHz ISM band Zigbee-compatible ECE 455/555 Embedded System Design 13 Typical Applications of Sensor Networks 1. Smart sensors massively Structural Health Monitoring Fire Monitoring distributed and embedded in environments 2. Self-organized wireless network by communicating with each other Health Care Habitat Monitoring 3. Real-time environment monitoring and control Modified from Deborah Estrin, SIGMETRICS keynote, http://lecs.cs.ucla.edu/~estrin/talks/Sigmetrics-June02.ppt ECE 455/555 Embedded System Design 14 Acceleration (mg) Structural Health Monitoring 15 Time plot, vertical sensors at L1-L5 V2 V4 V13 V7 V9 10 5 0 -5 -10 -150 50 100 150 Time (sec) 200 250 Source: David Culler’s MobiHoc’05 Keynote ECE 455/555 Embedded System Design 15 Smartphone 3G/4G connectivity Multimedia content/applications Varieties of onboard sensors ECE 455/555 Embedded System Design 16 Typical Applications using Smartphones 1. Sensing capabilities of smartphones • Sensing human behaviors Demo from Dartmouth Mobile sensing 2. Mobile Internet access and user interaction • Mobile social media Mobile social networks Yelp on smartphones 3. Location-based services ECE 455/555 Embedded System Design 17 Mobile Social Media Socializing with your friends Online chatting Facebook check-in Photo upload Gaming Mobile data access iCloud Mobile video streaming ECE 455/555 Embedded System Design 18 Location-based Service Know where you are Know what is available near you Know who is available near you ECE 455/555 Embedded System Design 19 Why are those systems special? Application specific Specialize and optimize the design for specific application Not a general-purpose computer. • Don’t need all the bells and whistles, e.g., hard drive, monitor, keyboard… Have to worry about both hardware and software Have to worry about non-functional constraints Real-time Memory footprint Power Reliability and safety Cost Just functionally working is NOT enough! ECE 455/555 Embedded System Design 20 What will you learn from this course? Hardware Microprocessors, I/O, caches, memory, bus Programming and optimization for Optimal performance Low power Small memory footprint Software Real-Time Operating Systems (RTOS) Real-Time Scheduling Analysis Hardware/software co-design Practical system programming Sensor motes: TinyOS Smartphones: Android ECE 455/555 Embedded System Design 21 What will you NOT learn from this course? Chip design ECE 451: Computer System Architecture Wireless/mobile networking ECE 453: Computer Communication Networks ECE 556: Wireless Sensor Networks Mobile application development Fancy UI, graphics optimization, user experience… ECE 455/555 Embedded System Design 22 Grading Midterm exam 15% Final exam 20% Group project 45% Proposal presentation 5% Midterm presentation/demo 10% Final presentation/demo 15% Final report 15% Normally 3 students/group (2 may be acceptable) Labs (3) 15% Lab hours? Doodle poll: http://doodle.com/9b5zakhqpbv26xmq Enter your time availability before next Wed 8/26 Participation 5% ECE 455/555 Embedded System Design 23 Course policy Academic integrity Must be your OWN work No collaboration for homework/lab assignment Lab policy Results must be checked by TA Printed copy of source code needs to be submitted Exam policy Closed-book, No discussion, No make-up exams Project policy Clearly identify the contribution of each group member Class policy No laptops in class Attend each lecture ECE 455/555 Embedded System Design 24 Poll Are you a junior? a senior? a graduate student? Do you know C? C++? Assembly? Do you know RISC architecture? Will briefly review needed architecture concepts Do you know operating systems? Will review needed OS concepts Are you prefer more technical contents or programming details? ECE 455/555 Embedded System Design 25 Next Class Introduction of course projects Have a look at the sample student projects in the past at the course website http://web.eecs.utk.edu/~weigao/ece455/fall2014/ece455 -fa14.html http://web.eecs.utk.edu/~weigao/ece455/fall2013/ece455 -fa13.html http://web.eecs.utk.edu/~weigao/ece455/fall2012/ece455 -fa12.html ECE 455/555 Embedded System Design 26