Download presentation
Presentation is loading. Please wait.
Published byKristopher Bates Modified over 9 years ago
1
Embedded Systems – Shape the World Course Review: Jan – May 2015 edX – MOOC UT.6.02x University of Austin, Texas Jonathan Valvano & Ramesh Yerriballi Student: Craig Cook TriEmbed Group – 8 June 2015 www.triembed.org
2
Who am I? Bachelor of Information Technology Worked in IT since mid 90's Former Systems Administrator IT Manager Recently interested in Raspberry Pi and Ardunio
3
edX MOOC - Massive Online Open Course 28,000 students (approx) 4000 worked on real board finished one lab Tiva™ C Series TM4C123G LaunchPad Evaluation Board - ARM Cortex™-M4F CPU Sponsors: ARM and Texas Instruments Free (optional paid certificate)
4
Target Students High School or College student thinking about engineering career Tech who likes gadgets (should know about http://embedded.fm) Professional engineer expanding skills to embedded systems
5
Course Goals Understanding how the computer stores and manipulates data The understanding of embedded systems using modular design and abstraction C programming: considering both function and style The strategic use of memory
6
Course Goals (Continued) Debugging and verification using a simulator and on the real microcontroller How input/output using switches, LEDs, DACs, ADCs, motors, and serial ports The implementation of an I/O driver, multithreaded programming Understanding how local variables and parameters work
7
Course Goals (Continued) Analog to digital conversion (ADC), periodic sampling Simple motors (e.g., open and closed-loop stepper motor control) Digital to analog conversion (DAC), used to make simple sounds Design and implementation of elementary data structures
8
Buying Hardware Worldwide Course Element14 Digikey Mouser US$40 - US$70 parts http://edx-org- utaustinx.s3.amazonaws.com/UT601x/index.ht ml
9
Image from http://users.ece.utexas.edu/~valvano/Volume1/ E-Book/
10
Software Keil uVision (V4.74) - compiler/debugger/simulator developed by ARM TexaS - Test EXecute and Simulate C programming language
11
Support piazza (student forums) Study Groups (organized via piazza)
13
Module 1 Welcome and Introduction to course and staff Introduction Structure and Objectives Syllabus http://users.ece.utexas.edu/~valvano/Volume1/ E-Book/ Assessment New for Spring 2015
16
Module 1 Welcome and Introduction to course and staff Introduction Structure and Objectives Syllabus http://users.ece.utexas.edu/~valvano/Volume1/ E-Book/ Assessment New for Spring 2015
17
Module 2 Fundamental concepts Binary number systems Embedded Systems Introduction to Computers IO ports (GPIO) / Alternate function CPU registers Assembly Language Address space and memory map Software Development Process
18
Figure 2.6. An embedded system includes a microcomputer interfaced to external devices. http://users.ece.utexas.edu/~valvano/Volume1/E- Book/C2_FundamentalConcepts.htm
19
Module 2 Fundamental concepts Binary number systems Embedded Systems Introduction to Computers IO ports / Alternate function CPU registers Assembly Language Address space and memory map Software Development Process
20
Module 3 Electronics Electric Circuits Resistors Voltage Current Ohm’s Law
21
Module 4 Digital Logic Binary Information Implemented with MOS transistors Digital Logic Flip-flops are used for storage Binary Adder Digital Information stored in Memory
23
Module 4 Digital Logic Binary Information Implemented with MOS transistors Digital Logic Flip-flops are used for storage Binary Adder Digital Information stored in Memory
24
Logic Functions
25
Module 4 Digital Logic Binary Information Implemented with MOS transistors Digital Logic Flip-flops are used for storage Binary Adder Digital Information stored in Memory
26
Module 5 Introduction to C programming Introduction Structure and Organization of C Variables and Expressions Functions Conditional branching and loops Keyboard input using scanf C Keywords and Punctuation
28
Module 6 Microcontroller Input/Output Stellaris and Tiva pins Basic Concepts of Input and Output Ports I/O Programming and the Direction Register Debugging monitor using a LED Hardware Debugging Tools
29
Alternate Functions UART Universal asynchronous receiver/transmitter SSI Synchronous serial interface I2C Inter-integrated circuit Timer Periodic interrupts, input capture, and output compare PWM Pulse width modulation ADC Analog to digital converter, measure analog signals Analog Comparator Compare two analog signals QEI Quadrature encoder interface USB Universal serial bus Ethernet High-speed network CAN Controller area network
30
Module 6 Microcontroller Input/Output Stellaris and Tiva pins Basic Concepts of Input and Output Ports I/O Programming and the Direction Register Debugging monitor using a LED Hardware Debugging Tools
31
Initialize an I/O port for general use void PortF_Init(void){ volatile unsigned long delay; SYSCTL_RCGC2_R |= 0x00000020; // 1) activate clock for Port F delay = SYSCTL_RCGC2_R; // allow time for clock to start GPIO_PORTF_LOCK_R = 0x4C4F434B; // 2) unlock GPIO Port F GPIO_PORTF_CR_R = 0x1F; // allow changes to PF4-0 // only PF0 needs to be unlocked, other bits can't be locked GPIO_PORTF_AMSEL_R = 0x00; // 3) disable analog on PF GPIO_PORTF_PCTL_R = 0x00000000; // 4) PCTL GPIO on PF4-0 GPIO_PORTF_DIR_R = 0x0E; // 5) PF4,PF0 in, PF3-1 out GPIO_PORTF_AFSEL_R = 0x00; // 6) disable alt funct on PF7-0 GPIO_PORTF_PUR_R = 0x11; // enable pull-up on PF0 and PF4 GPIO_PORTF_DEN_R = 0x1F; // 7) enable digital I/O on PF4-0 }
32
Module 6 Microcontroller Input/Output Stellaris and Tiva pins Basic Concepts of Input and Output Ports I/O Programming and the Direction Register Debugging monitor using a LED Hardware Debugging Tools
33
Module 7 Design and Development Process Product Life Cycle Successive Refinement Quality Design Functions, Procedures, Methods, Subroutines Making Decisions
35
Module 7 Design and Development Process Product Life Cycle Successive Refinement Quality Design Functions, Procedures, Methods, Subroutines Making Decisions
36
Golden Rule of Software Development Write software for others as you wish they would write for you.
37
Module 7 Design and Development Process Product Life Cycle Successive Refinement Quality Design Functions, Procedures, Methods, Subroutines Making Decisions
38
Module 8 Interfacing Switches and LEDs Breadboards Switches LED interfaces Hardware and software design using flowcharts. Testing
39
Module 9 Arrays and Functional Debugging Debugging Theory SysTick Timer Arrays Strings Functional debugging
40
Module 10 Finite State Machines Phase Lock Loop Systick Structs Finite State Machines Stepper Motors
42
Finite State Machine http://users.ece.utexas.edu/~valvano/Volume1/E- Book/C10_FiniteStateMachines.htm Interactive Tool 10.1
43
Module 10 Finite State Machines Phase Lock Loop Systick Structs Finite State Machines Stepper Motors
44
Module 11 Serial Interfacing I/O Synchronization Universal Asynchronous Receiver/Transmitter (UART) - The Serial Interface Conversions Distributed Systems Interfacing the Nokia 5110
46
Module 11 Serial Interfacing I/O Synchronization Universal Asynchronous Receiver/Transmitter (UART) - The Serial Interface Conversions Distributed Systems Interfacing the Nokia 5110
47
Module 12 Interrupts Interrupt Concepts Inter-thread communication and synchronization Nested Vectored Interrupt Controller (NVIC) on the ARM Cortex-M Processor Edge-triggered Interrupts SysTick Periodic Interrupts DC Motor Interface with PWM
48
Module 13 DAC and Sound Approximating continuous signals in the digital domain Interactive Tool 13.1 Digital to Analog Conversion Interactive Tool 13.2 Sound Generated by Speakers Music Generation
50
Module 13 DAC and Sound Interactive Tool 13.1 http://users.ece.utexas.edu/~valvano/Volume1/ E-Book/C13_DACSound.htm
51
Module 13 DAC and Sound Approximating continuous signals in the digital domain Interactive Tool 13.1 Digital to Analog Conversion Interactive Tool 13.2 Sound Generated by Speakers Music Generation
52
Module 13 DAC and Sound Interactive Tool 13.2 http://users.ece.utexas.edu/~valvano/Volume1/ E-Book/C13_DACSound.htm
53
Module 13 DAC and Sound Approximating continuous signals in the digital domain Interactive Tool 13.1 Digital to Analog Conversion Sound Generated by Speakers Music Generation
55
3 Bit DAC
56
Module 14 ADC and Data Acquisition Analog to Digital Conversion ADC on the TM4C123/LM4F120 Nyquist Theorem Data Acquisition and Control Systems Robot Car Controller
59
Module 14 ADC and Data Acquisition Analog to Digital Conversion ADC on the TM4C123/LM4F120 Nyquist Theorem Data Acquisition and Control Systems Robot Car Controller
61
Module 14 ADC and Data Acquisition Analog to Digital Conversion ADC on the TM4C123/LM4F120 Nyquist Theorem Data Acquisition and Control Systems Robot Car Controller
62
Module 15 Systems Approach to Game Design Requirements Document Modular Design Introduction to Graphics Using Structures to Organizing Data Periodic Interrupt using Timer 2A Random Number Generator Summary and Best Practices
64
Lab 16 Internet of Things Introduction to the Internet of Things The internet in a nutshell Internet of Things IP Addresses CC3100 Booster pack Client Server communication Communication with a weather server Summary and best practices
65
Final Thoughts Many hours of work Great introduction to Embedded Systems Want to finish course Possible future presentations
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.