Tags:
FPGA
digital-design
electronics
hardware
school-project
solo-project
UART-to-SPI Bridge
The UART-to-SPI Bridge project focused on developing a communication interface to convert 4-byte UART data packets into a 32-bit SPI frame. The design was implemented on the Digilent Basys 3 FPGA board, showcasing skills in VHDL, digital communication protocols, and modular system design.
Objectives
- UART Receiver:
- Develop a UART interface to receive 4 successive 1-byte packets from a PC via the board’s USB-UART bridge.
- The payload for each UART frame was set to 1 byte, with freely chosen baud rate and parity settings.
- SPI Transmitter:
- Implement an SPI interface operating in SPI Mode 0.
- Each SPI frame transmitted a 32-bit payload via GPIO pins of the FPGA.
- Packet Merger:
- Design a controller to:
- Track the number of received UART packets.
- Merge 4 UART packets into a single 32-bit frame.
- Trigger SPI transmission once the frame was complete.
- Design a controller to:
-
System Integration:
- Combine the UART receiver, SPI transmitter, and packet merger into a single system.
- Test and verify the functionality on the target FPGA.
System Description
- The UART interface connected the FPGA to a PC, allowing data transmission through a terminal or script.
- The SPI interface transmitted the combined 32-bit frame to an external SPI device via GPIO pins.
- The controller ensured proper synchronization and conversion of data between protocols.
This project provided hands-on experience in interfacing communication protocols, modular design, and FPGA implementation, forming a robust bridge between UART and SPI systems.
Project supervisor: Sammy Verslype
Completion date: September 2023
Back to projects