CS 587 (same as EE-587) - Microcomputer Systems Design

 

Credits: 3

 

Course Description

 

A course in the design of microcomputer systems for hardware engineers which includes the following topics: use of uncommitted logic arrays in instruction set design; hardware support for operating systems and programming languages; customizing microcomputers for specific execution environments; and control of concurrency.

 

Prereq: EE 581 and EE 583, or consent of instructor. Engineering standing.

 

Needed Skills

 

Students need a basic ability to program in a high-level programming language such as C, C++, or Java. Knowledge of digital logic is assumed.

 

Learning Outcomes

 

EE 587 is a 'hands-on' course where we will use the latest microcontrollers to implement embedded systems. Lectures will cover the theory behind microcontroller architecture, programming, and interfacing and lab projects will back up that theory with actual implementations using microcontrollers. Students will be expected to spend a considerable amount of time outside of lecture, in the lab (or elsewhere) experimenting with a microcontroller development board and building an embedded system.

 

Measures

 

Students who fulfill the requirements for this course will have demonstrated:

1. An ability to write programs for a microcontroller in a high-level language.

2. An ability to interface a microcontroller to a variety of devices.

3. An understanding of the development of embedded systems controlled by modern microcontrollers and the capabilities and limitations of such systems.

 

CAC Categories

 

Topic

Core

Advanced

Math Fundamentals

0

0

Data Structures

0

0

Algorithms & Software Design

1

0

Computer Organization and Architecture

35

0

Concepts of Programming Languages

6

0

Social and ethical issues

0

0

Total

42

0

 

Math Fundamentals: none

 

Data Structures: none

 

Algorithms and Software (1): Core (1): timing diagrams (1).

 

Computer Organization and Architecture (35): Core (35): The Intel 8051 family of microcontrollers (6), Cygnal 8051 microcontrollers, The Cygnal Evaluation board and Interfacing the board to your circuits (4), the Cygnal integrated development environment (2), 8051 timers, interrupts, and real-time processing (10), sensor types (5), wireless interfaces for embedded systems (8).

 

Concepts of Programming Languages (6): Core (6): Assembly language programming for the 8051 (4). C programming of a basic chip using the Keil C compiler (2).

 

Social and Ethical Issues: none

 

Oral Communication (presentations)

 

Students give oral status reports several times during the semester. An oral final project presentation is required.

 

Written Communication

 

Homework assignments are required as is formal documentation of the final project.

 

Coverage

 

Theoretical Content: 15%

Timing diagrams, instruction sets, interrupts, real-time processing.

 

Problem Analysis: 35%

Architectures, Inter 8051 architecture, timing, sensors, and embedded systems.

 

Solution Design: 50%

Individual project designs and implementations.

 

Student Evaluation and Feedback

 

Students are evaluated on their work (homeworks, programs, exams). Students receive back their homework, programs, and exams. These papers are marked to indicate problems and they point out correct or better solutions. Problems that turn out to be especially difficult are discussed in class during lectures or during recitations.

 

Course Evaluation Questions

 

The course has helped me to:

37. Gain the ability to write programs for a microcontroller in assembly language.

38. Gain the ability to write programs for a microcontroller in a high-level language.

39. Know how to interface a microcontroller to a variety of devices.

40. Understand the uses and limitations of embedded systems.

 

Possible Textbook

 

The 8051 Microcontroller and Embedded Systems,
M. A. Mazidi, J. G.
Mazidi, Prentice Hall, 2000 (ISBN: 0-13-861022-3).