Microcontroller System Design


EE 347


Spring 2006

Announcements:

0. Answers to the last homework.

1. The instructions for installing some of the software you will need at home are here (they are also linked from the lab page, and will remain linked there after this announcement goes away).


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

The text 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
EE 245 (formerly known as EE 345), and CSc 218
Corequisites
EE 347L -- Microcontroller System Design 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.
 

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 Jan 18 Introduction

Discuss Syllabus

Read Chapter 1

Homework # 1 assigned.

2 Jan 20 CPU Registers, machine code, source code, assembly vs higher level language

Through Section 1.5

Read section 1.6 again

Homework 1 due at 8:00 am

3 Jan 23 Addressing Modes Section 1.6
4 Jan 25 Sample instructions, hand assembly, program tracing
Through Section 1.8.1

Homework # 2 assigned. Due on Monday, Jan 30

5 Jan 27 Cycle-by-cycle analysis, Dis-assembly using opcode maps,
Sections 1.8.2-1.9, 2.0-2.4 (plus some bonus material not found in your textbook)

Homework # 3 assigned. Part due on Monday, Jan 30 and Part due on Wednesday, Feb 1

6 Jan 30 Flowcharts, Arithmetic

Read sections 2.5 and 2.6 (except 2.6.5 and FDIV) through the bottom of page 59 (skip top of page 60 to start of 2.7
re-read example 2.10

Homework # 2 due before class

7 Feb l Double precision multiplication, Sim68 demo and discussion, relative addressing and the BRA instruction

Homework # 4 assigned. Preliminary results due on Friday, entire assignment due on Monday

Note submission instructions!

Homework 3 due

8 Feb 3 Branching, conditional branching (based on the CCR), loops, shift and rotate instructions, and delay loops.
Sections 1.6.6 and 2.7-2.9

Get started on Homework 4 and email preliminary results by 6pm

9 Feb 6 Introduce the stack Push and pull operations, subroutine calls
Through section 2.9, skipping (for now) 2.7.5. Skim 2.10, concentrating on the parts that are relevant to the axiom Eval boards.

Homework 4 due, via email, see instructions

10 Feb 8 More on subroutines, parameter passing, reentrant and recursive subroutines, examples

Homeworks #5 and #6 assigned.

11 Feb 10 "Well behaved" subroutines. Lengthy Sim68 demo/discussion
12 Feb 13 Finish with reentrant and recursive subroutines. Begin to discuss interrupts (maskability, priority, "stacking registers")
13 Feb 15 Interrupts, maskability, priority, "interrupt vector", "stacking registers",

Homework # 7 assigned, Due before class on Wednesday
Homework # 8 assigned, Due, via email, by noon on Wednesday.

Also see the Calling program (snippet) for Homework # 8

Feb 15 Optional Evening Review Session at 7:00 pm, in CEH 351
Please bring questions, this is not a lecture
14 Feb 17 Exam # 1
Feb 20 No Class -- President's Day Holiday
15 Feb 22 Discuss Test.

Homeworks # 9 and 10 assigned, Due on Monday

Note that all homework submitted after noon today must be entirely your own work. No shared effort on homework assignments.

16 Feb 24 Finish with Chapter 6: Interrupts and Resets (Buffalo Monitor JMP table, local and global enables and masks, various types of interrupts).
Begin discussing I/O (Chapter 7-7.4)

Homework 7 due in class, and Homework 8 due via email by Noon today

17 Feb 27 Parallel I/O. Strobed and handshaking, general discussion (Read sections 7.4-7.7 and skim 7.7-7.11 for project hints)

Homeworks 9 and 10 due

18 Mar 1 Output handshaking, MC68HC11 specifics of handshaking via built-in subsystems
19 Mar 3 Change of pace. Since the handshaking discussion and examples will take (at least) 2 more lectures, I don't want to interrupt that over Spring Break. Today we discussed memory decoding (Section 5.6.2). Although we did not get a chance to discuss the built in analog-to-digital (A2D) subsystem, you should read about this system over break (Chapter 11, skim through 11.4, read 11.5-11.9, and browse 11.10-11.12 for project hints and ideas.

Oh, your project proposals (which were due last week) are absolutley due today if the class wants a "lab day" to work on projects. If everybody doesn't have an approved project by the end of today, we we'll have an additional lab instead of a project day This only needs to be 1-2 paragraph explanation of what you want to do.

Homework # 11 assigned for Monday, March 13th.

Mar 6 No Class. Spring Break
Mar 8 No Class. Spring Break
Mar 10 No Class. Spring Break
20 Mar 13 Discuss the built in analog-to-digital (A2D) subsystem, (Chapter 11, skim through 11.4, read 11.5-11.9, and browse 11.10-11.12 for project hints and ideas.)
Discuss handshaking as handled by the built in 68HC11 subsystems. Go over handshaking example, using MC68HC11 to implement the printer side of 's protocol and begin to discuss other subsystems.

Homework 11 due

21 Mar 15 Review Handshaking, discuss built in 68'11 subsystem and input handshaking. Chapter 7
22 Mar 17 Output handshaking, Centronics printer example. Section 7.12

Homework # 12 assigned for Monday.

23 Mar 20 Centronics Printer example with the 68HC11 as the interface chip. Begin to discuss the Pulse Accumulator Subsystem (Section 8.10)

Homework 12 due

24 Mar 22 Finish with PAI subsystem. Discuss Homework 11.

Homework # 13 assigned for Friday.

25 Mar 24 Discuss on chip EEPROM. This is not covered in your textbook and there is no reading assignment prior to class.

Homework # 14 assigned for Monday.

Homework 13 due

26 Mar 27 Timer Functions (Free running main timer, TIC/TOC functions, Real time interrupts (Chapter 8-8.9)

Homework 14 due

27 Mar 29 Conclude with timer functions (chapter 8) begin Serial Comm. Interface (Chap 9)
Mar 29 Optional Evening Review Session in CEH 351 at 7pm

This is not a lecture, bring questions.

28 Mar 31 Exam # 2
29 Apr 3 Serial communication, RS-232 (Chapter 9)

Homework # 15 assigned for Friday.

30 Apr 5 SCI subsystem on the MC68HC11
31 Apr 7 Discuss Exam
SCI subsystem on the MC68HC11, continued Homework 15 due, in class

Homework # 16 assigned for Monday.

Project Preliminary Design Report is now due on Thursday.

32 Apr 10 Complete discussion of the SCI subsystem on the MC68HC11.
Begin to discuss synchronous serial communication (Chapter 10)
33 Apr 12 Synchronous Serial communication and the SPI subsystem on the MC68HC11 (Chapter 10)
Apr 13 PDR due before 5 pm. Must be handed in to Dr. Fourney
Apr 14 No Class. Easter Recess
Apr 17 No Class. Easter Recess
34 Apr 19 Synchronous serial communication and the SPI subsystem
35 Apr 21 Bus cycles, memory interfacing, and timing diagrams.
Section 5.7

Homework # 17 assigned for Monday

36 Apr 24 Bus cycles, memory interfacing, and timing diagrams.
Section 5.7

Homework # 18 assigned for Wednesday

37 Apr 26 Bus cycles, memory interfacing, and timing diagrams.
Section 5.7
38 Apr 28 Bus cycles, memory interfacing, and timing diagrams.
Section 5.7

Homework # 19 assigned for Monday

. . . . . . . . .
41 May 5 Final project report due If you do not have it ready by class time, you must put it in my hands sometime on Friday
May 8 Final exam -- 9 am -- Crothers 351 (Monday, May 8)