ECE 36200 - Microprocessor Systems and Interfacing
Note:
Nature of Design Experience: Through the completion of homework exercises, laboratory experiments, and an Embedded System Design Mini-Project, students will learn how to design, implement, and test a microcontroller-based embedded system.
Course Details
Lecture Hours: 3 Lab Hours: 3 Credits: 4
Counts as:
- EE Advanced Selective
- EE Adv Level Lab
- CMPE Core
Normally Offered:
Each Fall, Spring
Campus/Online:
On-campus only
Requisites:
ECE 26400 and ECE 27000 (Minimum Grade of C) and (CS 15900 or ENGR 11700)
Requisites by Topic:
Prerequisites: High level language programming fundamentals, digital systems design fundamentals, familiarity with hardware description languages (e.g., ABEL) and programmable logic devices (PDSs).
Catalog Description:
An introduction to computer instruction sets, assembly language programming, organization, and interfacing.
Required Text(s):
- Computer Organization and Design RISC-V Edition: The Hardware Software Interface , 2nd Edition , David Patterson and John Hennessey , Morgan Kaufmann Publishers , 2020 , ISBN No. 9780128245583
Recommended Text(s):
- Computer Organization and Design, ARM edition , 1st Edition , David Patterson and John Hennessey , Morgan Kaufmann Publishers , 2016 , ISBN No. 978-0128017333
- Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C , 3rd Edition , Yifeng Zhu , E-Man Press LLC , 2017 , ISBN No. 978-0-98226926-6-0
Learning Outcomes:
- an ability to program a computer using assembly language. [1,2]
- an ability to use a computer to interface with other devices . [1,2,6]
- an ability to understand and simulate the functionality of a single-cycle processor. [1,2]
- an understanding of basic computer arithmetic algorithms . [1,2]
Lecture Outline:
Week | Lecture Topics |
---|---|
1 | Overview of a computer program to device technologies. Notion of performance, power wall. Similarities + differences between embedded and high-perf. |
2 | Operations + operand + addressing modes, endianness. Signed versus unsigned. Instruction representation Logical and arithmetic operations. |
3 | Control flow Procedure calls, recursion, stack operation. ASCII/binary representations. Pointers/Arrays |
4 | Practical programming examples, C-to-assembly transformations for complex programs. Contrasting LEGv8 and cortex-M0 |
5 | GPIO |
6 | Timers/PWM |
7 | C + DMA |
8 | DAC/ADC |
9 | Serial Communication Interfaces |
10 | Logic Design + data path construction. ISA to hardware |
11 | Control Logic + full single cycle |
12 | Add, subtract, multiply hardware |
13 | Division + floating point hardware |
14 | Sub word parallelism, SIMD extensions + matrix multiply example |
Lab Outline:
Week(s) | Lab Experiments |
---|---|
0 | Micro setup |
1 | instruction decoder |
2 | assembly language - basic |
3 | assembly language - advanced |
4 | GPIO |
5 | Interrupts |
6 | Timers |
7 | DMA |
8 | Final interfacing lab; combine interfaces (DAC+UART) |
9 | No lab - simulator introduction tutorial |
10 | start simulator (no eval) - design components, hook in decoder |
11 | Simulator part 2 - full data path |
12 | Simulator part 3 - Full single-cycle simulator |
Engineering Design Content:
- Synthesis
- Analysis
- Construction
- Testing
Engineering Design Consideration(s):
- Economic
- Ethical
- Health/Safety
Assessment Method:
Outcome 1 will be assessed based on scores received for the lab practical programming problems, for which a score of at least 60% on either of the two practical exams will be required or a score of at least 60% on each lab experiment to demonstrate basic competency. For Outcomes 2 and 3, basic competency will be assessed based on lab practical concept exams during your scheduled lab period, for which a score of at least 60% will be required to demonstrate basic competency. Outcome 4 will be assessed based on the Embedded System Design Mini-Project completed, for which a score of at least 60% will be required to demonstrate basic competency.