Introduction ECE 153B Sensor & Peripheral Interface Design
Course Facts Instructor Dr. John M. Johnson (johnson@ece.ucsb.edu) Harold Frank Hall 3165 Office hours: Monday and Wednesday, 12:30 1:30 PM Lecture Monday and Wednesday, 11:00 12:15 PM, GIRV 2128 Lab Sections Tuesday, 7:00-9:50 PM, HFH 4118 Wednesday, 4:00-6:50 PM, HFH 4118 2
Course Facts (continued) Teaching Assistants Will Miller (wmiller@umail.ucsb.edu) Carrie Segal (chsegal@umail.ucsb.edu) Office hours: TBD ECE 153B Web Sites GauchoSpace: https://gauchospace.ucsb.edu Global Access: http://www.ece.ucsb.edu/faculty/johnson/ece153b 3
Course Facts (continued) Grading Midterm exam: 25% Lab: 40% Final exam: 35% Exam Dates Midterm Exam Wednesday, February 10, 2016 (11:00 12:15 PM) Final Exam Thursday, March 17, 2016 (12:00 3:00 PM) Homework Assigned occasionally, but will not be collected or graded. Solutions will be posted approximately one week later. 4
Lectures 1. Introduction 2. Microprocessors, Microcontrollers and Digital Signal Processors 3. Parallel Buses 4. The Memory Subsystem 5. Analog Input and Output 6. Serial Interfaces (part 1) 7. Serial Interfaces (part 2) 8. Motors (part 1) 9. Motors (part 2) 10. Programmable Logic 11. Hardware Description Languages 12. Sensors 5
Lab Information ECE 153B uses the Computer Engineering Instructional Lab (HFH 4118) The Capstone Lab There are two 3 hour lab sections scheduled per week Group size = 2 First lab sections tomorrow and Wednesday Please go before lab (with your lab partner) to the ECE Shop (HFH1160) to purchase your LPCXpresso Experiment Kit 6
LPCXpresso LCPXpresso is a low cost development platform for NXP ARM based LPC processors Particularly for Cortex based processors Consists of LPCXpresso board and an Eclipse based Integrated Development Environment (IDE) from NXP Boards developed jointly by NXP, Code Red and Embedded Artists Boards cost < $30 and IDE is a free download We will use the LPCXpresso IDE in ECE 153B this year 7
LPCXpresso Board LPCXpresso board with LPC1115 processor 8
LPCXpresso IDE 9
LPCXpresso IDE The LPCXpresso IDE is installed on all the computers in the CE Lab You can also download the IDE at http://www.lpcware.com/lpcxpresso/download Once downloaded, follow the instructions in the LPCXpresso User Guide (on GauchoSpace) to activate your version of the IDE Note that LPCware is the NXP software developers users group Lots of software, blogs, forums, etc. 10
LPCXpresso Experiment Kit Purchase the Experiment Kit at the ECE shop ~49 (including the LPC1115 board) 11
LPCXpresso Experiment Kit Each kit contains a Product Registration sheet including a Product Serial Number Follow the instructions on the Product Registration sheet to create an account Use your project name as you username After you create your account, register your experiment kit Once your kit is registered, you can go to the support site and download the software solutions to the experiments There are three ZIP files 12
LPCXpresso Experiment #1 Control an LED Lab 1a: Control LED Lab 1b: GPIO and Bit Masking Lab 1c: Delay Function LED Flashing Lab 1d: Morse Code Read a Digital Input Lab 2a: Read Push-button Lab 2b: GPIO and Bit Masking Lab 2c: Logic between inputs and output Lab 2d: Toggling LED Lab 2e: Sampling of Inputs 13
LPCXpresso Experiment #1 Control Multiple LEDs Lab 3a: LEDs in Running-One Pattern Lab 3b: Control of Running-One Pattern Lab 3c: Rotary Switch Control of Running-One Pattern 14
LPCXpresso Experiment #2 Print Messages Lab 4a: Semihosting and printf() Lab 4b: Semihosting Performance Test Lab 4c: Printing Events Lab 4d: Reading from the Console Read an Analog Input Lab 5a: Read Trimming Potentiometer Lab 5b: Event Threshold Lab 5c: Read Light Sensor Lab 5d: ADC Noise Test 15
LPCXpresso Experiment #3 Pulse Width Modulation Lab 6a: PWM Control of an LED Lab 6b: PWM Control of an LED, (cont. 1) Lab 6c: PWM Control of an LED, (cont. 2) Lab 6d: PWM Control of two LEDs Control an RGB-LED Lab 7a: Test RGB-LED Lab 7b: Control RGB-LED 16
LPCXpresso Experiment #3 Control a 7-segment Display Lab 8a: Test 7-segment Display Lab 8b: Control 7-segment Display Lab 8c: Control 7-segment Display, cont. Lab 8d: Control Dual Digit 7-segment Display Lab 8e: Control 7-segment Display via Shift Register 17
LPCXpresso Experiment #4 Work with a Timer Lab 9a: Create Exact Delay Function PWM via a Timer Lab 10a: Control RGB-LED Lab 10b: Buzzer and Melodies Lab 10c: Control a Servo Motor Work with a Serial Bus SPI Lab 11a: Access Shift Register Lab 11b: Control 7-segment Display Lab 11c: Access SPI E2PROM 18
LPCXpresso Experiment #4 Work with Interrupts Lab 12a: Generate IRQ via GPIO Lab 12b: Timer IRQ Lab 12c: Timer IRQ with Callback Lab 12d: Nested Interrupts Lab 12e: Control Dual Digit 7-segment Display 19
LPCXpresso Experiment #5 Work with a Serial Bus I 2 C Lab 13a: Solder Surface Mounted Components Lab 13b: Read LM75 Temperature Sensor Lab 13c: Control LEDs via PCA9532 Work with a Serial Bus UART Lab 14a: Transmitting and Receiving via the UART Lab 14b: Direct printf() to UART Lab 14c: Interrupt driven UART handling and ring buffers 20
LPCXpresso Projects Extra: Work with RF-module Lab 15a: XBee RF-Module Lab 15b: GPS Receiver Extra: Work with Serial Expansion Connector Lab 16a: 128x128 OLED Graphical Display Extra: Work with USB Device Lab 17a: USB Device HID Lab 17b: USB Device Mouse HID 21
LPCXpresso Projects Extra: Work with USB Host Lab 18a: USB Host Extra: Work with Ethernet Interface Lab 19a: easyweb Web Server Lab 19b: lwip TCP/IP Stack, Web Server and FreeRTOS 22
LPCXpresso Projects ECE 153B Legacy Experiments Use NXP LPC 1115 in place of or in combination with ECE 153B system board and TI TMS320C31 DSP CPLD-based digital I/O, interrupts, timers Analog-to-digital and digital-to-analog conversion Motor Control Pulse Width Modulation with encoder feedback 23
Projects with other hardware platforms and IDE s NXP LPC1700 Lab Keil MCB1768/58 Development Kit Keil μvision IDE ARM University Experiments Embedded Artists LPC 4088 Quick Start Board and Experiment Base Board Keil IDE or NXP LPCXpresso IDE or ARM mbed online compiler 24