"EE 319K - Introduction To Microcontrollers - PowerPoint"
EE 319K – Introduction to Embedded Systems EE 319K - Summer 2012 - Bill Bard - email@example.com 1 Today’s Agenda • EXAM 3: MONDAY, AUGUST 13, 9-12, ENS 145 • Exam 3 Review • Introduction to EE 445L and EE345M EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 2 General Instructions • Exam 3 will be similar in style to Exams 1 and 2 – approximately the same length and format – you will have three hours if you need it • Good things to study are – all the lecture notes posted – lab work • It will be closed book – you will need a calculator • It will have short answer questions – Conversions, definitions • And longer questions involving assembly and C programming – Local variables, FSM, interrupts, ADC input, DAC • Any technical documents required will be provided EE 319K - Summer 2012 - Bill Bard - email@example.com 3 Quiz 3 Review • Definitions (matching or multiple choice) – volatile, nonvolatile, RAM, ROM, port – static efficiency, dynamic efficiency – structured program, call graph, data flow graph – basis, nibble, precision, decimal digits – fixed-point, overflow, ceiling and floor, drop out – bus, address bus, data bus – memory-mapped, I/O mapped – bus cycle, Harvard architecture, pipelining – tristate, open collector, ALU, D flip flop, registers – device driver, CISC, RISC – friendly, mask, toggle EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 4 Quiz 3 Review • Number conversions - convert one format to another – decimal digits – signed decimal e.g., -56 – unsigned decimal e.g., 200 – binary e.g., %11001000 – hexadecimal e.g., 0xC8 – IEEE 754 floating point EE 319K - Summer 2012 - Bill Bard - email@example.com 5 Quiz 3 Review • Instruction detail and Cortex-M3 operation – 8-bit addition, subtraction yielding result, N, Z, V, C – operation of Thumbnail instructions – components in address space – subroutine linkage – stack operations • Switch and LED interfaces EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 6 Quiz 3 Review • Simple programs – create global variables – specify an I/O pin is an input – specify an I/O pin is an output – clear an I/O output pin to zero – set an I/O output pin to one – toggle an I/O output pin – check if an I/O input pin is high or low – add, sub, shift left, shift right, and, or, eor – subroutine linkage EE 319K - Summer 2012 - Bill Bard - email@example.com 7 Quiz 3 Review • GPIO Ports – friendly programming practices – LED and switch interfacing – bit-banding • System Design – Successive Refinement – Stepwise Refinement – Systematic Decomposition EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 8 Quiz 3 Review • Phase-Lock-Loop – external crystal – system clock stability • SysTick Timer – initialization – operational parameters • period – interrupt source EE 319K - Summer 2012 - Bill Bard - email@example.com 9 Quiz 3 Review • Finite State Machines – Moore and Mealy machine characteristics – abstraction – programming structures • Local Variables – types of storage • stack, registers • C programming – casting and indirection – storage type qualifiers • const, static, volatile EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 10 Quiz 3 Review • I/O Synchronization – purpose – types • blind cycle, busy/wait, interrupt, DMA • operation – Liquid Crystal Display – Device Driver • purpose EE 319K - Summer 2012 - Bill Bard - email@example.com 11 Quiz 3 Review • Interrupts – initialization rituals • software actions/what needs to be done – interrupt service routines • hardware operation • thread context switch/what needs to be done – debugging techniques • FIFO queues – operation – programming EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 12 Quiz 3 Review • Digital To Analog Converter (DAC) – types – operation • Tone Generation – discrete time sinusoid – periodic interrupts – timing requirements • Ethics – IEEE Code Of Ethics EE 319K - Summer 2012 - Bill Bard - email@example.com 13 Quiz 3 Review • UART – operation – programming • ADC – operation – programming • Introduction to information security • Introduction to fuzzy logic control EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 14 Introduction to EE 445L EE 319K - Summer 2012 - Bill Bard - email@example.com 15 Objectives of EE445L • The primary objective of EE445L is for the students to develop the ability to design microcomputer-based embedded systems. This class allows students to learn microcomputer interfacing from both a hardware and software perspective. • Microcomputer Architecture (EE319K review) An Introduction to the Microcomputer, Computer Architecture, The 1968 Instruction Set, 1968 Addressing Modes, 1968 Instructions, Organization of the M68HC12, Notation for Block Diagrams, MC9S12C32 I/O and Memory Organization, The Memory Map of the MC9S12C32 • Programming Microprocessors (EE312, EE322C review) Data Structures in C, Indexable Data Structures, Sequential Data Structures, Writing Clear Programs in C, Documentation, Programming Style, Subroutines and Arguments in C, Passing Parameters (Conceptual Level), Passing Parameters (Implementation Level), Calling and Returning Mechanisms, A Blueprint for Writing Subroutines, Documentation EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 16 • Microcomputer Bus Interfaces Digital Hardware, Modules and Signals, Drivers, Registers, Timing equations, timing diagrams, Address decoding, PROM, RAM interface • Parallel and Serial Input-Output Simple I/O Devices, Basic Input and Output Devices, Input- Output Software, I/O Transfers and Buffered Input and Output, Programmed Logic Control, Table and Linked List Interpreters, Programmable Parallel Input-Output Devices, Problems with LSI I/O and the Ritual, M1968 Single-Chip Parallel Input-Output Registers, Indirect Input-Output, Synchronous Serial Input- Output, Serial I/O Chips, Control of Serial I/O Chips Using a Parallel Port, The LM3S1968 Serial Peripheral Interface • Interrupts and Alternatives Synchronization in I/O devices, Synchronization Principles of I/O Devices, Synchronization Mechanisms for the 1968 Parallel Ports, Slow Synchronization Mechanisms, Real-Time Synchronization, Gadfly Synchronization, Single Interrupts, Polled Interrupts, Vectored Interrupts, Vectored Interrupts in the M1968 EE 319K - Summer 2012 - Bill Bard - email@example.com 17 • Parallel Port Interfaces Keyboards, Key Debouncing, Keyboard Scanning Techniques, LED's and LCD's • Communication Systems Communications Principles, Signal Transmission, UART Link Protocol, UART Transmission and Reception by Software, Serial Communications Interface System in the 1968 • Special Topics About 1-2 weeks each semester will be allocated to cover special state-of-the-art topics involving embedded microcomputers and their applications. • After the successful conclusion of EE445L students should be able to design the hardware/software interface for devices like LCD displays, motors, keyboards, analog sensors and speakers. EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 18 EE 445L Grading policy 35% Laboratory 5% Unannounced pop quizzes, closed book 5% Weekly multiple-choice online homework 15% In class Quiz1, closed book 15% In class Quiz2, open text book 25% Final, closed/open book EE 319K - Summer 2012 - Bill Bard - email@example.com 19 EE445L Microprocessor Applications and Organization • Fixed-point conversion; • Debugging with an oscilloscope and a logic analyzer; • Design of an alarm clock and LCD I/O driver; • Design of a real-time data acquisition system; • Stepper motor interface; • Design of a music player, DAC, data structure design; • Memory interfacing and PCB layout (teams of 6); • Design of a fixed-point calculator, device driver; • Board-level design, construction and testing of a complete embedded system EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 20 EE445L design EE 319K - Summer 2012 - Bill Bard - email@example.com 21 EE 445L Laboratories • Lab 1. ASCII to fixed-point conversions • Lab 2. Debugging, dump profile • Lab 3. Alarm clock, LCD and RTI interrupts • Lab 4. Temperature measurement, ADC, SCI (2 weeks) • Lab 5. Stepper motor, output compare interrupts, finite state machine • Lab 6. Music player, DAC, SPI, audio amp • Lab 7. Preliminary Design of 1968 Embedded System with PCB layout • Lab 8. ZigBee Communication • Lab 9. Final Design, Construction and Evaluation of 1968 Embedded System EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 22 Embedded Systems • Speech encoder/decoder in cell phones • Audio decoder in MP3 players • Audio compensator in a hearing aid • Image/video encoder in digital still cameras • Anti-locking braking system • Engine control system • Navigation system in autonomous vehicle EE 319K - Summer 2012 - Bill Bard - email@example.com 23 Embedded Systems Area • Which courses are most relevant & important? EE 345M for embedded software EE 360R for embedded hardware • What are important technical challenges today? Time-to-market; maximizing use of Moore’s law Verification (does it work?); Integration (buy vs build) • What industries/companies need these skills? Any company making super high volume products • How do I prepare for graduate school? Take EE 360N Comp. Arch. and EE 360C Algorithms Get involved in undergraduate research EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 24 Signal Processing Applications • Embedded system demand: volume, volume, … – 400 Million units/year: automobiles, PCs, cell phones – 30 Million units/year: ADSL modems and printers • Consumer electronics products Product Average Annual Unit Price Revenue Wireless phone $136 $11.5 Billion Digital cameras $271 $ 4.2 Billion Portable CD players $ 48 $ 0.9 Billion MP3 players $137 $ 0.7 Billion Compact audio systems $111 $ 0.5 Billion Source: CEA Market Research (US). Data for 2004 calendar year. EE 319K - Summer 2012 - Bill Bard - email@example.com 25 DSP Processor Market • DSP chips: $22B revenue ‘05 DSP Processor Market – DSP processors: 34.8% of market • 17% annual growth predicted Annual for 2006-2012 8 7 Revenu • 70% of market based in Texas 6 e 5 – DSP cores/FPGAs: rest of market 4 Billions of Dollars 3 • Independent processor 2 1 benchmarking by industry 0 1999 2001 2003 2005 – Berkeley Design Technology 60 Share Inc. http://www.bdti.com 50 TI – Embedded Microprocessor 40 Freescale Benchmark Consortium 30 Agere Analog Dev http://www.eembc.org 20 Philips • FAQ http://www.bdti.com/faq 10 Other 0 2004 2005 Source: Forward Concepts EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 26 Advanced Lab • EE321K Mixed Signals (DAC and ADC) • EE440 Integrated Circuits (chip design) • EE445L Embedded System (Interfacing) • EE345S Digital Signal Process (math) • EE362L Power (circuits, conversions) • EE371C Wireless (communications) • EE374L Biomedical (electronics, LabView) EE 319K - Summer 2012 - Bill Bard - email@example.com 27 For more information • EE321K Mixed Signals (Davis) • EE440 Integrated Circuits (Neikirk) • EE445L Embedded System (Valvano) • EE345S Digital Signal Process (Evans) • EE362L Power (Grady) • EE371C Wireless (Heath) • EE374L Biomedical (Rylander, Pearce) EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 28 Embedded Systems • Take three courses from the following list, including at least one course from Group 1 and one course from Group 2. • Group 1: Embedded Hardware • EE 360M Digital Systems Design Using VHDL • EE 360R Computer-Aided Integrated Circuit Design • Group 2: Embedded Software • EE 445L Microprocessor Applications and Organization • EE 345M Embedded and Real-Time Systems Laboratory • EE 345S Real-Time Digital Signal Processing Laboratory • EE 360P Concurrent and Distributed Systems • At Large Courses in Embedded Systems • EE 360N Computer Architecture EE 319K - Summer 2012 - Bill Bard - email@example.com 29 Embedded Systems Area Digital Logic Introduction to Design Microcontrollers (EE 316 | FS) (EE 319K | FS) Microcontroller Digital Computer Applications and System Design Architecture Algorithms Interfacing (EE 360M | F) Electives (EE 445L | FS) (EE 360N | FS) (EE 360C | FS) Real-Time Computer-Aided and Embedded IC Design Systems (EE 345M | S) (EE 360R | FS) Real-Time DSP Laboratory Concurrent and (EE 345S | FS) Distributed Systems (EE 360P | S) EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 30 EE345M Embedded and Real- Time Systems Lab • Design of a solid state disk, paged EEPROM memory interface, file system, layered software design; • Data acquisition design, analog filter, digital filter, spectrum analyzer; • Design of real-time distributed data acquisition implementing a controller area network (CAN); • Real-time operating system, threads, memory management, blocking semaphores, queues; • Robot competition (DC motors, servo motor, battery circuits, ultrasonic sensors, optical sensors, IR sensors, game strategy, leadership, design) (teams of 4-6) EE 319K - Summer 2012 - Bill Bard - email@example.com 31 EE345M Robot Competition EE 319K - Summer 2012 - Bill Bard - firstname.lastname@example.org 32 EE345S Real-Time Digital Signal Processing Laboratory • digital signal processing: signals, sampling, filtering, quantization, oversampling, noise shaping, and data converters. • digital communications: Analog/digital modulation, analog/digital demodulation, pulse shaping, pseudo-noise sequences, ADSL transceivers, and wireless LAN transceivers. • digital signal processor architectures: Harvard architecture, special addressing modes, parallel instructions, pipelining, real-time programming, and modern digital signal processor architectures. EE 319K - Summer 2012 - Bill Bard - email@example.com 33