Title: MICROCOMPUTER SYSTEMS
Credits: 5 (4 lecture - 1 lab)
Coordinator: James Peckol, Senior Lecturer, Electrical Engineering
Goals: To provide a detailed understanding of the specification, design, implementation, and test of the software side of real time embedded microcomputer systems.
Objectives:
Textbook: Embedded Systems - A Contemporary Design Tool - James K. Peckol
Reference:
Prerequisites by Topic:
Topics:
Course Structure: An integrated series of lectures and laboratory exercises build on prior knowledge of digital systems while focusing on a particular microprocessor. Reading assignments are supplemented with regular lab assignments which seek to reinforce concepts covered in the lectures and the reading. A significant portion of the lecture time is used to understand the design and operation of the processor and the system in which it is embedded. Four to five progressively more difficult C language programming assignments that seek to teach the student good design and documentation as well as to verify functionality as required in the specifications of the assignment are given. Source level debugging is used by the students to debug their programs. One comprehensive examination is used to verify that the concepts covered in both the lectures and the labs are mastered.
Computer Resources: Extensive
use of interactive system for C language program development; use of tools for
source level program debug.
Laboratory:
Examples of labs that might be used:
There
are three laboratory assignments, one final project, and one midterm
exam. The laboratory counts 40%, midterm 30% and the final project 30% of
the grade.
(a) An
ability to apply knowledge of mathematics, science, and engineering.
Four of the five laboratories require the student to assess and analyze the
assignment, then apply basic engineering knowledge to either solve the problem
or state why (based upon their analysis) they are unable to fully satisfy the
requirements. (H)
(b)
An ability to design and conduct experiments, as well as to analyze and
interpret data. A significant component of designing and developing a
real world application is ensuring that one's system performs to specification
in the intended environment. Such assurance can only be gained by testing
the system in such a context then analyzing the results of those tests.
Such a process is integral to this class and to each of the labs and the final
project. (H)
(c)
An ability to design a system, component or process to meet desired needs within
realistic constraints such as economic, environmental, social, political,
ethical, health and safety, manufacturability and sustainability. Four
of the five laboratories assign a particular design problem to be solved.
Students will design and implement interrupt service routines, hard real time
systems, and solutions to constrained real world problems in the laboratory.
The final project brings all of the concepts together through the development
of a (simplified) real world project. Each of the design projects provides a
high-level requirements specification and a design specification for the
problem that must be solved. For the final project, the students are
given only a set of requirements and they must interpret the requirements and
implement the design specification. (M)
(d) An ability to function on
multidisciplinary teams. Although not multidisciplinary since
the class is in the student's selected major, the students work as members of
2-3 person teams to execute each of the labs and the final project. (L)
(e)
An ability to identify, formulate and solve engineering problems.
Covered by (a-c) above. (M)
(f)
An understanding
of professional and ethical responsibilities. Ethics and professional behavior are
strongly stressed throughout the course. Considered areas include
copyrights, national and international patents, licensed material, intellectual
property, plagiarism, citing sources for material or idea, and using published
algorithms and designs. Projects and lab assignments that do not cite sources
as necessary are given failing marks. (M)
(g)
An ability to communicate effectively. All of the lab projects
will require write-ups. Additionally, each student in a design team must
explain their design and the operation of their portion of each project. (M)
(h) The
broad education necessary to understand the impact of engineering solutions in
a global, economic, environmental and societal context. Lecture
material routinely stresses the need for designs to consider international
markets and the need to satisfy international standards, including those for
safety and health. (L)
(i) A recognition of the need for, and an ability to engage in
life-long learning. Lecture material continually
emphasizes that today's technology is transitory and that the students must
learn the basics so that these may form a foundation upon which they will build
future technologies. (L)
(j)
Knowledge of
contemporary issues. (N/A)
(k) An
ability to use the techniques, skills and modern engineering tools necessary
for engineering practice. The laboratory assignments routinely require the
use of contemporary software engineering tools and techniques. (M)
Design/Science Content:
This course assumes that the
fundamental science knowledge related to digital systems has been acquired in
the earlier courses. The design of the CPU, computer system, and software are
emphasized with practical hands-on experience gained by solving several
open-ended programming assignments. The user interface and ease-of-use of each
student's solution are specifically evaluated.
Preparer:
James K. Peckol
Last revised: 10/08/2012