CPE/EE 323
Introduction to Embedded Computer Systems, Spring 2010

Course Info
Lecture Notes

Course Information

Term and Course Credit: Spring 2010, 3 credit hours

Time and Place:  Lecture: MW 3:55 PM - 5:15 PM, Room 207

Instructor: Dr. Aleksandar Milenkovic     
    Email: milenka    (@ece dot uah dot edu)
    Office: 217-L
    Phone: (256) 824 6830
    Office Hours: Monday: 1:00-2:00 PM and Wednesday: 1:00-2:00 PM
    Web: http://www.ece.uah.edu/~milenka, http://www.ece.uah.edu/~lacasa

Lab Instructor(s):
    Zahra Atashi
    Email: atashiz (@ece dot uah dot edu)
    Office:  242A
    Phone:  (256) 824 6304
    Office Hours:  TBD
    Mallikarjun (Max) Avula
    E-mail: ma0004@uah.edu
    Office: EB 242-E
    Phone: 824-3485
    Ezhil  Kalaimannan
    Email: ek0001@uah.edu
    Office: EB 242-F
    Phone: 824-3486

Class Web page: http://www.ece.uah.edu/~milenka/cpe323-10S

The course examines both hardware and software aspects in building embedded computer systems, as well as methods to evaluate design tradeoffs between different technology choices. The students develop an appreciation of technology capabilities and limitations and appreciation of all system components necessary to design and implement a basic embedded computer system and interface it to the outside world. Experiments performed in the Microcomputer Laboratory provide considerable experience, allowing students to develop programs in assembly language and C and program embedded systems to perform required functions.

Text Book


Prerequisites: EE 202, CPE 212. Corequisite: CPE 323L.

Academic Misconduct
Academic Honesty.  Your written assignments and examinations must be your own work.  Academic Misconduct will not be tolerated.  To insure that you are aware of what is considered academic misconduct, you should review carefully the definition and examples provided in Article III. Code of Student Conduct, Student Handbook, p. 93. If you have questions in this regard, please contact me without delay.

Use of Prior Work.  You may not submit in fulfillment of requirements in this course any work submitted, presented, or used by you in any other course.

Consent to Use of Turnitin.com.  UAH is committed to the fundamental values of preserving academic honesty as defined in the Student Handbook (7.III.A, Code of Student Conduct).  The instructor reserves the right to utilize electronic means to help prevent plagiarism.  Students agree that by taking this course all assignments are subject to submission for textual similarity review to Turnitin.com.  Assignments submitted to Turnitin.com will be included as source documents in Turnitin.com’s restricted access database solely for the purpose of detecting plagiarism in such documents.  The terms that apply to the University’s use of the Turnitin.com service, as well as additional information about the company, are described at www. uah.edu/library/turnitin.

Classroom Conduct.
  All students in the class must treat others with civility and respect and conduct themselves during class sessions in a way that does not unreasonably interfere with the opportunity of other students to learn. Failure to comply with this requirement may result in points being deducted from a student’s final numerical average, up to a maximum of 15 points.

Copyright Aleksandar Milenkovic 2010
.  All federal and state copyrights in my lectures and course materials are reserved by me.  You are authorized to take notes in class for your own personal use and for no other purpose. You are not authorized to record my lectures or to make any commercial use of them or to provide them to anyone else other than students currently enrolled in this course, without my prior written permission.  In addition to legal sanctions for violations of copyright law, students found in violation of these prohibitions may be subject to University disciplinary action under the Code of student Conduct.

Exam Dates: Final Exam – May 03 (Monday), 2010  (3:00 – 5:30 PM)

Grading Policy Final course grades will be determined in the manner outlined below:

 % of Final Grade
 Lab Assignments/Exams
 Test I
 Test II
 Final Exam

Laboratory Assignments
The Microcomputer Laboratory is located in the room 106 of the Engineering Building.  Students will be required to work individually on a set of laboratory experiments that are designed to reinforce the material being covered in the class.
Lab policy:
1.  You must demonstrate all labs to the lab instructor during your assigned lab session.
2.  You must hand in a printout of your code and test vectors to the lab instructor.
3.  Although highly discouraged, lab assignments may be turned in after the due date with a penalty of 10% off per day late
     (including weekend days).  Lab assignments will not be accepted more than 5 days late.

 Lecture Notes

Lecture notes will be available in PPT and PDF format.
The notes may be subject to slightly change. 
NOTE: For latest lecture notes use ANGEL (angel.uah.edu).

Session Date Topic Slides Readings
#1 (M) 01/11/10 Introduction to Embedded Computer Systems Design  pdf (slides) http://en.wikibooks.org/wiki/Embedded_Systems
#2 (W) 01/13/10 Review: Number Representation, Degital Design, Instruction Execution   pdf (reader)
-- (M) 01/18/10 No Classes (MLK)
#3 (W) 01/20/10 TI MSP430 Microcontroller: A System Perspective - Processor, Memories, I/O Peripherals, Buses pdf (slides);
pdf (ISA intro reader);

#3 (M) 01/25/10 Programmer's Model (TI MSP430):
Registers, Addressing Modes, Data types, Instruction Set, Instruction Formats, Execution Times
pdf (slides);
pdf (MSP430 ISA intro reader);

#5 (W) 01/27/10 Programmer's Model (TI MSP430):
Registers, Addressing Modes, Data types, Instruction Set, Instruction Formats, Execution Times

#6 (M) 02/01/10 Assembly Language Programming and Debugging pdf (slides);
pdf (Assembly Language reader);

#7 (W) 02/03/10 Assembly Language Programming and Debugging  (Subroutines, Stack)

#8 (M) 02/08/10 Assembly Language and C/C++; pdf (Hardware Multiplier reader);
#9 (W) 02/10/10 Assembly Language and C/C++;

#10 (M) 02/15/10 Assembly Language and C/C++; Program Execution Time, Optimizations

#11 (W) 02/17/10 Assembly Language and C/C++; Program Execution Time, Optimizations

#12 (M) 02/22/10 Review; Exception Handling, Interrupt  pdf (slides)
#13 (W) 02/24/10 Test I

#14 (M) 03/01/10 Exception Handling, Interrupt

#15 (W) 03/03/10 Parallel Ports

#16 (M) 03/08/10 Basic Clock Module

#17 (W) 03/10/10 Timers (Watchdog T TimerA)

#-- (M) 03/15/10 Spring Break

#-- (W) 03/17/10 Spring Break

#18 (M) 03/22/10 Timers (TimerA)

#19 (W) 03/24/10 Serial Input/Output (asynchronous, SPI, I2C)

#20 (M) 03/29/10 Analog Input/Output pdf (slides)
#21 (W) 03/31/10 Power Consumption and Low-Power Modes,
Optimization for Power

#22 (M) 04/05/10 Review

#23 (W) 04/07/10 Memories, Buses

#24 (M) 04/12/10 Memories, DMA pdf (slides)
#25 (W) 04/14/10 Test II

#26 (M) 04/19/10 LCD Controllers

#27 (W) 04/21/10 Putting It All Together (HRM)

#28 (M)


Laboratory Assignments

Lab hours(… please stop by the lab 106 and sign up for one session.)

Lab Session#1: MONDAY @ 11:10 AM - 12:30 PM (Zahra Atashi)
Lab Session#2: TUESDAY @ 5:30 PM - 6:50 PM (Ezhil Kalaimannan)
Lab Session#3: TUESDAY @ 7:00 PM - 8:20 PM (Mallikarjun Max Avula)
Lab Session#4: WEDNESDAY @ 5:30 PM - 6:50 PM (Zahra Atashi)
Lab Session#5: THURSDAY @ 5:30 PM - 6:50 PM (Zahra Atashi)
Lab Office Hours: FRIDAY @10:00 AM - 11:20 AM

Labs Assignments

 LAB #1
 LAB #2
 LAB #3
 LAB #4
 LAB #5
 LAB #6 03/31/2010
 LAB #7 04/09/2010
 LAB #8 04/16/2010
 LAB #9 in class
in class


 HW #1
hw1.pdf / hw1.doc
 HW #2 02/02/2010
hw2.pdf / hw2.doc
 HW #3 02/22/2010
hw3.pdf / hw3.doc
 HW #4 03/31/2010
hw4.pdf / hw4.doc
 HW #5 04/24/2010