ELE 4630 - Advanced Embedded Systems

2 lecture hours 2 lab hours 3 credits
Course Description
This course presents advanced techniques for solving problems with embedded microcontroller-based systems. Topics include Real Time Operating Systems, low power operation modes, code optimization, system response, code management, and Finite State Machines. Laboratory work reinforces the concepts learned in the classroom and provides practical experience working with these techniques.
Prereq: ELE 2610  or CPE 2610  (quarter system prereq: EE 2931 or EE 3910B or CE 2820)
Note: None
This course meets the following Raider Core CLO Requirement: None
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Use a debugger to diagnose problems in source code
  • Set up tasks in a Real Time Operating System (RTOS) with appropriate priorities
  • Use semaphores and events in an RTOS to coordinate resource use between tasks
  • Interface to external devices over a serial communication channel
  • Implement a Finite State Machine (FSM) solution to an engineering problem
  • Specify an appropriate optimization level for the code in a project
  • Calculate the interrupt latency of a microcontroller
  • Utilize low power modes and sleep features in a microcontroller to minimize the system power consumption
  • Utilize code management software

Prerequisites by Topic
  • Procedural programming techniques in C
  • Practical understanding of basic microcontroller architecture and peripherals
  • Developing and debugging programs for an embedded system
  • DC circuit analysis

Course Topics
  • Advanced microcontroller architecture review
  • Peripheral overview for target system - GPIO, A/D, timers, serial communication
  • Interrupt latency and system response
  • Real Time Operating System - general features, tasks, events, semaphores, memory management, peripheral drivers
  • Finite State Machine (FSM) implementation using Lookup Tables (LUT)
  • Controlling code size/speed using compiler optimization levels
  • Low power modes - behavior and use
  • Power management and sleep modes

Laboratory Topics
  • Target microcontroller peripherals
  • Finite State Machine implementation
  • Code optimization for speed or size
  • Low power modes of operation
  • Real Time Operating Systems

Coordinator
Dr. Kerry Widder


Print-Friendly Page (opens a new window)