Embedded Systems

Faculty: Andrew H. Fagg (Computer Science)

Teaching assistant: Daniel Flippo

Course Overview

This course provides an introduction to integrated hardware/software solutions in computational systems with sensing and actuation. Today, devices including microwave ovens, VCRs, high-speed trains, automobiles, cochlear implants, and artificial limbs routinely employ a variety of embedded microcontrollers for process control. We will explore the concepts fundamental to these applications while designing and building our own robot controllers.

By the end of this course, you should be able to:

  • design and analyze digital circuits involving combinatorial and sequential components
  • design and implement embedded circuits involving microcontrollers, sensors, and actuators
  • program and debug embedded sensing and control software

  • work in collaborative teams

This is a very hands-on class: every student will be involved in the design, implementation, and programming for the laboratory exercises. Note that this component of the class will involve a non-trivial amount of time; students should plan their schedules accordingly.

Topics will include:

  • digital logic and Boolean Algebra
  • sequential logic
  • number representations and arithmetic
  • basic processor design
  • embedded system development environment,
  • processor input/output implementations and electronic interfaces
  • serial protocols and implementation
  • controller design and implementation
  • basics of operating systems (including concurrency and real-time issues)
  • issues in embedded hardware design

Content