CSE/EE 5/7385 Microcontroller Architecture and Interfacing - Syllabus

Southern Methodist University, Spring 2018

Course Description

Emphasizes the design and interfacing of microprocessor computer systems. Topics covered: processor architecture and interfacing, memory structure and interfacing, bus systems, support chips, tools for hardware design, analysis, simulation, implementation, and debugging. The theoretical part of the course is complemented by a laboratory in which students get practical experience in designing and analyzing interfaces to processors, memories, and peripherals.

Keil MCBSTM32C Evaluation Board

Schedules

Class schedule

Class Day Time Location
Mon 11:00AM-12:20PM Caruth Hall 379
Wed 11:00AM-12:20PM Caruth Hall 379

Laboratory schedule

Sections Day Time Location
N11 THU 9:00AM-10:50AM Junkins 215
N12 THU 11:00AM-12:50AM Junkins 215
N13 FRI 8:00AM-9:50AM Junkins 215
N14 FRI 10:00AM-11:50AM Junkins 215

Instructors

Class instructor

David Kebo Houngninou
Computer Science and Engineering Department
Bobby Lyle School of Engineering
Southern Methodist University
P.O. Box 750122
Dallas, TX 75275-0122
Office: Caruth Hall 308
Email: dhoungninou@smu.edu

Office hours

MW 10:00AM-10:50AM
Caruth Hall 308
or by email appointment

Lab instructors

Yi Sun

Office: Caruth Hall 308
Email: yis@smu.edu
Help desk hours: Th: 01:00PM - 03:00PM

Hui Jiang

Office: Caruth Hall 308
Email: huij@mail.smu.edu
Help desk hours: W: 03:00PM - 04:00PM

Material

Text

Software Downloads

Keil Tools Demo Version (available for student download)

Learning management system

A discussion board is available on Canvas

Topics

  • Microcontrollers and Embedded Systems
  • ARM Architecture
  • ARM Programming Model
  • ARM Instruction Set
  • Exception Handling
  • Vectored Interrupt Controller
  • Efficient Embedded Programming
  • Memory Systems
  • Bus Interfaces - AMBA - USB - I2C
  • Data Converters (DAC & ADC)
  • Integrated Circuit Interfacing

Course requirements

1. Either a) or b)
a) CSE 3381 (or EE 2381) and CSE 2240
b) EE 3381
2. Assembly language programming experience

(We will only spend a BRIEF amount of time reviewing ARM assembly, so if it is new to you, be prepared for some self-study! If you have never had an assembly class, you need to drop this class and take or audit CSE 2240 OR EE 3381)

Class Schedule

WEEK DATE EVENTS/HOLIDAYS LABORATORY EXPERIMENTS ADDITIONAL MATERIAL AND ASSIGNMENTS CLASS TOPIC AND OVERHEADS

Week 1

22-JAN

FIRST DAY OF CLASS

NO LAB THIS WEEK

Class and ARM Introduction

24-JAN

NO LAB THIS WEEK

Reading: How to Select a Microcontroller

Processor Architecture Concepts

Week 2

29-JAN

NO LAB THIS WEEK

Processor Architecture Concepts

31-JAN

NO LAB THIS WEEK

ARM Processor ISA

Week 3

05-FEB

LABORATORY 1: Keil Tools and Lab Board Introduction/Tutorial

Checklist

Homework 1

Homework 1 SOLUTION

Reading: Hohl Chapters 2 and 3

ARM Processor ISA

07-FEB Last Day to Request Excused Absence for Observance of a Religious Holiday

LABORATORY 1: Keil Tools and Lab Board Introduction/Tutorial

ARM Program Anatomy

ARM Instruction Set- Load, Store, and Addressing

Week 4

12-FEB

LABORATORY 2: Data Transfer and Addressing Modes 1

ARM Instruction Set- Load, Store, and Addressing

14-FEB

LABORATORY 2: Data Transfer and Addressing Modes 1

Reading: Hohl Chapters 4 and 5

Homework 1 DUE

Constants and Literal Pools

Week 5

19-FEB

LABORATORY 3: Logic and Arithmetic in Assembly 1

Reading: TI DSP/uC Arithmetic Tutorial

Homework 2

Homework 2 SOLUTION

Logic and Arithmetic

21-FEB

LABORATORY 3: Logic and Arithmetic in Assembly 1

Read Hohl Chapters 6 and 7

Logic and Arithmetic

Week 6

26-FEB

LABORATORY 4:Embedded String Search

Flow Control

28-FEB

LABORATORY 4:Embedded String Search

Homework 2 DUE

Flow Control

Lookup Tables

Week 7

05-MAR

LABORATORY 5:Logic and Arithmetic in Assembly 2

Lookup Tables

Test 1 Review

07-MAR

LABORATORY 5:Logic and Arithmetic in Assembly 2

Read Hohl Chapter 8

Test 1 Review

Week 8

12-MAR

SPRING BREAK

NO CLASS

NO LAB

SPRING BREAK

NO CLASS

14-MAR

SPRING BREAK

NO CLASS

NO LAB

SPRING BREAK

NO CLASS

Week 9

19-MAR

LABORATORY 5:Logic and Arithmetic in Assembly 2

Interrupts and Exceptions

21-MAR

LABORATORY 5:Logic and Arithmetic in Assembly 2

Interrupts and Exceptions

Test 1

Week 10

26-MAR

PRE-LAB ASSIGNMENT

STM32F107xx reference manual

Read Hohl Chapters 9 and 10

Homework 3

Homework 3 SOLUTION

Basic C Programming for Embedded Systems

STM32F107 Interfacing

blinky.c

28-MAR

PRE-LAB ASSIGNMENT

STM32F107xx reference manual

PRE-LAB SOLUTION

Read Hohl Chapter 11

STM32F107 Interfacing

blinky.c

Week 11

02-APR

LABORATORY 6:

Interrupt-driven I/O
Basic C Programming using the Keil Tools

Operating Systems Concepts

RL-ARM User's Guide (MDK v4)

04-APR

LABORATORY 6:

Interrupt-driven I/O
Basic C Programming using the Keil Tools

Read Hohl Chapter 14

Homework 3 DUE

Memory System Architecture

Week 12

09-APR

NO LAB

Homework 4

Homework 4 SOLUTION

Memory System Architecture

11-APR

NO LAB

AMBA Parallel Bus

Week 13

16-APR

LABORATORY 7

Using the RTX-OS Functions

AMBA Parallel Bus

18-APR

LABORATORY 7

Using the RTX-OS Functions

Homework 4 DUE

Data Converters

Week 14

23-APR

FINAL PROJECT

Data Converters

25-APR

FINAL PROJECT

I2C Serial Bus

Week 15

30-APR

FINAL PROJECT

USB Serial Data Bus

Test 2 Review

02-MAY

FINAL PROJECT

USB Serial Data Bus

Test 2 Review

Week 16

07-MAY

Last day of classes

FINAL PROJECT DEMO

09-MAY

FINAL PROJECT (LAST DAY TO DEMO)

Checklist

14-MAY

FINAL PROJECT DUE ON CANVAS

FINAL PROJECT DUE ON CANVAS

FINAL PROJECT DUE ON CANVAS

Test 2
11:30 AM - 12:50 PM

Grading Policy

Grade
Homework 10%
Laboratory 40%
Test 1 (in-class) 20%
Test 2 (in-class) 20%
Final Project 10%

Note: Grades on labs/tests/final will range from 0-100.
However, the final class grade will be scaled to fit the above grading policy.
(1 lab point or 1 homework point is not equal to 1 test point)

Lab Policy

Lab report format

Grading Policy Acknowledgement Form

Late Assignments

Unless a documented and legitimate reason is provided, all labs turned in late will automatically have 20% of the total possible points deducted for each lab period that has elapsed since the due date. As an example, a 100-point lab that was due on Wednesday but turned in on Thursday will be graded as normal and then 20 additional points will be deducted for being late.

All labs are due on Canvas

Students who do not turn in labs or participate in the laboratory will not pass this class. You must attend and turn-in at least 80% of all laboratories to avoid receiving a failing grade.

Makeup Examinations

There will be no makeup examinations, a missed examination will result in 0% unless a valid and documented excuse is presented. If possible, students should provide such documentation before the examination date. In any event, notification must be provided within 2 class periods following the missed examination. In the case of a legitimate excuse for missing an examination, an alternative for making up this portion of total grade will be provided to the student.

Information

Disability Accommodations:

Students needing academic accommodations for a disability must first register with Disability Accommodations & Success Strategies (DASS). Students can call 214-768-1470 or visit http://www.smu.edu/Provost/ALEC/DASS to begin the process. Once registered, students should then schedule an appointment with the professor as early in the semester as possible, present a DASS Accommodation Letter, and make appropriate arrangements. Please note that accommodations are not retroactive and require advance notice to implement.

Religious observance

Religiously observant students wishing to be absent on holidays that require missing class should notify their professors in writing at the beginning of the semester, and should discuss with them, in advance, acceptable ways of making up any work missed because of the absence. (See University Policy No. 1.9.)

Excused absences for university extracurricular activities

Students participating in an officially sanctioned, scheduled University extracurricular activity should be given the opportunity to make up class assignments or other graded assignments missed as a result of their participation. It is the responsibility of the student to make arrangements with the instructor prior to any missed scheduled examination or other missed assignment for making up the work. (University Undergraduate Catalogue)