ECEA 5375 Microcontrollers: Basic Architecture and Design

1st course in the MÌìÃÀ´«Ã½ Architecture, Design Optimization and AI at the Edge Specialization

Instructor: Steve Sheafor

This course introduces students to the architecture and design of Microcontrollers (MÌìÃÀ´«Ã½s), which are small processors used in a myriad of products. The main MÌìÃÀ´«Ã½ 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 MÌìÃÀ´«Ã½ 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 MÌìÃÀ´«Ã½s, 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 MÌìÃÀ´«Ã½s.
  • Describe an MÌìÃÀ´«Ã½ product family and its applications.
  • Describe MÌìÃÀ´«Ã½s and their relationship to other processor types.
  • Assess the performance impact of MÌìÃÀ´«Ã½ bus functions.
  • Identify the busses used in MÌìÃÀ´«Ã½s.
  • Describe the functions of basic MÌìÃÀ´«Ã½ components.
  • Describe how clocks affect the power and energy of an MÌìÃÀ´«Ã½.
  • Explain the mechanisms for tuning internal MÌìÃÀ´«Ã½ voltages for optimization.
  • Describe various methods for controlling MÌìÃÀ´«Ã½ power usage.
  • Analyze the basic system components available in the ARMv7 architecture.
  • Describe how the ARM processor families are organized.
  • Compare the available MÌìÃÀ´«Ã½ processors.
  • Examine methods for efficiently designing MÌìÃÀ´«Ã½s using configuration.
  • Define several key ARMv8 Extensions.
  • Implement the MÌìÃÀ´«Ã½ Design Course submission process.
  • Optimize the Peripheral Interface modules to minimize MÌìÃÀ´«Ã½ area.
  • Optimize the Peripheral Device connections to an MÌìÃÀ´«Ã½ to minimize MÌìÃÀ´«Ã½ area.
  • Optimize the voltage and frequency of an MÌìÃÀ´«Ã½ 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 (MÌìÃÀ´«Ã½s), 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 MÌìÃÀ´«Ã½ 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 MÌìÃÀ´«Ã½ power usage, including the clock system.Ìý

Duration: 3Ìýhours

In this module we will identify the alternatives for MÌìÃÀ´«Ã½ 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 MÌìÃÀ´«Ã½s 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: MÌìÃÀ´«Ã½ Design Project Stage 05%
2 Programming Assignments60% (30% each)
Final Exam25%

Letter Grade Rubric

Letter GradeÌý
Minimum Percentage
A93%
A-90%
B+87%
B83%
B-80%
C+77%
C73%
C-70%
D+67%
D60%
F0%