This is a public information for the course EEE307 Computer Interfacing Techniques delivered in Winter 2024 at the Department of Electrical and Computer Engineering at the Royal Military College of Canada. Enrolled students should consult the course website hosted on Moodle.
Course Description
The aim of this course is to expand programming skills to the interfacing of low-level devices. Students completing this course will be able to design and implement simple interfaces to modern microcontrollers, they will also learn how to use different microcontroller peripherals and communications ports.
This course will target the following topics: description of the computer bus; timing analysis of buses and devices; analog-to-digital and digital-to analog conversion; serial and parallel interfaces; polling, interrupt and direct memory access input/output techniques; and interfacing to memory and other storage devices.
Main Topics
Embedded C
DP512 processor
Timer interface module
Serial communication interface (SCI)
FIFO buffers
Synchronous, asynchronous communication
Master-slave communication
Serial peripheral communication interface (SPI)
Inter-Integrated circuit (I2C)
Paged memory
HC9S12 External bus
Address decoding
D flip-flops and latches
Tristate buffer
Timing analysis
Hardware de-bouncing
Software de-bouncing
Keyboard interfacing
Digital-to-analog converters for embedded systems
Analog-to-digital converter for embedded systems
Labs
This course will involve 7 labs (delivered through 10 lab sessions) and 2 tutorials. The topics of the labs are:
Lab 1: Embedded C and Timers
Lab 2: Serial Communication Interface (SCI)
Lab 3: Using Inter-Integrated circuit (I2C) to communicate with an LCD
Tutorial A: Interfacing microcontroller to FPGA
Tutorials B: HCS12 Bus Timing
Lab 4: Demultiplexing and decoding
Lab 5: Interfacing external bus with Switches and LEDs
Lab 6: Interfacing external bus with Keypad
Lab 7: Interfacing external bus with RAM
The labs used the MC9S12DP512 microcontroller. Next year, we will move to a newer microcontroller "STM32G491RE" which is manufactured by STMicroelectronics based on Arm Cortex-M4 32-bit RISC architecture family.
Block Diagram of MC9S12DP512
Adapt9S12DP512 board containing the microcontroller
Adapt9S12DP512 interfaced with Digilent Spartan-3 system board hosting an FPGA