embedded systems – shape the world course review: jan – may 2015 edx – mooc ut.6.02x...
Post on 25-Dec-2015
224 Views
Preview:
TRANSCRIPT
Embedded Systems – Shape the World
Course Review: Jan – May 2015edX – MOOC
UT.6.02xUniversity of Austin, Texas
Jonathan Valvano & Ramesh Yerriballi
Student: Craig Cook
TriEmbed Group – 8 June 2015www.triembed.org
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
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)
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
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
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
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
Buying Hardware
Worldwide Course Element14 Digikey Mouser US$40 - US$70 parts http://edx-org-utaustinx.s3.amazonaws.com/
UT601x/index.html
Image from http://users.ece.utexas.edu/~valvano/Volume1/E-Book/
Software
Keil uVision (V4.74) - compiler/debugger/simulator developed by ARM
TexaS - Test EXecute and Simulate C programming language
Support
piazza (student forums) Study Groups (organized via piazza)
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
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
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
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
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
Module 3
Electronics Electric Circuits Resistors Voltage Current Ohm’s Law
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
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
Logic Functions
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
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
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
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
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
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
}
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
Module 7
Design and Development Process Product Life Cycle Successive Refinement Quality Design Functions, Procedures, Methods, Subroutines Making Decisions
Module 7
Design and Development Process Product Life Cycle Successive Refinement Quality Design Functions, Procedures, Methods, Subroutines Making Decisions
Golden Rule of Software Development
Write software for others as you wish they would write
for you.
Module 7
Design and Development Process Product Life Cycle Successive Refinement Quality Design Functions, Procedures, Methods, Subroutines Making Decisions
Module 8
Interfacing Switches and LEDs Breadboards Switches LED interfaces Hardware and software design using
flowcharts. Testing
Module 9
Arrays and Functional Debugging Debugging Theory SysTick Timer Arrays Strings Functional debugging
Module 10
Finite State Machines Phase Lock Loop Systick Structs Finite State Machines Stepper Motors
Finite State Machine
http://users.ece.utexas.edu/~valvano/Volume1/E-Book/C10_FiniteStateMachines.htm Interactive Tool 10.1
Module 10
Finite State Machines Phase Lock Loop Systick Structs Finite State Machines Stepper Motors
Module 11
Serial Interfacing I/O Synchronization Universal Asynchronous
Receiver/Transmitter (UART) - The Serial Interface
Conversions Distributed Systems Interfacing the Nokia 5110
Module 11
Serial Interfacing I/O Synchronization Universal Asynchronous
Receiver/Transmitter (UART) - The Serial Interface
Conversions Distributed Systems Interfacing the Nokia 5110
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
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
Module 13
DAC and Sound Interactive Tool 13.1 http://users.ece.utexas.edu/~valvano/
Volume1/E-Book/C13_DACSound.htm
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
Module 13
DAC and Sound Interactive Tool 13.2 http://users.ece.utexas.edu/~valvano/
Volume1/E-Book/C13_DACSound.htm
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
Music Generation
3 Bit DAC
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
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
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
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
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
Final Thoughts
Many hours of work Great introduction to Embedded Systems Want to finish course Possible future presentations
top related