EECS 346 - Microprocessor System Design
CATALOG DESCRIPTION: Structure and timing of typical microprocessors. Sample microprocessor families. Memories, UARTS, timer/counters, serial devices and related devices. MUX and related control structures for building systems. Interrupt programming. Hardware/software design tradeoffs.
REQUIRED TEXTS: None
REFERENCE TEXTS: 1. Device data sheets 2. Distributor catalogues
COURSE COORDINATOR: Prof. Larry Henschen
COURSE GOALS: The goal is to teach students how to design, build and program embedded systems.
PREREQUISITES : EECS 203 and EECS 205
PREREQUISITES BY TOPIC:
1. basic digital integrated circuits - AND/OR/NOT gates, latches, demultiplexors
2. basic structure of a processor - arithmetic registers, address registers, basic addressing modes
3. basic assembly language programming
DETAILED COURSE TOPICS
Week 1: Microcontrollers. 8051 pinout and electrical characteristics.
Week 2: Connecting to external RAM and program. Latches and demultiplexors.
Week 3: Ports. Onboard special functions – interrupts, timers, serial I/O.
Week 4: Special functions continued. Timing analysis.
Week 5: 8051 assembly programming, emulators.
Week 6: Introduction to a typical microprocessor - 8086. Basic 8086 control signals - DEN, DTR. Bi-directional bus drivers. 8224 clock circuit. 2- and 4-byte bus systems.
Week 7: Interrupt structure and the 8259 Interrupt Controller. Priority interrupt systems
Week 8: DMA.
Week 9: I 2 C buses and devices.
Week 10: Multibus and shared bus structures - 8289.
COMPUTER USAGE: Students use PCs to assemble and emulate programs before burning into E/EPROMs. Students use device programmers to generate 2764/2864 program chips for their projects.
LABORATORY PROJECTS: Four labs starting from a simple micro-controller system on a breadboard and leading to a small-scale embedded application that uses most of the typical features (timers, serial IO, ADC/DAC, etc.) built into micro-controllers.
Homework - 10 %
Labs Assignments - 30 %
Midterm Exam - 30 %
Endterm Exam - 30 %
COURSE OBJECTIVES: When a student completes this course, s/he should be able to:
- Design an embedded system, including both hardware and software.
- Decide what level of sophistication the microprocessor needs to have and what additional devices are needed based on the features of the application.
- Determine how to connect the microprocessor, memories, and extra devices into a working system.
- Read device-timing diagrams for processors, memories, and the like, and determine device timing compatibility.
- Read device data sheets and pinout descriptions and understand how to wire the devices together.
- Build an embedded system, both hardware and software, using DMA and/or interrupts.
- Understand how to use auxiliary circuits, like latches, bus drivers and demultiplexors, to build a system.
- Understand how to use UARTS, DAC/ADC devices, serial devices, timer/counter devices and similar devices.
- Design the software and coordinate the software and the hardware into an integrated working system.
ABET CONTENT CATEGORY: 100% Engineering (Design component).