1 / 66

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. Embedded Systems – Shape the World. Who am I?. Bachelor of Information Technology

daytonl
Download Presentation

Embedded Systems – Shape the World

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Embedded Systems – Shape the World

  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.html

  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)

  12. Module 1Welcome 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

  13. Module 1Welcome 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

  14. Module 2Fundamental 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

  15. 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

  16. Module 2Fundamental 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

  17. Module 3Electronics • Electric Circuits • Resistors • Voltage • Current • Ohm’s Law

  18. Module 4Digital Logic • Binary Information Implemented with MOS transistors • Digital Logic • Flip-flops are used for storage • Binary Adder • Digital Information stored in Memory

  19. Module 4Digital Logic • Binary Information Implemented with MOS transistors • Digital Logic • Flip-flops are used for storage • Binary Adder • Digital Information stored in Memory

  20. Logic Functions

  21. Module 4Digital Logic • Binary Information Implemented with MOS transistors • Digital Logic • Flip-flops are used for storage • Binary Adder • Digital Information stored in Memory

  22. Module 5Introduction 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

  23. Module 6Microcontroller 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

  24. 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

  25. Module 6Microcontroller 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

  26. 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 }

  27. Module 6Microcontroller 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

  28. Module 7Design and Development Process • Product Life Cycle • Successive Refinement • Quality Design • Functions, Procedures, Methods, Subroutines • Making Decisions

  29. Module 7Design and Development Process • Product Life Cycle • Successive Refinement • Quality Design • Functions, Procedures, Methods, Subroutines • Making Decisions

  30. Golden Rule of Software Development Write software for others as you wish they would write for you.

  31. Module 7Design and Development Process • Product Life Cycle • Successive Refinement • Quality Design • Functions, Procedures, Methods, Subroutines • Making Decisions

  32. Module 8Interfacing Switches and LEDs • Breadboards • Switches • LED interfaces • Hardware and software design using flowcharts. • Testing

  33. Module 9Arrays and Functional Debugging • Debugging Theory • SysTick Timer • Arrays • Strings • Functional debugging

  34. Module 10Finite State Machines • Phase Lock Loop • Systick • Structs • Finite State Machines • Stepper Motors

  35. Finite State Machine http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C10_FiniteStateMachines.htm • Interactive Tool 10.1

  36. Module 10Finite State Machines • Phase Lock Loop • Systick • Structs • Finite State Machines • Stepper Motors

  37. Module 11Serial Interfacing • I/O Synchronization • Universal Asynchronous Receiver/Transmitter (UART) - The Serial Interface • Conversions • Distributed Systems • Interfacing the Nokia 5110

  38. Module 11Serial Interfacing • I/O Synchronization • Universal Asynchronous Receiver/Transmitter (UART) - The Serial Interface • Conversions • Distributed Systems • Interfacing the Nokia 5110

  39. Module 12Interrupts • 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

  40. Module 13DAC 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

  41. Module 13DAC and Sound • Interactive Tool 13.1 • http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C13_DACSound.htm

More Related