EE345L Microprocessor Applications and
Organization Spring 2006 (version 4/2/06)
Class: CPE2.214, Monday, Wednesday 1-2pm
Optional Lab recitation: CPE2.214, Friday 1-2pm
Office Hours: Monday 12-12:45, Wednesday 2-3, Friday 10-11
Instructor: Jonathan W. Valvano, ENS627, 471-5141
email:
valvano@mail.utexas.edu
Web page:
http://www.ece.utexas.edu/~valvano
Text: Embedded Microcomputer Systems: Real Time Interfacing,
2nd Edition, ISBN 0534551629, Thomson 2006, by J. W. Valvano
Lab: ENS252C
Unique Numbers:
15480 TTH 9:30 AM - 11:00 AM John
Porterfield
15485 TTH 11:00 AM - 12:30 PM Nachiket Kharalkar
15490 MW 3:30 PM - 5:00 PM Anil Kottam
15495 TTH 3:30 PM - 5:00 PM John Porterfield
15500 MW 5:00 PM - 6:30 PM Anil Kottam
15505 TTH 5:00 PM - 6:30 PM Robin Tsang
15510 MW 6:30 PM - 8:00 PM James Fu
15515 TTH 6:30 PM - 8:00 PM Robin Tsang
15525 TTH 8:00 PM - 9:30 PM James Fu
EE345L TAs:
Anil Kottam,
kottam@mail.utexas.edu (HEAD TA)
John Porterfield,
John.Porterfield@mail.utexas.edu
Nachiket Kharalkar,
knachike@ece.utexas.edu
Robin Tsang,
rtsang@ece.utexas.edu
James Fu,
jfu@mail.utexas.edu
Reference materials: Data sheets for most of the devices used in
this class are available as pdf files on the class website. See
http://www.ece.utexas.edu/~valvano/EE345L/DataSheets/ (information
about chips)
http://www.ece.utexas.edu/~valvano/metrowerks/TechArts.zip (information
about board)
http://www.ece.utexas.edu/~valvano/EE319K/MC9S12C128_V1.pdf
(information about 9S12C32)
HKN: Spring 2006 EE345L Laboratory Manual by J. W. Valvano
or download all the files at
http://www.ece.utexas.edu/~valvano/EE345L/DataSheets/Lab/
Other references: For programming in C and digital logic, see the EE312 and EE316
texts Also see http://www.ece.utexas.edu/~valvano/embed/toc1.htm
Prerequisites: EE319K, EE322C and EE438 and credit or
coregistration for EE333T.
Teaching philosophy: I strongly encourage students to take an
active role in this class. Questions are welcome before, during and
after class. Please feel free to email, visit or call me if you have
questions.
Specific Objectives of EE345L The primary objective of EE345L
is for the students to develop the ability to design microcomputer-based
embedded systems. This class allows students to learn microcomputer
interfacing from both a hardware and software perspective.
Microcomputer Architecture (EE319K review)
An Introduction to the Microcomputer, Computer Architecture, The
6812 Instruction Set, 6812 Addressing Modes, 6812 Instructions,
Organization of the M68HC12, Notation for Block Diagrams, MC9S12C32 I/O
and Memory Organization, The Memory Map of the MC9S12C32
Programming Microprocessors (EE312, EE322C review)
Data Structures in C, Indexable Data Structures, Sequential Data
Structures, Writing Clear Programs in C, Documentation, Programming
Style, Subroutines and Arguments in C, Passing Parameters (Conceptual
Level), Passing Parameters (Implementation Level), Calling and Returning
Mechanisms, A Blueprint for Writing Subroutines, Documentation
Microcomputer Bus Interfaces
Digital Hardware, Modules and Signals, Drivers, Registers,
Timing equations, timing diagrams, Address decoding, PROM, RAM interface
Parallel and Serial Input-Output
Simple I/O Devices, Basic Input and Output Devices, Input-Output
Software, I/O Transfers and Buffered Input and Output, Programmed Logic
Control, Table and Linked List Interpreters, Programmable Parallel
Input-Output Devices, Problems with LSI I/O and the Ritual, M6812
Single-Chip Parallel Input-Output Registers, Indirect Input-Output,
Synchronous Serial Input-Output, Serial I/O Chips, Control of Serial I/O
Chips Using a Parallel Port, The MC9S12C32 Serial Peripheral Interface
Interrupts and Alternatives
Synchronization in I/O devices, Synchronization Principles of
I/O Devices, Synchronization Mechanisms for the M6812 Parallel Ports,
Slow Synchronization Mechanisms, Real-Time Synchronization, Gadfly
Synchronization, Single Interrupts, Polled Interrupts, Vectored
Interrupts, Vectored Interrupts in the M6812
Parallel Port Interfaces
Keyboards, Key Debouncing, Keyboard Scanning Techniques, LED's
and LCD's
Communication Systems
Communications Principles, Signal Transmission, UART Link
Protocol, UART Transmission and Reception by Software, Serial
Communications Interface System in the 6812
Special Topics
About 1-2 weeks each semester will be allocated to cover special
state-of-the-art topics involving embedded microcomputers and their
applications.
After the successful conclusion of EE345L students should be able to
design the hardware/software interface for devices like LCD displays,
motors, keyboards, analog sensors and speakers.
Attendance: Students are expected to attend lectures. The book
covers more information than the class and we will use lectures to map
our way through the book. If you miss class you may find it difficult to
catch up.
Grading:
35% Laboratory
5% Unannounced pop quizzes, closed book, in regular class room
5% Weekly multiple-choice online homework
15% In class Quiz1, closed book, Wed., March 1, 1:00 to 1:50 pm,
Room GAR1
15% In class Quiz2,
open text book, Mon., April 10, 1:00 to 1:50
pm, Room GAR1
25% Final, closed/open book, Wed., May 10, 2-5pm, regularly
scheduled
Cutoff scores for the corresponding letter grades will be announced
after the second quiz.
Lab Partners: All labs should be performed with a partner. You
and your lab partner must be registered for the same lab section. The
lab partnership must be registered with your TA (a simple hand written
note signed by both students will suffice) during the week of 1/23 to
1/27. Once registered, the partnership will continue. A partnership can
be dissolved only after discussion with the TA. Both partners must be
present during the demonstration. It is expected that both partners will
contribute to all aspects of each lab, and both partners are expected to
be present during the check out. The point values are the same for all
labs.
Laboratories
Lab 1. ASCII to fixed-point conversions
Lab 2. Debugging, dump profile
Lab 3. Alarm clock, LCD and RTI interrupts
Lab 4. Position measurement, ADC, SCI (2 weeks)
Lab 5. Stepper motor, output compare interrupts, finite state machine
Lab 6. Music player, DAC, SPI, audio amp
Lab 7. Preliminary Design of 6811 Embedded System with PCB layout
Lab 8. Calculator (2 weeks)
Lab 9. Final Design, Construction and Evaluation of 6811 Embedded
System
EE345L Laboratory Schedule (see your TA for the latest). Each
week there are two 90 minute lab sessions, which are scheduled
Monday/Wednesday or Tuesday/Thursday. You will show the preparation to
your TA at the beginning of the second session. During the first session
demonstrations will be made. The TA will sign your software listing when
you demonstrate your system. The report (hardware/software/data plots)
are due two days after the demonstration is due during the second
session. Any EE345L TA is authorized to checkout your lab. Please
consult with your TA for specific due dates for your lab section.
|
Week |
First session |
Second session |
Comments |
|
1/16 |
none |
none |
no lab activities |
|
1/23 |
Meet the TA |
partners chosen |
Metrowerks demonstration |
|
1/30 |
|
1 Prep |
|
|
2/6 |
1 Demo |
1 Report, 2 Prep |
Oscilloscope demonstration |
|
2/13 |
2 Demo |
2 Report, 3 Prep |
Logic analyzer demonstration |
|
2/20 |
3 Demo |
3 Report, 4 Prep |
|
|
2/27 |
|
4 Partial |
quiz 1 is 3/1 |
|
3/6 |
4 Demo |
4 Report, 5 Prep |
|
|
3/20 |
5 Demo |
5 Report, 6 Prep |
Spectrum analyzer demonstration |
|
3/27 |
6 Demo |
6 Report, 7 Prep |
ExpressPCB demonstration |
|
4/3 |
7 Demo |
7 Report, 8 Prep |
|
|
4/10 |
|
8 Partial |
quiz 2 is 4/10 |
|
4/17 |
8 Demo |
8 Report, 9a Prep |
|
|
4/24 |
9 Partial |
9b Prep |
|
|
5/1 |
9 Demo |
9 Report |
Turn in equipment by 5/5 |
Prep = you turn in your lab preparation
Demo = you demonstrate your lab to the TA
Partial = you demonstrate first part of a two-week lab to the TA
Report = you turn in your complete lab report to the TA
During the week of January 23-27, please go to your scheduled EE345L
lab sessions in ENS252C to get a demonstration of the lab equipment. If
you did not get a TechArts 9S12C32 kit in EE319K, then a kit will be
given to you. Each student will get exactly one kit. If you loose it or
destroy it, you can purchase another from Technological Arts for $50
plus shipping. For more information on purchasing a replacement kit, go
to the
http://www.technologicalarts.com/ web site and click the University
of Texas at Austin link (order NC12C32SP). Lab partners will be selected
in your lab the week of Jan 23-27. The Lab 1 preparation is due at the
beginning of your lab the week of January 30-Feb 3. The lab
preparations (hardware diagrams and syntax-free software source code
printouts) are due at the beginning of your lab period. In other words,
please type your software into the PC before lab. Attendance in lab is
required. All software for lab, and tests must include comments. All
hardware must include R&C values specifying tolerance and type (e.g., 5%
carbon), and TTL chip numbers (be very specific e.g., 74LS00). Pin
numbers are required only for lab, not for the exams.
Students are encouraged to go to the last 1 hour of the other lab
periods, but the first priority will be to the regular students. During
the first 15 minutes of lab, the TA will collect preparations. For the
next 15 minutes, the TA will lead a lab discussion session. The
remaining lab time is available for debugging and lab checkout. At the
end of the semester please verify with the checkout counter that your
record is clear. All reports must be given to the TA by Friday May 5, 12
noon.
|
Date |
Chapter |
Topic |
|
1/18 |
1, 2,7 |
6812 architecture, features of the 9S12C32, SCI interface |
|
1/23 |
2 |
Lab environment, run Lab1 project the real board and on Metrowerks simulator, example decimal fixed point, debugging techniques, call graphs, flow charts, data flow graphs |
|
1/25 |
2 |
Run Lab2 project, debugging techniques, and programming style, dumps, monitor |
|
1/30 |
2,3 |
Draw pictures showing elements on the stack for Metrowerks compiler, debugging from an assembly language perspective, real time systems |
|
2/1 |
3,4 |
Interface binary switch using pull-up resistor to an input port, draw flowchart of rti project, profiling with the scope showing just how small a percentage of time is spent in the background, globals/locals, static variables, threads, draw thread trace |
|
2/6 |
8 |
Profiling, LCD Displays, HD44780 controller, blind cycle versus gadfly synchronization, show how to maintain time of day in rtihan, allocation of tasks between the foreground and background |
|
2/8 |
1,8 |
Digital logic, input/output voltage/current, LED interfacing using a 7405, PN2222 NPN transistor interface of a speaker |
|
2/13 |
4, 7 |
Interrupting Serial Communications, RS232, thread communication using a fifo queue |
|
2/15 |
11 12 |
ADC, Data acquisition systems, sampling time jitter |
|
2/20 |
3, 4 |
Linked data structures, ROM-based structures using const, finite state machines, run Moore project, fixed time delay using TCNT, adding output pins, adding input pins, running the FSM in the background using OC interrupts |
|
2/22 |
3, 8 |
FSM with functions, traffic example, stepper motors, full-step versus half-step algorithm, stepper interface electronics (L293, TIP120, IRF540), snubber diodes |
|
2/27 |
7 11 |
SPI/DAC interface, signal generation |
|
3/1 |
|
Quiz 1 in class, covering material in Labs 1,2,3 |
|
3/6 |
11 |
Output compare interrupts, real-time systems, LM386 audio amplifier |
|
3/8 |
9 |
Memory interfacing, timing diagrams |
|
3/20 |
9 |
Memory interfacing, PROM interface, RAM interface |
|
3/22 |
9 |
Embedded system layout, power, clock, reset |
|
3/27 |
8 |
Switch debouncing |
|
3/29 |
8 |
Keyboard scanning |
|
4/3 |
6 |
Input capture |
|
4/5 |
|
Programming the 6811 using assembly, batteries |
|
4/10 |
|
Quiz 2 in class, covering material in Labs 4,5,6,7 |
|
4/12 |
|
Programming the 6811 using ICC11, draw real timing diagrams |
|
4/17 |
|
Teams, design specification |
|
4/19 |
4, 7, 8 |
SPI-based LED graphics interface, fonts, double buffer |
|
4/24 |
12 |
Real-time EKG data acquisition |
|
4/26 |
12, 14 |
Real-time, time jitter, low-level networks |
|
5/1 |
1 |
Selecting a microcomputer, speed benchmarks, ethics, evaluation |
|
5/3 |
|
Review |
|
5/5 |
|
All Lab notebooks are due to the TA at 12 noon |
|
5/5 |
|
Turn in Lab Equipment so that Mona won’t bar your registration |
|
5/10 |
|
Wednesday, Final exam, 2-5p, Room regularly scheduled |
Legal Stuff: The 12th class day is Feb. 1.
After this date, I will sign a drop only if the Dean approves it. Your
current grade status must be a "C" or better for you to receive a "Q".
Course evaluation is conducted on the last class day in accordance with
the Measurement and Evaluation Center form. The final exam is at the
time and place stated in the course schedule. The University of Texas at
Austin provides upon request appropriate academic adjustments for
qualified students with disabilities. For more information, contact the
Office of the Dean of Students with Disabilities at 471-6259, 471-4241
TDD.
Cheating: Cheating is extremely uncivilized and is to be avoided
at all cost. We will be using an automated system to check for software
plagiarism. You are allowed to talk to your classmates about the lab
assignments, but you are NOT allowed to look at each other's written
work. Oral discussion about an assignment is encouraged and is not
considered to be cheating. Copying of any part of a program is cheating
without explicit reference to its source. If we find two programs that
are copied, there will be a substantial penalty to both students, e.g.,
failure in the course. Students who cheat on tests or in lab will fail.
Prosecution of cases is very traumatic to both the student and
instructor. PLEASE DO YOUR OWN WORK. Policies concerning the use of
other people's software in this class:
• I strongly encourage you to study existing software.
• All applications and libraries must be legally obtained. E.g.,
You may use libraries that came when you bought a compiler.
You may use software obtained from a BBS or on the WWW.
You may copy and paste from the existing source code.
• You may use any existing source code that is clearly referenced and categorized:
original: completely written by you,
derived: fundamental approach is copied but it is your implementation,
modified: source code significantly edited to serve your purpose,
copied: source code includes minor modifications.
When studying, focus on the topics that apply to the 9S12C32 and the lab
assignments. You will find old quizzes and finals with solutions
on the class web site.
Online homework submission
You can work together in groups of any size, but everyone enters a
separate online solution.
STEP 1: Add yourself to the class roster at the URL
https://hs.ph.utexas.edu
Unique number: 15480
It will use your EID or I do not need a keypad number, but please spell
your name exactly how the university officially knows you.
STEP 2: Log into the Homework Service at the URL
https://hs.ph.utexas.edu
Download: Students' Instructions
Download: First Homework
STEP 3: Work one homework question. Log in again and submit its
answer before next class period.
STEP 4: Continue submitting answers until due time.
STEP 5: Download the solutions after due time.
Detailed Reading Guide for the Textbook
Basic computer organization
Sections
1.1, 1.2, 1.6, 1.8.2
Design process
Sections
1.3, 1.9
Digital logic
Section
1.4
Fixed-point
Section
1.5.5
6811 architecture
Sections
1.7.1, 1.7.2
Software development
Sections
2.1, 2.3, 2.4, 2.5.3, 2.6, 2.9
Debugging
Section
2.10
Device driver, busy wait, SCI
Sections
2.7, 3.4, 3.6 (just 9S12C32 in C)
Interrupt programming
Sections
4.1-4.7, 4.14 (just 9S12C32 in C)
Input Capture
Sections
6.1.1-6.1.3 (just 9S12C32 in C)
SCI interrupts
Sections
7.5, 7.6.1 (just 9S12C32 in C)
SPI interfaces
Sections
7.7.1, 7.7.3, 7.7.6.1, 7.7.6.2 (just 9S12C32 in C)
Switches, keyboards, LEDs, LCD
Sections
8.1, 8.2.1, 8.3.1, 8.3.4 (just 9S12C32 in C)
Stepper motors
Sections
8.4, 8.6.1, 8.6.2, 8.6.3, 13.2.2 (just 9S12C32 in C)
Memory interfacing and timing
Sections
9.1, 9.2.1, 9.2.2, 9.3, 9.4.1, 9.5.1, 9.5.2, 9.6.1, 9.7.1.1, 9.7.2.1
(just 6811)
Digital-to-analog converters
Sections
11.4.1, 11.4.5, 11.4.6 (just 9S12C32 in C)
Analog-to-digital converters and position sensing
Sections
11.5.1, 11.5.6, 11.10.2, 11.10.3, 12.1, 12.2.1-12.2.4 (just 9S12C32 in
C)
Curious about my research? See
http://www.ece.utexas.edu/~valvano/research