CSE477 Syllabus
Catalog Data
CSE 477 Digital System Design (4) Students
use the laboratory to design, simulate, construct, and debug a substantial
project that includes hardware, software, and communication components.
Lectures focus on use of embedded processors in digital system design and
interfacing techniques. Writing and debugging of real-time reactive software
emphasized. Prerequistes: CSE378 and CSE467.
Course Goals
-
To serve as a capstone design course to tie together the
computer engineering curriculum via the design of a complete embedded system
involving hardware, software, and communication components.
-
Understanding of basic microcontrollers and their use in
embedded system design.
-
To gain appreciation for the software issues in embedded
system code.
-
Familiarity with basic serial and parallel communication
methods.
-
To experience the development of a complete product from
design to implementation and debugging.
-
To present design goals and decisions as well as implementation
results in both verbal presentation and written documentation.
-
To work toward a common goal in a team environment.
Course Syllabus
-
Introduction to embedded systems
-
Microprocessors and microcontrollers
-
Review of basic computer organization
-
Address/data bus
-
Memories
-
I/O ports
-
Timing subsystems
-
Interrupt handling
-
Interfacing techniques
-
Basic I/O ports
-
Interactions involving time
-
Memories
-
Interface support devices
-
Polling
-
Interrupts and interrupt handling
-
Communication methods
-
Serial
-
Parallel
-
Basic wireless schemes
-
Error correction
-
Flow control
-
Microcontroller software issues
-
Interrupt handling
-
Device drivers
-
Multi-tasking
-
Operating systems for embedded applications
-
Design experiences
-
Case studies of previous projects
-
Industry perspectives
-
Research directions
Workload
The course consists of the following elements:
-
Lectures: there will be approximately 15 formal lectures
and approximately 4 guest lectures from industry representatives.
The remainder of the lectures will be filled with design reviews and
presentations of student projects and/or special topics.
-
Special sessions: there will approximately 3 special sessions
late on Thursday afternoons (4:30-6:30) during the 1st and 3rd week of classes
and then on Tuesday afternoon (4:30-6:30) during the 10th week.
The first session will be used for discussion
of possible class projects. The second will be used to further plan out
the projects. And the last one will be used for project presentations which
we can not fit into the regular schedule.
-
Reading: all materials will be provided to you.
-
Assignments: there will be three laboratory assignments that
will familiarize you with the microcontrollers and PDAs you'll have available
for your projects. Our goal is to have the laboratory experiences be directly
relevant to your projects. The laboratory assignments will also serve to
familiarize you with construction and debugging equipment we have available.
-
Exam: there will be a single 50 minute mid-term exam that
will be open book and notes (only your own, of course). There will be no
final exam.
-
Project: the projects are the heart of the course and will
occupy all of your time during the last five weeks and a good fraction
of your time in the first five weeks of the quarter. You will be expected
to prepare a demonstration during finals week.
This course serves as the capstone design course for the
Computer Engineering Program. Its purpose is to tie together much of the
material from the courses in the curriculum into a coherent whole by asking
you to apply your knowledge to the design, construction, and debugging
of a complete embedded system involving software, hardware, and interfacing.
Because of this holistic mission, this course has a very
heavy workload. It will probably end up being much more than the 4 credits
assigned to the course would normally imply.
Grading
The course grade will be roughly determined as follows:
-
20%: laboratory assignments
-
20%: midterm exam
-
50%: project
-
10%: class participation
Collaboration
Part of the objective of this course is to provide some experience
in working as a team. All projects will be done in groups of two.
However, this does not mean that there should be a split in the material
to be learned. There is a simple rule to keep in mind when working with
a partner: each of you should be able to answer any question about the
laboratory assignment or project. You should never utter words equivalent
to: "my partner did that, I need to ask her what she did." Make sure to
pick your partners arefully and ensure that you are compatible in terms of
personality,
objectives, and study habits. This is very important. Part of your project
write-up will include a statement about each person's precise role in the
design and realization of the project.
You are free to work with anyone in interpreting assignments
and on developing facility with the software tools we will be using. However,
you should thoroughly understand the solutions to the assignments that
your team generates, not to mention that you should know the project like
the back of your hand. On the midterm exam, all work should be solely your
own.
Cheating
Cheating is a very serious offense. It will be dealt with
in the most severe manner allowable under University regulations. If caught
cheating, you can expect a failing grade and initiation of a cheating case
in the University system. Basically, its an insult to the instructor, the
department and major program, and most importantly, to the person doing
the cheating. Just don't.
To avoid creating situations where copying can arise,
you should not ever e-mail or post your design files. You can post general
questions about interpretation and tool use but limit your comments to
these categories. If in doubt about what might constitute cheating, either
don't do it or send the instructors e-mail
describing the situation.
Comments to: cse477-webmaster@cs.washington.edu
(Last Update: )