The application and design of ARM (Advanced RISC Machine) systems. Topics include: assembly and C language programming and an introduction to the control and interfacing of ARM based systems. Upon completion, students should be able to design, construct, program, verify, analyze and troubleshoot ARM assembly and C language programs and supporting hardware.
Upon successful completion of this course, students will be able to:
- Demonstrate the ability to design, troubleshoot, and simulate ARM assembly and C language programs.
- Demonstrate the ability to perform logic and timing simulations using an ARM development system.
- Demonstrate an understanding of controlling circuits and systems interfaced to an ARM development board.
Lab 1: Interfacing GPIOs in polling mode.
Lab 2: Interfacing GPIOs with interrupts and hardware debouncing.
Lab 3: Controlling GPIOs with timer interrupts.
Lab 4: Controlling a servo motor with timer-generated Pulse Width Modulation.
Lab 5: Controlling GPIOs via cross-device UART communication.
Lab 6: Generating a 60 Hz sinewave using a DAC in Timer-driven DMA mode.
Project 1: Control a temperature indicator via cross-device UART communication using an NTC thermistor and ADC.
Project 2: Control the speed and direction of a DC motor using an ADC, timer-driven PWM, and L293N motor controller.
Final Project: Using a joystick, servo, and DC motors, control the speed and direction of a vehicle’s drivetrain.