ENGR 844 - Embedded Systems - Fall 2008
Instructor: Seapahn Megerian, Ph.D.
San Francisco State University
School of Engineering
ENGR 844 course bulletin
Contact Info and Office Hours:
Email: | engr844 at seapahn.us |
Office: | SCI 170A |
Office hours: | Tuesdays after lecture and by appointment. |
Time and Place
Lecture, Tuesday, 18:10-20:55, Hensill Hall 206
Textbook
none
Capsule Statement of Course Content:
- Comprehensive study of embedded systems starting from their classification, applications, and standards, to architectures, components, and design practices.
- Some special focus on examples from cellular phone and networked embedded systems domains.
- Project driven course to encourage hands-on experimentation with real embedded systems to gain first-hand insights into design and implementation challenges.
Course Description:
This course is designed to present a broad overview of the vast field of embedded systems to an audience with familiarity with computer engineering principles. The preliminary topics covered will include introduction and classification of embedded systems, the application domains, their components, and design cycles. Some coverage of existing standards will be followed by in-depth looks into several real examples, with more focus on examples from cellular phone domains, digital tv, and emerging networked embedded systems. The course will primarily be project driven to encourage a hands-on approach to the topics discussed in class. Although the topics of this class by their nature are broad, no specific prior knowledge will be assumed and the class will be fairly self contained. Thus, the exact coverage of the material and their related background will depend on the backgrounds of the students attending the lectures (i.e. class participation is strongly encouraged!).
Prerequisites
Recommend students to have taken at least undergraduate level courses in digital design (combinational and sequential circuits), system architecture, computer systems fundamentals, and operating systems. Specific algorithms, computer networking, and distributed system knowledge is not required as the course is designed to be self contained in those domains. Background and relevant material will be reviewed as deemed necessary by the instructor.
Grading
5% - Class participation
5% - Preliminary project proposal
40% - Midterm
20% - Final project presentation and demos
30% - Final project report (website)
Tentative Course Schedule:
- 08-26: Introductions and course overview
- 09-02: Background review (basic concepts, digital design, architecture, ...); Course project assignment
- 09-09: Embedded system classifications, applications, and the design cycle
- 09-16: Hardware platforms (uC, uP, DSP, FPGA, custom ASIC, ...); Form project groups
- 09-23: Memory and storage; Finalize project groups
- 09-30: Student presentations - Preliminary (short) project proposals
- 10-07: Finish presentations; Networked embedded systems (networking stacks)
- 10-14: Distributed and collaborative algorithms (example: distance-vector routing)
- 10-21: Communication technologies (Bluetooth, Zigbee, Ethernet, WiFi ...)
- 10-28: Midterm review, sample problems, homework solutions
- 11-04: Midterm
- 11-11: Veterans Day - No class
- 11-18: Sensors, sensor networks, and surveillance
- 11-25: Fall Recess - No class
- 12-02: Project presentations, demos, and discussions
- 12-09: Project presentations, demos, and discussions
The sections below will be regularly updated throughout the course so check back often!
Recommended reading list and links
- Embedded Systems Architecture: A Comprehensive Guide for Engineers and Programmers
By Tammy Noergaard
Published by Newnes, 2005
ISBN 0750677929, 9780750677929 - Formal Models for Embedded System Design (required reading)
- Intel's X25-M solid-state drive
- First Steps with Embedded Systems - a free ebook that may be interesting. Thanks to Ed P. for sharing his find.
- Building a Web Server on a Business Card
- Expresspcb.com - For those interested in making cheap custom PCBs. Thanks to Ed P. for the link.
- Required reading: Open Systems Interconnection Basic Reference Model on Wikipedia.
- Required reading:
- Recommended to watch: Prototype This: Mind Controlled Car
Announcements
- Background topics that should already be familiar to you.
- Course Project
- Hardware slides shown in class on 9/9/08 online here (ch2 and ch3 slides).
- Project team selections due before lecture on 9/16/08 (email instructor).
- Project team assignments finalized on 9/23/08.
- Some course project ideas
- Homework 1
- Required reading: Formal Models for Embedded System Design
- Project preliminary proposal and presentation slides due by 12pm on 9/30/2008.
- Email PDF of proposal by deadline (1 submission per group).
- If you must absolutely send large files (over 3MB ?), please put online somewhere and send the link if possible.
- Format: Strongly suggest starting this as your project webpage.
- Final report will be required to be in a web page format.
- Preliminary project presentations on 9/30/2008. Plan for 10 minute presentation followed by questions.
- Team orders will be random and some presentations may be delayed till 10/7 if needed.
- Email PDF file before deadline.
- Suggested presentation format: Powerpoint, Google Presentations, PDF
- See updated Project Guidelines (at the end of the page).
- Homework 2
- Read about Bellman-Ford and distance vector routing
- Watch: Prototype This: Mind Controlled Car
- PPT slides on routing (zip file)
- Homework 3
- Project Reports Due 11:59pm Tuesday December 16, 2008
- You are submitting 3 things:
- Link to your project website (which should have pictures, possibly video, audio, etc).
- Project report in PDF format (with a list of team members and contributions on each part of the project).
- Your source code, hardware design (if applicable), and other source materials you have created for the project, data you have collected, etc as discussed in class. You should send your files in a compressed archive (such as zip, rar, gzipped tar, 7z, etc)
- If the files are large, email a link to where they can be downloaded from (strongly encouraged to prevent email problems). If the file gets really large (e.g. over 10MB), email me and we can discuss what to do (send the report separately in that case).
- Make sure you receive an email acknowledgment from me that I got your submission.
- One submission per group is fine
- Include (in your report), the list of team members and contributions (who worked on what parts and how much (%)). This should be something all team members agree on. If there are disagreements, feel free to send me separate lists and describe why you disagree.
- You are submitting 3 things: