Dec 01, 2023  
2020-2021 Undergraduate Academic Catalog 
2020-2021 Undergraduate Academic Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

CE 2820 - Embedded Systems III

3 lecture hours 2 lab hours 4 credits
Course Description
This course is the third in the embedded system sequence. In this course students will carry out a complete design and implementation of an embedded system over the course of the term with weekly milestones. Topics include a review of C programming, a review of interrupt driven I/O and review of typical microcontroller peripherals such as the UART, timer-counters and others. The I2C and SPI serial protocols will be introduced along with peripherals that implement these protocols. Interface timing will be discussed, and calculations performed to determine the timing compatibility between external devices and the microcontroller based on data sheet information.  System-on-chip concepts will be introduced along with techniques for developing custom peripherals in a hardware description language. (prereq: CE 2812 )
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Use the I2C interface to communicate with external devices
  • Use asynchronous serial to communicate with another computer
  • Describe typical control bus signals for classic Motorola and Intel processors
  • Understand address decoding for memory-mapped peripherals
  • Use data sheet information for performing a timing analysis to verify compatibility between external components and a microcontroller
  • Deploy custom peripherals coded in HDL to an programmable SoC device
  • Design a simple memory-mapped peripheral in HDL to generate PWM signals to control actuators
  • Design software to control on-chip and custom peripherals

Prerequisites by Topic
  • Good program design techniques
  • Assembly language programming
  • C programming
  • Combination and sequential digital logic
  • Hardware description language skills

Course Topics
  • Introduction to I2C and SPI serial protocols and peripherals
  • Servo motor operation
  • Review of timer/counter concepts and PWM signals
  • Memory timing for reads and writes on a memory bus
  • Timing analysis to demonstrate timing compatibility between memory and the microcontroller
  • Development of custom peripherals in HDL
  • Generation and deployment of custom systems on a programmable SoC platform
  • Review use of string operations to create a command line interface

Laboratory Topics
  • Introduction of an incremental design of an embedded system using provided milestones
  • Deploy base SoC computer
  • Generate custom PWM signal generator, add to SoC base computer and deploy to hardware
  • Deploy vendor-supplied streaming video peripheral
  • Generate API for control of complex peripherals via I2C and/or SPI
  • Generate custom peripheral for video capture, add to SoC computer and deploy to hardware

Dr. Adam Livingston

Add to Portfolio (opens a new window)