Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Overview

This course introduces students to the design and analysis of computer systems that interact with the built environment. Applications of these systems impact nearly every aspect of modern life. Examples include cell phones, smartwatches, home monitoring systems, medical devices, autonomous (and non-autonomous) vehicles, UAVs, airplanes, submarines and space vehicles. As part of the course, students will learn about architecture, software, and hardware aspects of embedded systems development. The design of systems is a complex multi-objective optimization task, and students will develop an understanding of how to work within the parameters given to meet constraints (e.g. real-time deadlines, memory, disk, connectivity, power, etc.).

Textbook

  • Frank Vahid, Tony Givargis, Bailey Miller, Programming Embedded Systems, Zybook.
  • To order your book:
    1. Sign in or create an account at learn.zybooks.com
    2. Enter zyBook code UARKCSCE4114AndrewsFall2024
    3. Subscribe
  • (Optional) Marilyn Wolf, Embedded System Interfacing: Design for the Internet-of-Things (IoT) and Cyber-Physical Systems (CPS), Elsevier; 2019 Edition.

Lecture Topics

TopicCoverage
Characteristics of Embedded Systems1 week
Basic Software Techniques2 weeks
Parallel Input and Output1 week
Asynchronous and Synchronous Serial Communications1 week
Polling, Interrupts, Timers3 week
Data Acquisition, Sampling Theory and A/D Convertors2 weeks
Real Time Programming Models and Requirements2 weeks
Real Time Scheduling1 week
RTOS’s (FreeRTOS)2 weeks
Selected topics (Trends, OS and Compiler for ES, etc …)1 week

Laboratory Component

This class has a laboratory component allowing students to gain hands-on experience designing,building, and testing an embedded system. Laboratories throughout the semester build towards a final class project. The final project is at the discretion of the Instruction and may vary from semester to semester. Most recently students build an autonomous car controlled by an SoC implemented as soft IP in an FPGA running FreeRTOS using multiple sensors to control servo motors for the car to follow a track and avoid obstacles.

Learning Outcomes

  • Describe the characteristics of embedded systems as well as the challenges related with their design
  • Summarize the key components of an embedded system as well as their interactions
  • Identify and formalize design goals (cost, power, time-to-market, etc …)
  • Choose the right model and tools for capturing and analyze complex embedded systems
  • Conduct a project in team and present the results in a fundamental way
  • Evaluate a produced design and identify where improvements to the design could be made to improve one or more design parameters

Grading

ActivityWeight
2 Exams30% each
Labs30%
Homework10%

Grading will be on a 90%-80%-70%-60% scale. Curving may be applied based on course average.