This is a public information for the course EEE307 Computer Interfacing Techniques delivered in Winter 2025 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.
This new course uses STM32G491RE which is a modern and powerful microcontroller developed by STMicroelectronics and uses the Arm Cortex-M4 32-bit RISC architecture.
The Arm Cortex-M family is used many modern devices such as Apple iPhones, Apple Airpods, Amazon Echo, Samsung Galaxy gear, smartwatches, VR sets, thermostats systems, and many more.
Course Description
The aim of this course is to expand programming skills to the interfacing of low-level devices. For this purpose, we will use a new STM32 microcontroller, namely, the STM32G491RE microcontroller that is mounted on NUCLEO-G491RE Board. Students completing this course will be able to design and implement simple interfaces to modern microcomputers or microprocessors. Interfacing methods will be studied in the classroom and reinforced by a strong laboratory component during which the students will put theory into practice.
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 input/output techniques; and interfacing to external devices through a control/data bus.
Main Topics
Embedded systems and embedded C
Microcontroller overview
Timer interface module
Pulse Width Modulation (PWM) signals
Digital-to-analog converters (DAC) for embedded systems
Analog-to-digital converter (ADC) for embedded systems
Serial communication interface (SCI)
FIFO buffers
Synchronous, asynchronous communication
Master-slave communication
Serial peripheral communication interface (SPI)
Inter-Integrated circuit (I2C)
Interfacing with microcontroller bus
Address decoding
D flip-flops and latches
Tristate buffer
Timing analysis
Keyboard interfacing
NUCLEO-G491RE board
Labs
This course will involve 1 tutorial and 6 labs, delivered through 10-11 lab sessions. The topics of the labs are:
Lab 0 (tutorial): Introduction to SEGGER Embedded Studio
Lab 1: Embedded C and Timers
Lab 2; Pulse width modulation
Lab 3: Analog-to-digital conversion (ADC)
Lab 4: Universal Synchronous/Asynchronous Receiver Transmitter (USART)
Lab 5: Inter-Integrated Circuit (I2C)
Lab 6: Serial Peripheral Interface (SPI)
Block Diagram of STM32G491RE
Board Connectors Pinout