EE345M Embedded and Real-Time Systems Lab
Class: NOA 1.124, Monday, Wednesday 1-1:50pm
Recitation: ENS302, Friday 1-1:50pm
Office Hours: Monday 12-12:45pm, Wednesday 2:15-3pm, Friday 11:15-12noon
Instructor: Jonathan W. Valvano, ENS627, 471-5141
email valvano@mail.utexas.edu  (put "EE345M" in the email title, send no ZIP files)
Web page http://www.ece.utexas.edu/~valvano
Unique Numbers: 15750 M9a-12n, 15755 W9a-12n, 15760 F9a-12n (canceled), 15765 M7-10p, 15770 W7-10p, 15775 Th7-10p
Text: Embedded Microcomputer Systems, Brooks-Cole 2000, by J. W. Valvano
Great TAs
:                 
        Anil Kottam, kottam@ece.utexas.edu  (HEAD TA)
        John Porterfield, John.Porterfield@mail.utexas.edu 
        
Byung Geun (Paul) Jun, byungpaul@hanmail.net  
Reference materials
: Data sheets for most of the devices used in this class are available as pdf files on the lab network and on the CD. Please make sure you have access to the 9S12C32 data sheets that become available when upgrading to the latest version of TExaS
IEEE Parts
   1 prototype board per student (2 per group)
   Lab supplies: resistors, 3.5 inch floppy disks, lock for 2nd floor locker
HKN: Fall 2004 EE345M Laboratory Manual by J. W. Valvano
Other references: For programming in C, see the EE312C text or
   Also see Kelly/Pohl, A Book on C, Benjamin Cumming Publishing
Prerequisites: EE345L or EE345S. There will be no re-tests, make-ups, or incompletes.
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 EE345M
The primary objective of EE345M is for the students to develop the ability to design real-time systems. This class allows students to combine principles of microcomputer interfacing, software development, digital logic and analog circuits into the design of microcomputer-based systems.
Review of 6812 architecture, and C programming
Synchronization methods
    Gadfly, interrupt, DMA, periodic polling, priority interrupts
Review of Microcomputer Bus Interfaces
    Timing equations, timing diagrams,
    Address translation and extended mode
Embedded Communication Systems
    Serial network protocols, layered software
Real time operating systems
    Foreground and background thread scheduling
    Synchronization using spinlock and blocking semaphores
    Interthread communication
Digital Device Interfaces
    Diodes, transistors, DC motors, servos, stepper motors, relays, solenoids,
    Optical sensors and optical isolation
Time Domain Interfaces
    Input capture/output compare, frequency, period and pulse width measurements,
    Pulse-width modulation
Data Acquisition Systems
    Op amp amplifiers, DAC, ADC, Thread scheduling, digital filters
Control systems
    Open loop and closed loop, Linear and Nonlinear,
    Bang-bang, incremental, PID, Fuzzy Logic Control
After the successful conclusion of EE345M students should be able to design real-time embedded systems, such as motor controllers, data store systems, data acquisition systems, communication systems and robotic systems.
Grading: 40% Laboratory
    15% In class Quiz1, Wednesday September 29, 1-1:50pm, in regular class room
    15% In class Quiz2, Wednesday November 3, 1-1:50pm, in regular class room
    30% Final, Saturday December 11, 7pm-10pm, 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).
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.
Lab Partners: All labs should be performed with a partner. The lab partnership must be registered with your 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". Any EE345M TA is authorized to checkout your lab.  The report (hardware, software, data and 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
20. Digital to analog conversion, character generation graphics controller
22. Temperature data acquisition, analog amp, and digital filter
10c. Peer to peer serial network
17. Real-time operating system
Racer/Scooper/Sorter  Robot (teams of 3, 4, or 5)
        28A. Motion/steering actuator design and interfacing
        28B. Sensor design and interfacing
        28C. Control algorithm, system performance analysis
Preliminary EE345M Laboratory Schedule (see your TA for the latest)
Week of Preparation Demo/Report Comments
8/25 no lab activities this week
8/30 none none Demonstration 
9/6   none Partners, boards
9/13 20 none
9/20 22  20
9/27 none none demo part of Lab 22
10/4 10c  22
10/11 none none demo part of Lab 10c
10/18 17  10c
10/25 none demo part of Lab 17
11/1 28A  17
11/8 28B 28A show robot moving
11/15 28C 28B  
11/29 none 28C Turn in equipment by 12/3

 

Date

Chapter

Topic

8/25

2, 4, 7

view01, Modular programming, call graphs, flow charts, data flow graphs, show differences between SCI12.C and SCI12A.C, Metrowerks compiler, device drivers, quality software, friendly

8/30

2, 4, 6

view02, Lab environment, 6812 debugging techniques, intrusiveness, monitor, output to scope, OC interrupts, TExaS simulator, real time

9/1

7, 11

view03, DAC, SPI interface, Signal generation

9/8

11

view04, resistors, capacitors, analog circuits, amplifiers using TLC2274 op amps, integrated instrumentation amplifier (AD620) 

9/13

11, 12

view05, Data acquisition systems, sampling rate, precision, impedance, range

9/15

12

view06, ADC software, data acquisition systems

9/20

15

view07, Digital filters, Z transform, fixed point implementation, effect of sampling jitter  

9/22

7

view08, SCI interrupts and FIFO queue

9/27

14

view09, Peer to peer serial network, layered software 

9/29

 

Quiz 1 in class, covering material in Labs 20, 22 

10/4

5, 6

view10, Output compare interrupts, threads, TCB, switching, run Lab17.c on TExaS

10/6

5, 6

view11, Spinlock semaphores, draw initial TCB, performance measures (response time, throughput)

10/11

5

Debugging using output pins, Blocking semaphores, use of the FIFO, and thread communication, add cooperative multitasking to Lab17os.c

10/13

5

Blocking semaphores, priority scheduling

10/18

8

Transistor interfaces (TIP120, L293, IRF540), optical isolation, motor interfacing

10/20

8

Battery power, and team work

10/25

6

Pulse width modulation, using output compare

10/27

6

Input capture, simple period measurement

11/1

6

pulse width measurement

11/3

 

Quiz 2 in class,  covering material in Labs 20, 22, 10c, 17 

11/8

 13

Control systems, FSM, bang-bang, incremental

11/10

13

PID control systems

11/15

13

Fuzzy Logic Control Systems

11/17

13

Fuzzy Logic Control Systems, course evaluation

11/22

9

Timing diagrams, 6812 bus timing, RDA overlaps RDR, WDA overlaps WDR 

11/24

 

no class

11/29

9

6812 extended RAM interface, DPAGE address translation,

12/1

 

Robot demonstrations in ENS lobby

12/3

 

Robot finals, all Lab notebooks are due to the TA at 12 noon

12/3

 

Turn in Lab Equipment so that Mona won't bar your registration

12/11

 

Final exam, Saturday, 7-10pm, Room regularly scheduled

     No lab activities occur during the week of August 27-29. During the week of 8/30 lease go to your regularly scheduled EE345M lab in ENS252C to hear a TA explain the lab grading policy. Technological Arts 9S12C32 boards will be passed out and lab partners will be selected in your lab the week of September 6. The Lab 20 preparation is due at the beginning of your lab the week of September 6. 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 December 3, 12 noon.
Sections from the book required to perform the labs

1.6. Digital Logic And Open Collector
2.11. Debugging Strategies
4.5.4. 6812 Interrupt Vectors And Priority (Review)
7.6. SCI Interrupt Interfaces
Lab Example SCI12.H SCI12A.C (Review)
8.4. Transistors Used For Computer Controlled Current Switches
8.5.5. Pulse Width Modulated DC Motors
8.5.6. Interfacing EM Relays, Solenoids, And DC Motors
Figure 8.70 (IRF540, 6N139)
6.2.1. General Concepts
6.2.2. Output Compare Details
6.2.3. Periodic Interrupt Using Output Compare (Review)
6.2.5. Pulse Width Modulation
6.1.1 Basic Principles Of Input Capture
6.1.2. Input Capture Details
6.1.3. Real Time Interrupt Using An Input Capture
6.1.4. Period Measurement (Not 32-Bit)
6.4.1. Using Period Measurement To Calculate Frequency
5. Threads (6812, but not 6811)
Covered on the exams, but not necessary for the labs
6.1.5. Pulse Width Measurement
6.3. Frequency Measurement
6.3.1. Frequency Measurement Concepts
6.3.2. Frequency Measurement with frequency resolution of 100Hz
6.5. Measurements Using Both Input Capture And Output Compare
6.5.1. Period Measurement with period resolution of 1ms
6.5.2. Frequency Measurement with frequency resolution of 0.1Hz
9.5.3. Motorola MC68HC812A4 External Bus Timing (Review)
9.7.2.2 8K RAM/6812 Interface (Review)
9.7.5. Extended Address Data Page Interface To The MC68HC812A4
11.2.7.5 Subtraction Circuits
11.2.7.6 Instrumentation Amp (AD620)
14.1. Network
14.3. Parallel Bus
7.3.3. RS485 half-duplex network


Legal Stuff: The 12th class day is September 10. 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. 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.


Places to buy prototyping boards and other parts
In Austin

AlTex Electronics 832-9131
Tinkertronics 719-3560
Howard Electronics 837-2525

Mail Order

BG Micro, Dallas 1-800-276-2206 http://www.bgmicro.com/
All Electronics, Los Angeles 1-800-826-5432 http://www.allelectronics.com/
Marlin P. Jones 1-800-652-6733 http://www.mpja.com/
Mouser Electronics 1-800-346-6873 www.mouser.com
Jameco, Belmont CA 1-800-831-4242 http://www.jameco.com/
All American 1-800-573-ASAP http://www.allamerican.com/

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

 

EE345M Fall 2003
Quiz 1 Quiz 2 Lab Final Course Grade
count 86 89 90 81 90
average 88 84 95 72 86
standard deviation 7.8 12.0 5.9 14.9 7.6
median 88 87 97 72 87
A 41 41 81 12 30 39
B 33 24 6 18 42 39
C 11 11 1 20 16 9
D 1 8 2 13 2 1
F 0 5 0 18 0 0
GPA 3.32