ECEA 5375 Microcontrollers: Basic Architecture and Design
1st course in the MCU Architecture, Design Optimization and AI at the Edge Specialization
Instructor: Steve Sheafor
This course introduces students to the architecture and design of Microcontrollers (MCUs), which are small processors used in a myriad of products. The main MCU components of the processor, memory, I/O interfaces and their interconnections will be examined, with a focus on the processor. The process of optimizing performance, energy usage and cost will be explored in a project where students will begin the development of an MCU in a system context.
The course will go beyond basic architecture and design to explore real-world details involved in the design of actual hardware products. Although focused on MCUs, many of these topics are relevant to the architecture and design of all types of advance digital components.
Learning Outcomes
- Analyze the key factors used to evaluate and compare MCUs.
- Describe an MCU product family and its applications.
- Describe MCUs and their relationship to other processor types.
- Assess the performance impact of MCU bus functions.
- Identify the busses used in MCUs.
- Describe the functions of basic MCU components.
- Describe how clocks affect the power and energy of an MCU.
- Explain the mechanisms for tuning internal MCU voltages for optimization.
- Describe various methods for controlling MCU power usage.
- Analyze the basic system components available in the ARMv7 architecture.
- Describe how the ARM processor families are organized.
- Compare the available MCU processors.
- Examine methods for efficiently designing MCUs using configuration.
- Define several key ARMv8 Extensions.
- Implement the MCU Design Course submission process.
- Optimize the Peripheral Interface modules to minimize MCU area.
- Optimize the Peripheral Device connections to an MCU to minimize MCU area.
- Optimize the voltage and frequency of an MCU to minimize execution time and energy.
- Assign sleep states in order to optimize power/energy and performance.
- Configure Peripheral Interfaces in order to facilitate reuse and optimize area.
- Add power control to Peripheral Interfaces in order to optimize area and power/energy.
Syllabus
Duration: 5 hours
In this module we will discuss Microcontrollers (MCUs), their relationship to other processor types, their usage applications and how to evaluate them.
Duration: 3 hours
In this module we will explore the basic MCU components, their functions and the busses used to connect them to each other.
Duration: 9.5 hours
In this module we will explore various methods for managing MCU power usage, including the clock system.
Duration: 3 hours
In this module we will identify the alternatives for MCU processors and look closely at the processors from ARM.
Duration: 8.5 hour
In this module we will examine several additional functions created in the newer ARMv8 architecture and explain how MCUs are designed efficiently using configuration.
Duration: 2 hours
This module contains materials for the proctored final exam for MS-ECE degree students. If you've upgraded to the for-credit version of this course, please make sure you review the additional for-credit materials in the Introductory module and anywhere else they may be found.
To learn about ProctorU's exam proctoring, system test links, and privacy policy, visit www.colorado.edu/ecee/online-masters/current-students/proctoru.
Grading
Assignment | Percentage of Grade |
5 Graded Assignments (Quizzes) | 10% (2% each) |
Programming Assignment: MCU Design Project Stage 0 | 5% |
2 Programming Assignments | 60% (30% each) |
Final Exam | 25% |
Letter Grade Rubric
Letter Grade | Minimum Percentage |
A | 93% |
A- | 90% |
B+ | 87% |
B | 83% |
B- | 80% |
C+ | 77% |
C | 73% |
C- | 70% |
D+ | 67% |
D | 60% |
F | 0% |