Microcontroller System Design


EE 347


Fall 2008

Announcements:

1. Please see the lab web page (also linked below) for lab assignments.


Instructor Dr. Robert S. Fourney
Email Robert.Fourney@ieee.org
Phone Office: 688-4016 (home number handed out in class)
Office 215 Harding Hall
Class Time MWF 2:00-2:50
Class Location Crothers Engineering Hall, room 351
Office hours TBD
Text MC68HC11:An Introduction, Software and Hardware Interfacing, 2nd Ed. by Han-Way Huang, published by Delmar Thompson Learning

You will want to consult your textbook and other references from your programming course(s)

These texts will be supplemented with additional reference materials which will be linked from this page and/or handed out in class as they are assigned.



Prerequisites
To take this class, you must have earned at least a C in EE 245 and successfully completed either CSc 218 or CSc 250.
Corequisites
EE 347L -- Microcontroller System Design Lab has a separate web page. You will not need to purchase an additional text for this lab.
Course Description
This course serves as an introduction to microcontrollers, using the MC68HC11 as an example.
Course Work

Unless otherwise specified, all work that you submit in this course must be your own; unauthorized collaboration is considered academic dishonesty. Please save us both a lot of trouble by realizing that I will pursue any such transgressions to the fullest extent possible.

As a rule, late assigments are not generally accepted (e.g., attempting to hand in an assigment after the start of class on the due date will result in a grade of 0 for that assignment).

Late assignments will only be accepted under exceptional circumstances AND with prior arrangement. A penalty may apply.

Grading Policy
 Final grades will be determined via the following breakdown:

 
Exam #1 20%
Exam #2 20%
Homework and Quizzes 10%
Class Participation (and quizzes) 5%
Design Lab Practical(s) 10%
Lab Project and PDR 15%
Comprehensive Final Exam 20%

Your class participation grade will be determined by your on time attendance to class as well as your participation in classroom discussions. Pop quizzes, when given, will cover material previously covered in class, previous homework assignments, and/or simple questions on the current days reading assignment.
 

Students are required to make a "good faith effort" on all assignments. Failure to do so will adversely effect the grade beyond the limits listed above. You must earn a grade of C or better in EE 347L this semester in order to pass this class

Please read Making the Grade by Kurt Wiesenfeld and keep his views (which I share) in mind when deciding how much effort to invest in your coursework.

Schedule of Upcoming Classes
No. Date Topic, Reading, and Assignment
1 Sep 3 Introduction

Discuss Syllabus

Introduce Reference Guide

Read Chapter 1

Homework # 1 assigned.

Don't forget to write your programs for lab tomorrow.

2 Sep 5 CPU Registers, machine code, source code, assembly vs higher level language

Through Section 1.5

Look at textbook problems E1.1-1.9 and Read section 1.6 again prior to Monday's lecture

3 Sep 8 Addressing Modes Section 1.6
4 Sep 10 Sample instructions, hand assembly and dis-assembly using opcode maps in reference guide (not the table in your textbook)
Through Section 1.8.1

Bring the handout from last time. Always bring your reference guide

Homework # 2 assigned. Due on Friday, Sep 12

5 Sep 12 Bring your textbook to class today

program tracing, cycle-by-cycle analysis, assembler directives, and flowcharts.

For next time: Read Chapter 2 through section 2.5
re-read example 2.10

Homework # 3 assigned for Wednesday.

Homework 2 due today, at start of class

6 Sep 15 Arithmetic, multiple precision addition and subtraction, outline of double precision multiplication, perhaps we'll have time for a Sim68 demo and discussion

Chapter 2 through section 2.7 (except 2.6.5 and FDIV) (so skip top of page 60 to start of 2.7

7 Sep 17 relative addressing and the BRA instruction (branching), conditional branching (based on the CCR)
Sections 1.6.6 and 2.7-2.9

Introduction to the stack and the push and pull operations (Chapter 3-3.3

Homework 3 due before class

You can get started on Homework # 4 after your lab on Thursday.

Note the submission instructions!

8 Sep 19 Continue w/ the stack,
Discuss modular programming, subroutines, storage of the return address, and parameter passing.
Section 3.6-3.10 "Well behaved" subroutines. Sim68 demo/discussion
9 Sep 22 Chapter 6: Interrupts (maskability, priority, "stacking registers")

Homework #5 assigned, due Friday

10 Sep 24 More on Interrupts and Resets (Chapter 6)

Forgot to assign Homework #6 in class. Will send email and postpone due-date till Monday.

After lab tomorrow you could also get a head start on Homework #7 which is due next Wednesday before class.

11 Sep 26 Parallel I/O: Brute Force, Strobed, and handshaking. general discussion (Read sections 7.4-7.7 and skim 7.7-7.11 for project hints)
12 Sep 29 MC68HC11 specific discussion of strobed I/O and handshaking. general discussion
Don't forget to rRead sections 7.4-7.7 and skim 7.7-7.11 for project hints

Homework 6 Due before class

13 Oct 1 Output handshaking, Centronics printer example. Section 7.12

Homework 7 due

14 Oct 3 Output handshaking, Centronics printer example. Section 7.12

Homework # 8 assigned for next Friday

15 Oct 6 Another take on the Centronics printer example (using the 68HC11 to implement the other end of the required handhake). Section 7.12
Discuss the Pulse Accumulator Subsystem (Section 8.10)
Oct 6 Optional Evening Review Session at 6:30 pm, in Solberg 102. This is a new time and location!!!!
Please bring questions, this is not a lecture
16 Oct 8 Exam #1
17 Oct 10 Discuss Exam #1
Oct 13 No Class -- Native American Day
18 Oct 15 Discuss on chip EEPROM. This is not covered in your textbook and there is no reading assignment prior to class.

Homework # 9 assigned for Monday

19 Oct 17 Timer Functions (Free running main timer, TIC/TOC functions, Real time interrupts (Chapter 8-8.9)
20 Oct 20 Lengthy homework discussion. Finish up and clarify TIC/TOC as well as RTI and PAI issues.
21 Oct 22 Memory Decoding: Please read Chapter 5 through Section 5.6. Much of this is review, but some of it is new. Make sure you read Section 5.6.2 and the associated examples prior to class.

We'll also cover the key points on the built-in analog to digital (A2D) subsystem. (Chapter 11, skim through 11.4)

Homework 10 Assigned, now due on Monday

22 Oct 24 Key points on the built-in analog to digital (A2D) subsystem. (Chapter 11, skim through 11.4)
23 Oct 27 Asynchronous Serial Communication w/ the SCI subsystem

Homework 11 Assigned, due on Monday

24 Oct 29 Discuss upcoming lab and past homework (memory decoding)
. . . . . . . . .
Nov 5 Optional Evening Review Session in CEH 351.
Please bring questions, this is not a lecture

Exact time TBD but we will try to start after football practice ends (6:30 pm or later).

28 Nov 7 Exam II
. . . . . . . . .
30 Nov 12 Bus timing on the 68HC11. Skim Chapter 5 through 5.6 Read section 5.7 in detail . You may want to reference the bus timing diagram and the memory timing diagram from lecture.

Homework 12 assigned for Wednesday November 19th

Nov 14 Class cancelled/postponed. Dr. Fourney Ill
31 Nov 17 Wrap up the memory timing issues (see reading assignment for November 12th and slides).

Last day to drop with a "W" (withdraw)

32 Nov 19 Finally wrap up the SCI subsystem. How to actually use the SCI subsystem on the 68HC11.

Homework 12 deadline extended to Friday November 21st

33 Nov 21 The SPI (synchronous serial) subsystem.
34 Nov 24 Meet in Lab (HH 319) during the regular class time. Be on time.

We'll start with this program, before implementing the EEPROM portion of your "second meter"

35 Nov 26 Meet in Lab (HH 319) during the regular class time. Be on time.

We'll start with this program and the associated circuit. We will run this program out of the on-board RAM (as we have been doing all semester), the on-chip EEPROM, and then from a larger on-board EEPROM/FLASH memory unit. Build your circuit on a separate breadboard in case you don't finish it all today (I just put some new breadboards up in 319, you need to stick the metal sheet on the back prior to use).

Nov 28 No Class. Day after Thanksgiving.
36 Dec 1 Go over Motorola/Hitachi timing example.

Homework 14 assigned for Wednesday,
Homework 15 assigned for Friday.

37 Dec 3 Meet in Lab (HH 319) during the regular class time. Be on time.

Those that are behind will need to finish up last Wednesday's assignment for partial credit before demoing their "second meter". The "second meter" should be complete, e.g. it now needs to store the time in EEPROM under program control.

38 Dec 5 Meet in CEH 351. Go over read-cycle and write-cycle timing some more.
39 Dec 8 Meet in CEH 351.
Teaching Evaluations. Discuss selecting a microcontroller for your own (Senior Design or "real world") project.

Also please read this EDN article: Putting the Squeeze on 16 bit microp

40 Dec 10 Current and Future trends in Microcontrollers. How Flash based micro help with time to market and decrease costs, system on a chip. This material is not in your book, but a quick google-search yielded the following three articles which seem to cover the current trends:

Memory options: flash may dominate from EDN (in general, EDN is an excellent resource)

A piece on the evolution of flash microcontrollers, and

a wikipedia article on System on a Chip

. . . . . . . . .
Dec 17 Optional Review Session. 4:00 pm, CEH 351
Dec 19 Final exam -- 2 pm -- Crothers 351 (Friday, December 19th)