"Dawn breaks over the Pacific" as seen from
the Computer Engineering Instructional Lab - photo courtesy of the Fridgenius project, 2013/2014 CE Capstone Class
Department of Electrical and
Computer Engineering
ECE 153B – Sensor and
Peripheral Interface Design
Winter 2017
Course Fact Sheet
Catalog Description
Prerequisite: ECE 152A with a
minimum grade of C-. Hardware description languages;
field-programmable logic and ASIC design techniques. Mixed-signal techniques: A/D and D/A
converter interfaces; video and audio signal acquisition, processing and
generation, communication and network interfaces.
Instructor
Dr. John M. Johnson (johnson@ece.ucsb.edu)
Harold Frank Hall 3165
Office hours: Monday and Wednesday, 12:30 – 1:30 PM
Monday and Wednesday, 11:00 – 12:15 PM, GIRV 2128
Lab Sections
Monday, 7:00 - 9:50 PM, HFH 4118
(tentative)
Tuesday, 7:00 - 9:50 PM, HFH 4118
Wednesday, 4:00 - 6:50 PM, HFH 4118
Teaching Assistants
Celeste
Bean (celestebean@umail.ucsb.edu)
Caio
Motta (caio@umail.ucsb.edu)
Office
hours: TBD
ECE 153B Web Site
GauchoSpace: https://gauchospace.ucsb.edu
Global Access: http://www.ece.ucsb.edu/Faculty/Johnson/ECE153B
Required:
none
Grading
Midterm
exam: 30%
Lab: 35%
Final
exam: 35%
Exam Dates
Midterm Exam: Wednesday,
February 15, 2016 (11:00 – 12:15 PM)
Final Exam: Thursday,
March 23, 2016 (12:00 – 3:00 PM)
Homework
Assigned occasionally, but will not be collected or
graded. Solutions will be posted
approximately one week later.
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
Laboratory Experiments
Experiment #1 (2 weeks; 1/20/17)
o
Control an LED
o
Lab 1a: Control LED
o
Lab 1b: GPIO and Bit Masking
o
Lab 1c: Delay Function – LED Flashing
o
Lab 1d: Morse Code
o
Read a Digital Input
o
Lab 2a: Read Push-button
o
Lab 2b: GPIO and Bit Masking
o
Lab 2c: Logic between inputs and output
o
Lab 2d: Toggling LED
o
Lab 2e: Sampling of Inputs
o
o
Control Multiple LEDs
o
Lab 3a: LEDs in
Running-One Pattern
o
Lab 3b: Control of Running-One Pattern
o
Lab 3c: Rotary Switch Control of Running-One Pattern
Experiment #2 (1 week; 1/27/17)
o
Print Messages
o
Lab 4a: Semihosting and printf()
o
Lab 4b: Semihosting
Performance Test
o
Lab 4c: Printing Events
o
Lab 4d:
o
Read an Analog Input
o
Lab 5a: Read Trimming Potentiometer
o
Lab 5b: Event Threshold
o
Lab 5c: Read Light Sensor
o
Lab 5d: ADC Noise Test
Experiment #3 (1 week; 2/3/17)
o
Pulse Width Modulation
o
Lab 6a: PWM Control of an LED
o
Lab 6b: PWM Control of an LED, (cont. 1)
o
Lab 6c: PWM Control of an LED, (cont. 2)
o
Lab 6d: PWM Control of two LEDs
o
Control an RGB-LED
o
Lab 7a: Test RGB-LED
o
Lab 7b: Control RGB-LED
o
Control a 7-segment Display
o
o
Lab 8a: Test 7-segment Display
o
Lab 8b: Control 7-segment Display
o
Lab 8c: Control 7-segment Display, cont.
o
Lab 8d: Control Dual Digit 7-segment Display
o
Lab 8e: Control 7-segment Display via Shift Register
Experiment #4 (2
weeks/2/17/17)
o
Work with a Timer
o
Lab 9a: Create Exact Delay Function
o
PWM via a Timer
o
Lab 10a: Control RGB-LED
o
Lab 10b: Buzzer and Melodies
o Lab 10c: Control a Servo Motor
o
Work with a Serial Bus – SPI
o
Lab 11a: Access Shift Register
o
Lab 11b: Control 7-segment Display
o
Lab 11c: Access SPI E2PROM
o
Work with Interrupts
o Lab 12a: Generate IRQ via GPIO
o
Lab 12b: Timer IRQ
o
Lab 12c: Timer IRQ with Callback
o
Lab 12d: Nested Interrupts
o
Lab 12e: Control Dual Digit 7-segment Display
Experiment #5 (2 weeks; 3/3/17)
o
Work with a Serial Bus – I2C
o
Lab 13a: Solder Surface Mounted Components
o
Lab 13b: Read LM75 Temperature Sensor
o
Lab 13c: Control LEDs via
PCA9532
o
Work with a Serial Bus – UART
o
Lab 14a: Transmitting and Receiving via the UART
o
Lab 14b: Direct printf()
to UART
o
Lab 14c: Interrupt driven UART handling and ring
buffers
Projects (2 - 3 weeks; 3/17/17 -
3/24/17) some ideas:
LPCXpresso Experiment Kit
o
Extra: Work with RF-module
o
Lab 15a: XBee™
RF-Module
o
Lab 15b: GPS Receiver
o
Extra: Work with Serial Expansion Connector
o
Lab 16a: 128x128 OLED Graphical Display
o
Extra: Work with USB Device
o
Lab 17a: USB Device – HID
o
Lab 17b: USB Device – Mouse HID
o
Extra: Work with USB Host
o
Lab 18a: USB Host
o
Extra: Work with Ethernet Interface
o
Lab 19a: easyWeb Web
Server
o
Lab 19b: lwIP TCP/IP
Stack, Web Server and FreeRTOS
Legacy Laboratory Experiments (use
NXP LPC 1115 in place of or in combination with TI TMS320C31 DSP)
o
CPLD-based
digital I/O, interrupts, timers
o
Analog-to-digital
and digital-to-analog conversion (3-4 weeks)
o
Motor
Control (pulse-width modulation with encoder feedback)
NXP LPC1700 Lab for the Keil
MCB1768/58 Development
Kit using the μVision IDE