UNIVERSITY OF NEVADA, RENO
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING
CPE 406/606 - REAL TIME COMPUTING SYSTEMS
Spring 2008
Catalog Data:
Principles of real time computing with applications to
process control and laboratory data acquisition. Introduction to real time languages
and operating systems. A number of computing projects are to be completed
for credit using laboratory hardware and software.
MicroC/OS-II: The Real-Time Kernel, Jean J. Labrosse, Second Edition, CMP Books, 2002.
References:
Real-Time
Programming: A Guide to 32-bit embedded Development, R Grehan, R. Moote, & I. Cyliax, Addison
Wesley, 1998.
Embedded
Instructor: Dwight Egbert, Professor of Computer Science
Office Hours: Wed.
Goals:
This course is designed to provide the basic principles of real time computing systems and to give students hands-on experience with commercially available real time operating systems such as QNX, Windows CE & embedded NT, embedded Linux, eCos, and MicroC/OS-II real time kernels.
Prerequisites by Topic:
1.
Boolean Algebra.
2. Combinatorial network design.
3. Basic understanding of microprocessors.
4. C/C++ Programming Experience
5. Basic WINDOWS & UNIX skills.
6. Peripheral interface adapters.
7. Basic understanding of timing diagrams.
Topics:
1.
Introduction to Embedded Systems.
2. Introduction to Real-Time Systems.
3. MicroC/OS II and eCos
as Example RTOSs.
4. Software Design Tools.
5. Input/Output Systems.
6. Interrupt Processed Input/Output.
7. Microprocessor-Based Communications.
8. Timers.
Application Projects:
1.
Basic I/O (Serial & Parallel)
2. Analog Voltage I/O - ADC and DAC
3. Critically timed applications
4. Interrupt Service Routines
5. Use of Timers
6. Red Hat eCos real time
operating system
7. MicroC/OS II real time operating system
8. Stepper Motors
If you have a disability for which you will need to request accommodations, please contact me or Mary Zabel at the Disability Resource Center (Thompson Student Services - 107), as soon as possible to arrange for appropriate accommodations.
Course
Outcomes:
The course outcomes are skills and
abilities students should have acquired by the end of the course. These
outcomes are defined in terms of the ABET Accreditation Criterion 3 Program
Outcomes which are relevant to this course. All Criterion 3 Outcomes are listed
below and those relevant to this course are identified in the following Table.
Engineering
programs must demonstrate that their graduates have:
(a) an ability to apply knowledge of mathematics, science, and engineering
(b) an ability to design and conduct experiments, as well as to analyze and
interpret data
(c) an ability to design a system, component, or process to meet desired needs
(d) ability to an function on multi-disciplinary teams
(e) an ability to identify, formulate, and solve engineering problems
(f) an understanding of professional and ethical responsibility
(g) an ability to communicate effectively
(h) the broad education necessary to understand the impact of engineering solutions
in a global and societal context
(i) a recognition of the need for, and an ability to
engage in life-long learning
(j) a knowledge of contemporary issues
(k) an ability to use the techniques, skills, and modern engineering tools
necessary for engineering practice.
|
ABET Criterion 3 Outcomes |
Course Outcomes |
Assessment Methods/Metrics |
CS Program Objectives Impacted |
CIE Program Objectives Impacted |
|
b |
Students
demonstrate that they can design experiments for evaluating real time computing
systems and their time responses. |
Students
must be able to design and perform real time tests for different computer and
software systems and compare the timing results. |
2, 3 |
1, 3 |
|
e |
Students demonstrate that they can apply fundamental
concepts through the design and implementation of specific applications. |
Students
must be able to implement design specifications for several real time system
applications and test the system performance. |
2, 3 |
1, 3 |
|
i |
Students demonstrate that they are aware of existing
real time operating systems and the nature of os
evolution and revision. |
Students
demonstrate on quizzes and examinations their understanding of current technology
trends and the rapid rate of change of these trends. |
4 |
4 |
|
k |
Students demonstrate that they can implement design
specifications using several hardware and software platforms. |
Students
must be able to use specific real time development tools for project
implementations. |
3 |
1, 2 |
Computer Usage:
The laboratory projects will be designed and built using the one of the sample real time operatiing systems.
Laboratory Projects:
Each student will design and build several real-time applications as assigned. The projects will be documented with a typewritten paper which will include a brief description of the project objectives, design approach, problems encountered, and lessons learned. This will be followed by a detailed and annotated block diagram of the software and any circuits used. Each interface application will constitute one or more homework assignments.
Student Participation:
Students are expected to attend all classes and read
all of the assigned sections of the textbook. Often, material will not be
covered in both lectures and reading assignments. Thus, both are essential to a
full understanding of the course content. Also, completion of homework is
essential. Homework will be due each TUESDAY, or the next following class if
there is no Tuesday class.
LATE HOMEWORK WILL NOT BE
ACCEPTED OR GRADED.
Students are encouraged to study together, but each person must prepare his or her solutions and have a firm understanding of any work turned in. When you put your name on your homework you are stating that it is your own work and not the work of another person. As a reminder of UNR academic standards, please read page 80 in the 2006-2007 University Catalog defining these standards. Specifically, the following: "Plagiarism is defined as submitting the language, ideas, thoughts or work of another as one's own; or assisting in the act of plagiarism by allowing one's work to be used in this fashion." This means that if another student asks to borrow your work to copy - JUST SAY NO - or you are participating in plagiarism.
Students enrolled in CPE 606:
1. Graduate
students will achieve a deeper understanding of the material presented to the
combined group through several course activities including special meetings, a
design paper, a research paper, and an oral presentation of their research
results.
2. Graduate students are expected to perform at a level
which demonstrates active interest and initiative in searching out knowledge of
embedded game technology. This means that for each common assignment the
graduate students are expected to demonstrate that they have mastered the
concepts involve in the assignment. They are also expected to have examined
some consequences of the real time computing technology being studied and
searched out others' comments on these consequences.
3. Graduate
students meet as a group with the course instructor approximately once per
month for discussion of research methodologies and appropriateness of specific
journals and conference proceedings for source material. Further, each graduate
student meets individually with the course instructor approximately once per
month.
4. Graduate
students must complete a real time computing project of their choice which
integrates hardware and software. An example of such a project would be the
implementation of a real time operating system (RTOS) not otherwise used in the
course and perform timing tests between this new RTOS and the RTOS being used
in class.
5. These
items 1 through 7 demonstrate the opportunities which graduate students have in
this course for work at a higher academic level.
6. Graduate
student work will be graded based upon the criteria defined in item 2 above.
The assignments must be completed successfully and the student must demonstrate
that he or she understands the context within which the assignment material
exists in the larger field of real time computing systems.
7. Graduate
students are required to complete a research paper which details the evolution
of a chosen aspect of real time computing technology and give an oral
presentation of their results to the class. This research paper must include
appropriate references from the scientific journals which have presented each
step in the development of the technology as it evolved.
For
example, the pivotal paper describing the development of computer generated
sound is: The Synthesis of Complex Audio Spectra by Means of Frequency Modulation, by John M. Chowning, Stanford Artificial Intelligence Laboratory,
"A new application of the well-known
process of frequency modulation is shown to result in a surprising control of
audio spectra. The technique provides a means of great simplicity to control
the spectral components and their evolution in time. Such dynamic spectra are
diverse in their subjective impressions and include sounds both known and
unknown."
The experience gained from preparing the research
paper will contribute directly to graduate student capabilities for thesis and
dissertation preparation.
Course Grade Structure:
Each course activity will contribute to the course grade as shown below. All activities will be graded on a scale of 0-100 points, and the final course grade will be determined as shown below . All quizzes and exams given in this course will be closed notes and closed books. Only calculators and materials handed out at the time of the exam may be used. Normally, plus/minus grades are not given in this class. The instructor reserves the right to assign plus/minus grades under special circumstances involving borderline grades based upon class participation. Your grade will never be lower than defined below unless you have an excessive number of un-excused absences from class, however, positive class participation can be used as a basis for raising your grade.
HOMEWORK AND QUIZZES 50% HOMEWORK AND QUIZZES 40%
MID-TERM EXAM 25% MID-TERM EXAM 15%
FINAL EXAM 25% FINAL EXAM 15%
Research
Paper 15%
Design
Paper 15%
= COURSE GRADE 100% = COURSE GRADE 100%
90 -
100 points = A
80 - 89 points = B
65 - 79 points = C
50 - 64 points = D
00 - 49 points = F