CECS 347 - Syllabus

Microprocessors and Controllers II

Spring 2015

Instructor: Eric Hernandez

OFFICE HOURS:Mon., Wed. 3:00-4:00pm, Tue., Thur. 12:00-1:00pm VEC-403 or by appointment

E-MAIL ADDRESS:

COURSE WEBPAGE:

LECTURE:Mon., Wed.11:00 A.M. to 11:50 A.M. ECS 302

LABORATORY:Mon., Wed.12:00 P.M. to 1:15 P.M. ECS 413

A. DESCRIPTION

This is a continuation of Embedded Systems from CECS 346. At the heart of every Embedded System is the Microcontroller. This class will focus on the ARM architecture using the LPC2148 Microcontroller from NXP.

B. ORGANIZATION

This is a lecture and lab based course in which topics are presented in the lecture and demonstrated in the lab through a series of projects that build upon each other. It is very important that each lab is completed as most labs will rely on the knowledge gained from the previous one. Successful completion of the course is reliant upon completion of the labs.

C. COURSE OBJECTIVES

  1. To continue and expand on embedded systems using the ARM core.
  2. To learn proper procedural coding techniques.
  3. To learn the architecture and memory organization of the ARM via the assembly language.
  4. To develop proficiency in C coding for ARM based embedded systems.

D. COURSE TOPICS

ARM Microcontrollers / RISC vs. CISC / ARM Assembly Language
Addressing Modes / Arithmetic & Logic Instructions / Branching
I/O Ports Programming / In System Programming / Timers & Interrupts
Analog Digital Converters / Serial Ports / LCD Interfacing

E. TEXT AND REQUIRED MATERIALS

ARM Assembly Language – Fundamentals and Techniques: (Second Edition)

byWilliam Hohl, Christopher Hinds

Supplies:

ARM LPC2148 Development Board, wire and other discrete components as required by each lab.

KeiluVisionARMIDE and Simulator.

F. GRADING PLAN

Coursework will be weighted as follows:

  1. Quizzes10%Only the 5 highest ones will be counted.
  2. Midterm 120%
  3. Midterm 220%
  4. Labs and Homework25%Late labs will lose 5% per class meeting.
  5. Final Exam25%

A – 100%-90%

B – 89%-80%

C – 79%-70%

D – 69%-60%

F – 59%-0%

The grades will be curved, but you can never get lower than the scale above

G. ATTENDANCE

Although not explicitly recorded, attendance is vital for success in this class. Quizzes may or may not be announced one lecture before and exam material will be discussed throughout. Programming tips and techniques for the labs will also be covered during lecture time.

H. TENTATIVE SCHEDULE (Dates may vary due to holidays and project requirements)

Week 1 / Chapter 1:Overview of Computing Systems
Week 2 / Chapter 2:The Programmer’s Model, Chapter 3:Instruction Sets
Week 3 / Chapter 4:Assembler Rules and Directives
Week 4 / Chapter 5: Loads, Stores, and Addressing
Week 5 / Midterm #1 Review, Midterm #1
Week 6 / Chapter 6: Constants and Literal Pools
Week 7 / Chapter 7: Integer Logic and Arithmetic
Week 8 / Chapter 8: Branches and Loops, UART Peripheral
Week 9 / Chapter 13: Subroutines and Stacks
Week 10 / Midterm #2 Review, Midterm #2
Week 11 / Chapter 15:Exception Handling and Vectored Interrupt Controller
Week 12 / C Programming for Embedded Systems
Week 13 / State Machines, Analog Digital Converter Peripheral
Week 14 / Peripherals – GPIO, LCD
Week 15 / PWM and Sine Wave Generation
Finals Week / 346 - Final Exam

I. CLASS PREREQUISITES

CECS 301, 311 and 346 with a "C" or better.