|
EECE 218 Introduction to Microprocessors and Microcontrollers Spring 2007 Instructor: G. Karsai (gabor.karsai@vanderbilt.edu), 2015 Terrace Place Hours: MWF 10:00-11:00 or by appointment (in FGH) Lecture: MWF 9:10-10:00 Labs: Embedded Micro Lab (FGH 208) TA: Chris Costello (christopher.j.costello@Vanderbilt.Edu) This
course is intended to give you a solid background in the design and operation of
microcomputer systems. While no
assumptions are made with respect to your knowledge of the electronic devices
that constitute microcomputers, it is assumed that you have completed (a) an
elementary programming course (preferably in C), and (b) an elementary logic
course (such as EECE 116). Even
though the chips that support microcomputers will be treated as “black boxes''
that function according to certain rules, do not be deceived into thinking that
this approach makes the material simple. Microprocessor
programming is like chess--the rules may be learned easily, but proficiency
requires a lot of practice. You should also understand clearly that while the theoretical
fundamentals of this discipline are straightforward, the mass of material in
this course is a challenge to even those who are already familiar with these
topics. This
course is based on the text “Microcontroller Technology'' by P. Spasov
(Prentice-Hall). The course will emphasize the Motorola 68HC11 family of 8-bit
microprocessors; you will learn about the internal architecture and assembly
language of this family and how it may be used to support dedicated (or
embedded) applications. It should
be emphasized that while ``high-level'' (Windows, Linux, etc.) systems are used
as tools in this course, the goal here is not to provide instruction and
practice in high-end microprocessor-based systems, but to study small scale,
embedded systems in detail. Layers
of software between the user and the machine are necessary, but many tasks can
be done only through intimate knowledge of what the bits do. KernelThe course lasts 14 weeks and there will be 10 lab sessions. Lab requirements are described in the Lab Information section. There will be little formal homework. Please understand clearly that in this class the lab exercises are of sufficient complexity and difficulty to serve as the homework assignments. Do not underestimate the time commitment needed for the labs. There will be a "Lab practical exam", where the lab groups have to build a microcontroller-based version of the Blinky project from EECE 116. As a minimum requirement, every project must work as well as the simpler (EECE116) version. However, with clever software, Blinky can be made faster and more intelligent. At the end of the semester, there will be a competition among Blinkies, and the fastest one (that runs the path fastest without losing track),will earn 25% of the final exam's grade for its designers. The last two weeks are reserved for this project, but the groups can start working on the projects as early as the parts arrive. TextbookMicrocontroller Technology: The 68HC11, (Fourth Edition). Peter Spasov. Prentice Hall, 2002. ISBN 0-13-019579-0. Grades
are determined on the basis of your relative performance in the class and will
be based on both classroom and laboratory performance according to the following
algorithm:
Midterms
will be given according to the schedule below. All examinations will require
blue books. There will be no
makeup exams; excused absences will receive grades based on other
performance, unexcused absences will receive a 0.
Occasional quizzes will be announced. Please understand that to pass the
course all lab exercises must be completed; this includes the lab write-up. Lab
write-ups will not be accepted after the date shown below.
If you turn in a piece of paper with your name on it, this constitutes
completion of the lab, but you will get a 0 for your effort.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Week 1 | January 23 | Lab # 1: Introduction to microcomputing |
| Week 2 | January 30 | Lab # 2: Cross compiling on a host system |
| Week 3 | February 6 | Lab # 3: The WOOKIE simulator |
| Week 4 | February 13 | Lab # 4: Some math operations |
| Week 5 | February 20 | Lab # 5: Floating point library |
| Week 6 | February 27 | Lab # 6: Parallel I/O: Lights and 7-segment display |
| Week 7 | March 13 | Lab # 7: A programmable function generator |
| Week 8 | March 20 | Lab # 8: The 68HC11 timer |
| Week 9 | March 27 | Lab # 9: Asynchronous serial communications |
| Week 10 | April 3 | Lab #10: System debugging |
| Week 11 | April 10 | Begin “Blinky” project, Make-up Lab |
EECE 235 (Electronic Circuits I), or equivalent, or consent of instructor.
You will be responsible for knowing ALL material delivered in the lecture and structured labs, and some of this material is not included in the text-books. If you anticipate missing classes due to trips, plan to obtain notes from someone else and review them as soon as you return. Engineering school policy specifies that class attendance is required.
Although Dr. Karsai is responsible for the course overall, this responsibility includes a lot of unseen details with respect to the operation of the lab. The TAs are the primary "interface" for lab-related matters. Thus, any communication outside the classroom regarding scheduled lab or project matters must be made first with your lab TA . This rule will be strictly enforced.
Since this course is primarily lab-oriented, there will be no homework. Consider your ongoing homework assignment as keeping current in the course and structured labs. You may find that with all of the new procedures in the lab, your first exercises will require more time than the standard laboratory period to complete. Bear in mind that it is extremely difficult to catch up if you get behind, and this is the main reason for students doing poorly in the course. There is a penalty for all lab write-ups that are turned in late (except by prior consent of the lab instructor); this is to encourage you to stay current. Engineering school policy requires completion of every class assignment in order to receive a passing grade.
First lab week -> Week of January 23 Midterm #1 -> Friday, February 3 Midterm #2 -> Friday, March 3 Midterm #3 -> Friday, April 7 Blinky projects begin -> Week of April 10 Lab write-ups due -> Friday, April 14 Blinky Projects due -> Tuesday, April 25
Exam dates are graven in stone. If possible, plan your plant trips around exams; makeup exams will be given only for medical excuses.
Grades are determined on the basis of your relative performance in the class and will be based on both classroom and laboratory performance according to the following algorithm:
Midterms 3 x 15% = 45.0% Lab grade 1 x 20% = 20.0% Blinky Project 1 x 15% = 15.0% Final Exam 1 x 20% = 20.0% TOTAL 100%
Assignment of letter grades will be relative to your performance compared with the entire class. Final examinations are mandatory. Please understand that grades are earned, not negotiated. If you are concerned about getting a good grade in the class, the time to start doing something about it is the first day of class. If you come to every class, do your lab work independently, and employ study habits that keep you current with the material, you will do well in the course.
Coding,
binary and hex arithmetic
Von-Neumann
machine
6800
architecture, basic instructions
Addressing
modes, condition codes (1)
Addressing
modes, condition codes (2)
Repetition:
branches and conditions
Other
instructions (1)
Other
instructions (2)
Assembly:
syntax and directives
Midterm
#1
Stacks
and subroutines
Program
design: structured programming
Program
design: design and coding
Arithmetic
instructions: multiplication and BCD arithmetic
Single
precision math algorithms
Floating
point math: representation
Floating
point math: algorithms
68HC11
architecture
Interrupts
(1)
Parallel
IO (1)
Parallel
IO (2)
Midterm
#2
D/A
conversion
Interrupts
(2)
Timers
(1)
Timers
(2)
Serial
IO (1)
Serial
IO (2)
Debugging
hardware
Debugging
software
System
debugging
A/D
conversion
The
6811 bus
Midterm
#3
Memories
in microprocessor systems
Address
decoding methods (1)
Address
decoding methods (2)
System
design: generalities
System
design: buses (3-state, O/C)
System
design: external interfacing
Other
microprocessors: Intel, PIC, 16-bit chips
Experience in making microprocessor systems function is the primary goal of this course, so laboratory work will receive a strong emphasis. You should expect that the labs will take a long time and even though you will have a lab partner, you should plan to work independently as much as possible. If you prepare for the labs on your own and execute them without significant help from your partner, you will breeze through the midterm tests and Final examination. Be aware that in the past several years final grades have dropped one letter due to poor performance on the Final Exam.
All of the ten scheduled labs are structured and mandatory. The remaining time should be spent on development of your project. The tentative plan for the structured labs is as follows:
You will be using PC's for editing and testing your code. The procedures require that you MUST be familiar with editing (e.g. with Notepad, Edit, etc.) and downloading.
During this Spring 2004 semester, there will not be an access to the UNIX system. You may edit and test-assemble your code on any available PC off site. If you do not have an ASCII text editor (Note: Word processors, such as MSWord, are not really suitable for this purpose), you can use Notepad Windows. The assembler as11 has been provided by Motorola, and it is considered "freeware". See your lab T.A. if you are interested in having a copy of this program. The downloading facility in the lab supports high-density (3.44 MB) diskettes, so you can do editing and test-assembly in the ECE lab.
You should have your programs written and entered before you come to the lab. Otherwise you will be denied entry to the lab. The reason is because you will otherwise find it extremely difficult to finish the exercises in the allotted period. Completed write-ups with corrected code are due at the NEXT weekly lab meeting. Late write-ups will only be accepted with prior consent of the lab instructor, and (except for medical excuses) will be penalized a minimum of 10% (i.e., maximum possible score of 90). If you have a conflict or planned trip you must make PRIOR arrangements with your lab T.A. A week's grace period will be extended beyond the end of the structured labs to make up any work you have missed. Lab reports will NOT be accepted after this date; depending on circumstances, labs missing at this time are considered grounds for failure in the course.
The interval after the structured labs are finished is to give you an opportunity to work on your projects with the aid of the lab T.A.'s. Your regular lab meeting is the ONLY time you can be assured of any assistance. You cannot expect to get help outside of your lab period unless you have made an appointment with your T.A. or assigned instructor. Do not blow these unstructured labs off and then expect to get help in the last week before projects are due.
Your lab grade is 20% of your overall course grade. Reports will be graded not only on content, but thoroughness, organization, neatness and good English (grammar, spelling, and punctuation). THESE ARE THE HALLMARKS OF A GOOD ENGINEER. Cultivate good works habits NOW; they must serve you for the rest of your career. The exercises designed to train you in technical communication. Since the lab TA's already know the answers, they will be impressed most with how you present them. The report contents should reflect your team's comprehension of the lab handouts as well as the purpose of the lab and the reason for the results.
Violations of safety guidelines as given by the lab instructor will result in immediate dismissal from the lab with a failing grade. No warnings are issued!
Vanderbilt is committed to equal opportunity for students with disabilities. If you have a physical or learning disability, you should ask the Opportunity Development Center to assist you in identifying yourself to the instructor as having a disability, so that appropriate accommodation may be provided. Absent notification the instructor will assume that you have no disabilities and seek no accommodation.
Regarding safety and emergency evacuation issues the students should follow the related guidelines of the School of Engineering as following evacuation details. In the event of a fire or other emergency, the occupants of this class should collect coats and personal belongings and leave the building through the exit 302 (external stairwell). The class should collect at Commodore Vanderbilt statue.
|
|
If, in consequence of a disability, you anticipate the need for assistance, please discuss that need with the instructor.
All work submitted in this course falls under principles and regulations of the Honor System at Vanderbilt University.
| EE-218
Homepage |
Syllabus | Schedule | Lab
News |
Faculty |
Contact Information | Lab Info
|
Project
|
Department of Electrical Engineering and Computer Science |
Search |
Site Index
| People Finder
| Phone
Directory | VUnet |
VUmail
Last Updated:
Tuesday, January 16, 2007
Juan J. Rodriguez-Moscoso
Teeradache Viangteeravat
Box 1824 Station B
Nashville, TN 37235
Phone: 322-2771
Fax: 343-6702
Copyright © 2005 Vanderbilt University