ECE 56800 - Embedded Systems
The final project, done in teams of two or three, will involve the design, implementation, and evaluation of an embedded system. Projects can be hardware based, software based, or even about proving the theoretical properties of a design. A good project should address the following aspects: target applications, related existing solutions, new features and limitations of the design, technological and economic feasibility.
Lecture Hours: 3 Credits: 3
Areas of Specialization:
- Computer Engineering
- CMPE Selective
- EE Elective
This course provides an introduction to the design of embedded and ubiquitous computing systems including their hardware and software architectures, design methodologies and tools, and communication protocols. The lectures are organized into three parts namely, (a) basic design principles including specification and modeling, hardware components and platforms, software organization, embedded and real-time operating systems, interfacing with external environments using sensors and actuators, and communication in distributed embedded systems, (b) advanced topics such as energy management, safety and reliability, and security, and (c) case-studies of real-world systems from a variety of embedded application domains such as biomedical devices, smart cards and RFID, networked sensors, personal computing devices, home appliances and electronics, mobile robotics, etc. In addition to hands-on programming assignments using off-the-shelf embedded system development kits, the course will feature a comprehensive project where students will design, implement, and evaluate a prototype embedded system.
To introduce students to the design issues of embedded systems.
- There is no text book. Assigned readings will be distributed.
- Embedded System Design: A Unified Hardware/Software Introduction , Frank Vahid and Tony Givargis , John Wiley and Sons , 2001 , ISBN No. 04711386782
- High-Performance Embedded Computing: Architectures, Applications, and Methodologies , Wayne Wolf , Morgan Kaufmann Publishers , 2006 , ISBN No. 012369485
A student who successfully fulfills the course requirements will have demonstrated an ability to:
- design simple embedded systems
- choose effective communication for embedded systems
- analyze real-time scheduling algorithms
- identify design flaws
|1||Introduction to embedded systems, overview of the design flow|
|1||Embedded system specification and modeling|
|1||Embedded hardware platforms and peripherals|
|1||Interfacing to the external world through sensors and actuators|
|1||Design and synthesis of ASIC hardware|
|1||Software organization, scheduling, and execution|
|1||Embedded and real-time operating systems|
|1||Wired communication and bus protocols|
|1||Basics of wireless communication and embedded networking|
|2||Energy management and low-power design|
|1||Safety and reliability in embedded systems|
|1||Secure embedded system design|
|1||Case studies: Low-end systems (medical devices, smart cards, sensors)|
|1||Case studies: High-end systems (automobiles, home electronics, robotics)|
|Final||Project presentations and demonstrations|
The students will have several opportunities to satisfy the course outcomes including homeworks, programming assignments, exams, and a final project. A student will satisfy each course outcome when his/her score for the corresponding exam/assignment/homework/project question (s) equals or exceeds a value specified as representing minimal competency. If the student fails to meet this level of minimal competency on a specific course outcome, the student will have a second chance to do so by appearing for a retest (either written or through an interview, to be chosen by the instructor). While the retest will not affect the student's score on the original est, it will provide him/her a second opportunity to demonstrate competency on the course material, thus satisfying the course outcome.