← Back to Projects

SPI Sensor Controller

Custom SPI master interfacing with onboard sensors and integrating with UART output.

Status
Not Started
Phase
Phase 1: Foundations (Month 6)
Platform
RealDigital Blackboard (Zynq-7000)
Language
Verilog

Overview

Build a custom SPI master to interface with the Blackboard's onboard sensors including accelerometer, gyroscope, and compass. This project demonstrates real hardware peripheral interfacing and protocol implementation.

This completes Phase 1 of the learning roadmap, providing hands-on experience with a widely-used embedded communication protocol. The project integrates with the UART transceiver for data output.

Requirements

  • Read accelerometer, gyroscope, and compass data via SPI
  • Configure sensor registers for desired operating modes
  • Display sensor data on 7-segment display
  • Output sensor data via UART (integration with Project 1)
  • Implement configurable SPI clock divider
  • Support SPI modes 0, 1, 2, and 3 (CPOL/CPHA combinations)

Skills Demonstrated

  • SPI Protocol Modes: CPOL, CPHA configuration
  • Multi-byte Transactions: Register read/write sequencing
  • Device Driver State Machines: Sensor initialization and polling
  • Real Hardware Interfacing: Working with actual peripherals
  • System Integration: Combining SPI and UART modules

Hardware

The RealDigital Blackboard includes onboard accelerometer, gyroscope, and compass sensors. No additional hardware is required for this project.

Deliverables

  • GitHub repo with documented source
  • Testbench for SPI master module
  • Video demo showing live sensor data on display/terminal
  • Block diagram showing SPI master + sensor interface

Resources

  • Blackboard sensor datasheets (IMU part numbers in board manual)
  • nandland.com SPI tutorial
  • Hugg book state machine chapters

Architecture

Architecture will be documented as the project progresses.

Implementation Notes

Implementation notes will be added during development.

Resource Utilization

To be measured after implementation.

Progress Log

Not yet started

This project follows the UART Transceiver and completes Phase 1.