CS/ECE 5780/6780
Embedded Systems Design
Spring 2010
NOTE: this webpage
will be continually modified as the course progresses - so content and
schedule are tentative - you are advised to check it often.
Course description
Introduction embedded system design using microcontrollers.
Topics include: microcontroller architecture, embedded software design,
interrupt synchronization, timing generation and measurement, serial and
parallel I/O interfacing, analog interfacing, digital and analog peripheral circuit design.
Teaching staff & Mailing lists
Instructor: Al Davis (note my web page is way out of date - someday I'll fix it hopefully)
TA's: William Lee & Torrey Atcitty
Course mailing list: cs5780 "at" list.eng.utah.edu
To
sign up for this mailing list send email to sympa "at"
list.eng.utah.edu from the email account that you want on the list.
The subject line should exactly contain "subscribe cs5780 your_first_name your_last_name"
-- without the quotes and using your real names in the place
holder slots. You will receive a reply message saying whether you
were accepted or not. If you have problems send email to
teach-cs5780.
Instructor/TA mailing list: teach-cs5780 "at" list.eng.utah.edu
Please send questions for the instructor/TAs to this list.
Lecture, Lab, and Office Hours Schedule
Lectures: T,H 12:25 PM-01:45 PM in WEB 1250
Labs: Labs will be held in the ECE Digital Lab (MEB 2265);
also see: lab section assignments are still TBD
Lab Times:
Wed - Section 1: 1200 - 1500 (William) Adiga & Sampath
Tateoka & Wiser
Ayers & McDonald
Section 2: 1500 - 1800 (Torrey) Jayachandran & Shrigondekar
Anderton & Sheffield
Devnani & Singh
Jennings & Sobhani
Mann & Trinh
Thacker & Weber
Faerber & Nguyen
Behera & Maheshwari
Fri - Section 4: 1200 - 1500 (William) Bailey & McDougall
Kemp & Zhang
Oneida & Tomer
Thomsen & Willoughby
Yang & Fallatah
Jones & Martin
Lezin & Rolfe
Morley
Al's office hours: after class or by appointment (send email to ald "at" cs.utah.edu)
TA office hours: during lab sections (not yet finalized as noted above)
General Information
- The College of Engineering guidelines.
- The University of Utah's Student Code covers cheating and other student conduct policies, also see lecture 1 notes
- click here for your grades indexed by your secret integer (link will be established once there is some content)
- Disability?
If you have one, you need to talk to Al NOW, and contact the
University Disability Center in Room 162 of the Union Building or call
581-5020 to arrange an accomodation strategy.
Grading
5780 - 60% lab demonstrations and reports 20% midterm 1, 20% midterm 2
6780 - 30% lab demonstrations and reports, 20% midterm 1, 20% midterm 2, 30% project demonstration and report
For each lab total score: 60% will be for the demonstration, 40% for the report
5780
and 6780 students will be graded on a normalized score based on the
best 5780 or 6780 student respectively, 90% is an A of some sort, 80%
is a B of some sort, and so forth. If the best student in each
class is too good, a reasonable best will be picked as the 100% student.
Current grades can be found
here
indexed by your secret integer - make sure what we have recorded for
you is correct. No appeals will be considered after April 1 for
Labs 1-5 and midterm 1.
Course Schedule (due dates are in red)
Tu Jan. 12 - Course Overview
reading: none
lecture slides:
2up,
4up
HW1:
- Send email to ald "at" cs.utah.edu with your team (include both
team member's names and email addresses) - you will receive your secret
integer in a return email.
- Add yourself to the cs5780 mailing list (see instructions above).
Th Jan. 14 - Introduction to Embedded Systems
reading: Chapter 1.1 - 1.3
lecture slides:
2up,
4upFri Jan. 15 @ 2359 Sign up for the mailing list Tu Jan. 19 - 68HC12 Architecture & Lab 1 Introduction
reading: Chapter 1.5,1.6,1.8,1.9
lecture slides:
2up,
4upTh Jan. 21 - Assembly Language Programming
reading: Chapter 2.2
lecture slides:
2up,
4up LAB1:
Lab1.pdf,
Lab1Example.c,
hcs12serialmon2r1.zip due: sign up for lab session via email to teach-5780 send team email (both member names & email addresses) to teach cs-5780
check out your team's lab kit (labs start next week)
Tu Jan. 26 - Software Design w/ FSM's
reading: Chapter 2.1,2.3-2.11
lecture slides:
2up,
4up due: Lab1 signed off by your TA this weekTh Jan. 28 - General Software Design
reading: Chapter 2.4-2.11
lecture slides:
2up,
4up LAB2:
Lab2.pdf,
Lab2Bits.c,
Lab2counter.asm,
Lab2LCD.cTu Feb. 2 - Interfacing Methods
reading: Chapter 3.1-3.5 and
Debugging embedded C lecture slides:
2up,
4up due: Lab2 signed off by your TA this week, Lab1 reports due to your TA
Th Feb. 4 - Interrupt Synchronization
reading: Chapter 4.1-4.2
lecture slides:
2up,
4up Lab3.pdf: 4-function calculator RPN calculator
Tu Feb. 9 - FIFO's
reading: Chapter 4.3
lecture slides:
2up,
4up due: Lab3 signed off by your TA this week, Lab2 reports due to your TA
Th Feb. 11 - Interrupts on the 6812 (lecture by John Regehr)
reading: Chapter 4.4 - 4.14
lecture slides:
1up LAB4:
Lab4.pdf,
Grayhill Series 96 keypad data sheetTu Feb. 16 - Debouncing Matrix Keypads
reading: Chapter 8.1,
debouncing.pdf
lecture slides:
2up,
4up due: Lab4 signed off by your TA this week, Lab3 reports due to your TA
Th Feb. 18 - Volatile Variables and the Compiler
reading: none
lecture slides:
2up,
4up LAB5: Interrupt keyboard interface & stopwatchTu Feb. 23 - Threads and Scheduling
reading: Chap. 5.1
lecture slides:
2up,
4up
Th Feb. 25 - Threads & Semaphores
reading: Chapter 5.2-5.4
lecture slides:
2up,
4upTu Mar. 2 -
Midterm #1due: Lab5 signed off by your TA this week, Lab4 reports due to your TA
Th Mar. 4 - Review midterm solutions
LAB6: Semaphores, ThreadsTu Mar. 9 - Input Capture
reading: Chapter 6.1
lecture slides:
2up,
4up LAB7: Frequency, Duty Cycle due: Lab6 signed off by your TA this week, Lab5 reports due to your TATh Mar. 11 - Output Compare, Pulse Width Modulation, and Pulse Accumulation
reading: Chapter 6.2-6.5, 6.7
lecture slides:
2up,
4updue for 6780 students - informal project proposals (high level description of what you want to do) due via email to ald
Tu Mar. 16 -
No Class (major conference week for faculty so catch up so you can enjoy spring break)
due: Lab7 signed off by your TA this week, Lab6 reports due to your TATh Mar. 18 - Serial I/O Devices
reading: Chapter 7.1-7.7
lecture slides:
2up,
4upMarch 23 & 25 - No class - SPRING BREAK
Tu Mar. 30 - SPI basics, SCI Register Configuration and Ritual
reading: Chapter 7.5
lecture slides:
2up,
4up Lab8: SCITh Apr. 1 (no foolin') - Relays & Motors
reading: Chapter 8.5 - 8.6
lecture slides:
2up,
4upTu Apr. 6 - Tutorial on Relays and motors for those involved in the ECE Open House on Apr. 1
lecture slides & reading: same as Apr. 1
due: Lab8 signed off by your TA this week, Lab7 reports due to your TATh Apr. 8 - External memory: SRAM and DRAM
reading:
SRAM_datasheet,
DRAM_datasheet lecture slides:
2up,
4up Lab9: Stepper MotorTu Apr. 13 - Non-Volatile Memory Technology Overview
reading: Stan Williams' IEEE Spectrum article on memristors - it's an interesting story.
lecture slides:
2up,
4updue: Lab9 signed off by your TA this week, Lab8 reports due to your TATh Apr. 15 - DAC's & ADC's
reading: TBD
lecture slides:
2up,
4upTu Apr. 20 -
Midterm #2due: Lab9 reports due to your TATh Apr. 22 - Midterm 2 solutions discussion, class wrap-up
Tu Apr. 27 - 6780 project presentations in the lab
reading:
lecture slides: 2up, 4up
W Apr. 28 - Classes end
due: lab kits returned in clean and operating conditionOther Relevant Reference Material
Microcontroller documentation (MC9S12C32)
- CPU12 Reference Manual: Describes
the features and operation of the CPU used in all M68HC12 and HCS12
microcontrollers. It includes a very useful instruction glossary as
well as other information about addressing modes and exception
handling.
- MC9S12C Family Reference Manual:
Describes the operation of the physical device including information
like memory maps, pinouts, and operation of external interfaces (SCI,
SPI, timers, etc.).
- CPU12 Reference Guide: A summary of many CPU features and the instruction set.
Microcontroller student learning kit documentation (CSM12C32)
Microcontroller project board documentation
Codewarrior IDE related documentation
Supplementary Material
Sample Exams