ECE 4180
Embedded Systems Design Topical Course Outline
Prerequisites: CS 1372 and (ECE 3035 or ECE 3055/3056)
or ECE 2031/20X2
and ECE 2035/3035 and (ECE 3040 or ECE 3055/3056) [all courses min C]
1. Introduction to Embedded Systems
(1 week)
a. Embedded
Products (i.e., Cell Phones, Robots, GPS, Cameras, Transaction Terminals, and
Industrial Controllers)
b. The
Design and Development Process for a new embedded product
c. Software
Development and Debug Tool Flows
2. Hardware for Embedded Systems
Design (5 Weeks)
a. Processors,
Chipsets, and Memory
b. ARM
and X86 ISA
c. I/O
devices and bus interfaces
d. Example
Design (i.e. basic parallel I/O port)
e. Common
Bus Standards (i.e., ISA, PCI, AMBA, PCI Express)
f. Common
I/O interface Standards (i.e., Parallel, RS-232, SPI, I2C, and USB)
g. Analog
I/O using A/D and D/A convertors
h. Driving
high current and high voltage I/O devices (i.e., high-power LEDs, speakers,
motors, and solenoids)
i. Using
PWM to efficiently control external I/O devices (i.e., dimmable lights,
speakers, and motor speed control)
h. I/O device examples (i.e., A/D,
RS-232, cameras, GPS, displays, wired and wireless networks, sensors, SD cards,
IMU, pushbuttons and touch input)
j. Programmed I/O
k. Interrupt
driven I/O
l. Using
DMA for I/O transfers
m. Example System Designs (i.e., small
32-bit ARM and X86-based systems)
3. Software for Embedded Systems
Design (4 Weeks)
a. Role
of an Embedded Operating System
b. Hard and Soft Real-time systems
c. Multitasking,
Threads, and Synchronization
d. Overview
of an example RTOS
e. Operating
Systems used in Embedded Devices (Windows IoT, Linux, Android)
f. Installing
and Building an OS for a new device
g. Application
Development using OS APIs for I/O devices and GUIs
i. BSPs
and developing OS Device Drivers for new I/O devices
j. Developing
Software for Safety Critical Systems
4. Proposed Project Design Review
and Proposal (1 week)
5. Design Project Implementation (3
weeks)
6. Project Demo and Presentation
(1week)