EE345M Microcomputer Interfacing Lab Summer 2000
Class: ENS302 MW 2:30 to 4:00pm
Office Hours: Office Hours MWF 12-1
Instructor: Jonathan W. Valvano, ENS617A, 471-5141, Lab ENS619/621 (1-1216)
email valvano@uts.cc.utexas.edu
fax 471-0616
Web page http://www.ece.utexas.edu/~valvano
Unique Number: 76845 (MW4-7 lab)
TA: Hyunjin Shin, 471-8687, hjshin@ece.utexas.edu and Kevin Kim <jeehyun@mail.utexas.edu>
3 Handouts: MC68HC812A4 Technical Manual, Programming Manual, and Reference Guide
IEEE Parts: any TTL Data Book includes either LSTTL or HC parts
1 prototype board per student (2 per group) See mail order companies on page 4.
Lab supplies: resistors, 3.5 inch floppy disks, lock for 2nd floor locker
Text: Embedded Microcomputer Systems, Brooks-Cole 2000, by J.W. Valvano
HKN: Summer 2000 EE345M Laboratory Manual by J.W. Valvano
Other references: For programming in C and op amps, see the EE360C and EE338K texts
Also see Kelly/Pohl, A Book on C, Benjamin Cumming Publishing
Prerequisites: EE345L, EE338K, and EE155. There will be no re-tests, make-ups, or incompletes.
EE345M Topics
Review of 6812 architecture, and C programming
Synchronization methods
Gadfly, Interrupt, DMA, Periodic polling, Real time systems, priority interrupts, round robin, thread scheduling, Thread synchronization using spinlock and blocking semaphores
Digital Device Interfaces
DC motors, Servos, Stepper Motors, Relays, Solenoids, IEEE-488, SCSI
Time Domain Interfaces
Input Capture/Output Compare, frequency, period and pulse width measurements, Pulse-width modulation
Analog Interfaces
Op amp amplifiers, Op amp analog filters, DAC, and ADC, Data acquisition systems, digital filters
Control systems
Open loop and closed loop, Linear and Nonlinear, Bang-bang, incremental, PID, Fuzzy Logic Control
Microcomputer Bus Interfaces
Timing, address decoding, PROM, RAM interface, Dynamic RAM's, Bus drivers
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: 40% Laboratory
15% In class Quiz1, Monday, July 3, in regular class room
15% In class Quiz2, Monday, July 31, in regular class room
30% Final, Saturday, August 19, 2-5pm, regularly scheduled
Your grade will be assigned on the usual 60, 70, 80, 90 basis. An average above 70 is required to receive a credit (CR/NR).
Lab Partners: All labs should be performed with a partner. The lab partnership must be registered with the TA (a simple hand written note signed by both students will suffice) at least a week before the assignment is due. 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. The TA will sign your software listing when you demonstrate your system. All parts of the assignment must be demonstrated to a TA by the end of your lab period the week shown in the column labeled "Demo/Report". The report (hardware/software/data plots) are due one day after the demonstration is due. Please consult with your TA for specific due dates for your lab section.
EE345M Laboratories
13. Real time debugging (1 week)
14. Infrared remote control sensor, pulse width measurement (1 week)
15. Memory interfacing (1 week)
16 or 17. Digital to analog conversion (1 week)
16 Sine wave generation,
17 Graphics display
18. Temperature data acquisition, analog amp, analog filter, and digital filter (2 weeks)
19. Optical isolation, pulse width modulated squarewave generation, motor interface (1 week)
20 or 21 or 22. Embedded System (2 weeks)
20. PID or fuzzy logic motor control, pulse width modulation, period measurement
21. Line tracking robot
22. Preemptive real time thread scheduler with blocking semaphores
Preliminary EE345M Laboratory Schedule (see your TA for the latest)
Week of Quiz Preparation Demo/Report Comments
6/5 none none none Demonstration
6/12 13 13 none Partners, boards
6/19 14 14 13
6/26 15 15 14
7/3 16/17 16/17 15
7/10 18 18 16/17
7/17 none none none Lab attendance required
7/24 19 19 18
7/31 20/21/22 20/21/22 19
8/7 none none none Lab attendance required
8/14 none none 20/21/22 Turn in equipment by 8/18
You have the option of proposing an alternative Lab 20/21/22 involving any topic introduced in EE345L or EE345M, forming groups of ranging from 2 to 4 students. These groups may include students from other lab sections. Please get your TA approval by 7/17, if you choose to define your own lab. Otherwise, we expect you to do Lab 20, 21 or 22 as a group of 2 as specified in the lab manual.
Please go to your regularly scheduled lab in ENS252C to hear a TA explain the lab grading policy. ImageCraft Adapt812 boards will be passed out and lab partners will be selected in your lab the week of June 12. The Lab 13 preparation is also due later that week. Contact your TA about the exact due date. Preparation includes hardware wiring diagrams and syntax-free assembly printouts. In other words, please type your software into the PC before lab. The lab preparations (hardware diagrams and syntax-free software source code printouts) are due at the beginning of your lab period. 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.

Students are encouraged to go to the last 2 hours of the other lab periods (including when EE345L labs are scheduled), but the first priority will be to the regular students. Because of the lab quiz, the first hour of lab is restricted to the regular students. CLEAR OUT BY 15 minutes before the start of lab. 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 August 18, 12 noon.


Date Chapter Topic
6/7 1,2 EE345L review, 6812 introduction, device drivers
6/12 4,7 Lab environment, 6812 debugging techniques, SCI interrupts on the 6812
6/14 4,7 Lab environment, 6812 debugging techniques, SCI interrupts on the 6812
6/19 6 Input capture, simple period and pulse width measurement
6/21 6 Input capture, simple period and pulse width measurement
6/26 6, 9 Periodic output compare interrupts, timing diagrams
6/28 9 Memory Interfacing
7/3 Quiz 1, in class
7/5 11 DAC, amplifiers, filters, ADC
7/10 12 data acquisition systems
7/12 12,15 data acquisition systems, Digital filters
7/17 6,8 PWM Output compare, 6N139 isolation
7/24 13 PID Control Systems
7/26 13 Fuzzy Logic Control Systems
7/31 Quiz 2, in class
8/2 5 Thread synchronization, semaphores
8/7 10 DMA on the MC68HC708XL36
8/9 14 Modems
8/16 all Review, course evaluation
8/18 All Lab notebooks are due to the TA at 12 noon
8/18 Turn in Lab Equipment so that Mona won’t bar your registration
8/19 Final Exam, Saturday, 2-5pm, regularly scheduled


Legal Stuff: Drop date is June 12. 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 very uncivilized behavior and is to be avoided at all cost. 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 peoples' 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.

Places to buy prototyping boards and other parts
In Austin Mail Order
AlTex Electronics 832-9131 BG Micro, Dallas 1-800-276-2206 http://www.bgmicro.com
Tinkertronics 926-4420 All Electronics, Los Angeles 1-800-826-5432 http://www.allcorp.com
Radio Shack Jameco, Belmont CA 1-800-831-4242 http://www.jameco.com
TechAmerica, Fort Worth, 1-800-877-0072
Hosfelt, Steubenville, OH, 1-888-264-6464, 1-800-524-6464

When studying, focus on the topics that apply to the 6812 and the topics included in the lab assignments. You will find old quizzes and finals with solutions on the class web site.

STUDY GUIDE Quiz 1
Lab Important Topics
13 SCI interrupts, RS232 drivers, software device driver, real time debugging
14 IR detector interface, input capture measurements of pulse width, output compare interrupts
15 Memory interface, address decoders, timing diagrams, memory testing, single chip versus expanded mode

Chapter Topic
1.5, 2, 4 6812 architecture and assembly language, interpreting output of the C compiler (parameters, locals globals)
4 fifo’s, statically allocated linked lists, dynamically allocated linked lists, Interrupts, latency, real time interrupts, periodic polling, critical sections
3, 4 Choosing between real time, gadfly, interrupts, periodic polling, DMA
6 Output compare, simple period measurement, input capture, pulse width measurement
9 Address decoding, timing syntax, synchronous, partially asynchronous, fully asynchronous, general approach to interfacing, interface of RAM and ROM to a 6812 in expanded narrow mode, interface of a RAM and ROM to a 6812 in expanded wide mode, data bus drivers (no 16 bit, paged memory, 6811, DRAM, parity check)
Guarantees Interrupts: data structures, latency, debugging
Input capture or output compare: period or pulse width measurement
Memory interface: timing analysis, diagrams, design, CS initialization

STUDY GUIDE Quiz 2 (Quiz 1 stuff plus the following)
Lab Important Topics
16/17 DAC interface, DAC signal generation
18 6812 ADC, analog amplifiers, analog filters, digital filters, fixed point numbers, resistor bridge, op amps

Chapter Topic
11, 12 Analog Circuits, amplifiers filters, ADC, DAC, data acquisition systems
11.9, 15 Digital filters implementations, multiple access circular queue
Guarantees Interrupt software
Data acquisition systems
Analog circuits


STUDY GUIDE Final (Quiz 1 and Quiz 2 stuff plus the following)
Lab Important Topics
19 Output compare signal generation, 6N139 optocoupler, back EMF, pulse width modulation, MOSFET interface
20/21 Control system, either PID or Fuzzy, periodic interrupts, AC to TTL conversion, input capture measurement of period, discrete derivative

Chapter Topic
8.4, 8.5 Pulse-width modulated DC motors, solenoids, DC motors, back EMF
6 6N139 isolation, 32 bit period measurement, pulse-width modulation
13 Control Systems, open loop, closed loop, PID implementations, Fuzzy Logic design and implementation
10 DMA concepts, single vs. dual cycle, block (burst) vs. cycle steal, software synchronization, bandwidth, latency, address increment, block size, autoinitialization (reloads parameters and loops continuously)
14.9 Modems
Guarantees Control system implementation
Multiple source interrupts with synchronization
Memory interface: timing analysis, diagrams, design, CS initialization
Analog circuits
Input capture or output compare: measurement or signal generation

Curious about my research? See
http://www.ece.utexas.edu/~valvano/research