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)