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.

Kernel

The 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.

Textbook

Microcontroller 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:

  • 3 Midterms:               3 * 15%

  • Lab grade:                 20%

  •   Blinky project:          15%

  •  Final Examination:      20%

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.

  Lab Schedule

The schedule for the lab exercises is presented below.  This schedule will be followed precisely, with the exception that alterations might be required to insure coordination with support material presented in class.

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

Prerequisites

EECE 235 (Electronic Circuits I), or equivalent, or consent of instructor.

Course ground rules

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.

Dates Graven in Stone

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.

Tentative Course Schedule:

  • Intro, administration, computer hardware

  •  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

  The Honor Code applies to all work turned in for credit. Constructive discussion of lab problems is encouraged. Comparing lab approaches is encouraged.  These kinds of interactions are normal in an engineering environment. Copying the work of another student, present or past , is expressly forbidden; the final presentation of your work must be done by you alone.

  There will be no interaction between students during exams.

  Violations of the honor code will be prosecuted vigorously. Engineers don't cheat; the stakes are too high.  Conversely, cheaters do not become engineers.


Laboratory

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.

Guidelines for Lab Write-ups

Lab write-ups include two documents, the lab notebook and the formal lab report. Each lab group is responsible for the preparation of the write-ups jointly, but the lab reports are submitted individually. Write-ups in general will follow the format of lab write-ups you have prepared for other EE courses. Your lab TAs will make write-up policy ABUNDANTLY CLEAR in the first lab meeting.

Grading

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.

Safety

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!

Students with disabilities

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.

Emergency evacuation

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.

VANDERBILT UNIVERSITY POLICY FORBIDS REENTRY TO A BUILDING IN WHICH AN ALARM HAS OCCURRED WITHOUT AUTHORIZATION BY VANDERBILT POLICE AND SECURITY

If, in consequence of a disability, you anticipate the need for assistance, please discuss that need with the instructor.

Honor System at Vanderbilt

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
Box 1824 Station B
Nashville, TN 37235
Phone: 322-2771
Fax: 343-6702


 | Search | Site Index | People Finder | Phone Directory | VUnet | VUmail | VU Library | Help |


Last Updated: Tuesday, January 16, 2007

Juan J. Rodriguez-Moscoso

Teeradache Viangteeravat

Copyright © 2005 Vanderbilt University