Universitat Politècnica de Catalunya. Departament d'Enginyeria Electrònica
Cosp Vilella, Jordi
2025-06-27
Aquest treball té com a objectiu implementar i verificar mòduls configurables per als protocols de comunicació SPI, UART, I2C i HDMI en una placa FPGA Nexys4, controlats un microcontrolador ESP32 per als mòduls SPI i I2C. S’han desenvolupat interfícies amb una pantalla LCD amb controlador ST7920 i amb un mòdul LCD 2x16 que utilitza el protocol I2C, permetent la visualització de text en ambdós dispositius i comprovant el funcionament correcte dels mòduls SPI i I2C. Tots els mòduls s’han programat en Verilog i s’han validat mitjançant simulacions i proves físiques, confirmant que els mòduls funcionen correctament tant de manera individual com conjunta. A més, la sortida HDMI s’ha implementat mitjançant connexions externes des dels ports de la FPGA a una placa breakout per mostrar imatges en un monitor extern, implementant la codificació de vídeo YCbCr 4:2:0 i l’enviament d’Informació Auxiliar de Vídeo (AVI), sense suport d’àudio. També s’ha implementat la recepció d’imatges des d’un PC cap al mòdul HDMI mitjançant comunicació USB-UART. Els resultats obtinguts aporten una solució pràctica per a l’ús d’aquests perifèrics en una FPGA, amb controladors implementats per a la presentació d’informació visual en pantalles, i seran útils en futurs projectes que requereixin implementar aquests protocols de comunicació en sistemes encastats que interactuïn amb diversos dispositius, com ara sensors, pantalles o altres perifèrics.
Este trabajo tiene como objetivo implementar y verificar módulos configurables para los protocolos de comunicación SPI, UART, I2C y HDMI en una placa FPGA Nexys4, controlados mediante un microcontrolador ESP32 para los módulos SPI e I2C. Se desarrollaron interfaces con una pantalla LCD con controlador ST7920 y un módulo LCD 2x16 que utiliza el protocolo I2C, permitiendo la visualización de texto en ambos dispositivos y comprobando el correcto funcionamiento de los módulos SPI e I2C. Todos los módulos fueron programados en Verilog y se validaron mediante simulaciones y pruebas físicas, confirmando que los módulos funcionan correctamente tanto de forma individual como en conjunto. Además, la salida HDMI se implementó mediante conexiones externas desde puertos de la FPGA hacia una placa breakout para mostrar imágenes en un monitor externo, implementando la codificación de vídeo YCbCr 4:2:0 y el envío de Información Auxiliar de Vídeo (AVI), sin soporte para audio. También se implementó la recepción de imágenes desde un PC al módulo HDMI mediante comunicación USB-UART. Los resultados obtenidos aportan una solución práctica para el uso de estos periféricos en una FPGA, con controladores implementados para la presentación de información visual en pantallas, y serán útiles en futuros proyectos que requieran la implementación de estos protocolos de comunicación en sistemas embebidos que interactúen con diversos dispositivos, como sensores, pantallas u otros periféricos.
This project aims to implement and verify configurable modules for the SPI, UART, I2C, and HDMI communication protocols on a Nexys4 FPGA board, controlled by an ESP32 microcontroller for the SPI and I2C modules. Interfaces were developed for an LCD screen with an ST7920 controller and for a 2x16 LCD module that uses the I2C protocol, enabling text display on both devices and confirming the correct operation of the SPI and I2C modules. All modules were programmed in Verilog and validated through simulation and physical testing, confirming that the modules function correctly both individually and together. Additionally, HDMI output was implemented connecting FPGA ports to a breakout board to display images on an external monitor, with YCbCr 4:2:0 video encoding and transmission of Auxiliary Video Information (AVI), without audio support. Image reception from a PC to the HDMI module via USB-UART communication was also implemented. The results provide a practical solution for using these peripherals with an FPGA, with controllers implemented for visual information display on screens, and will be useful for future projects requiring the implementation of these communication protocols in embedded systems that interact with various devices, such as sensors, displays, or other peripherals.
Bachelor thesis
Castellà
Àrees temàtiques de la UPC::Enginyeria electrònica; Microcontrollers -- Programming; FPGA; Nexys4; Módulos Configurables; Protocolos de Comunicación; SPI; UART; I2C; HDMI; Microcontroldor; ESP32; LCD; ST7920; Verilog; Simulación; YCbCr; AVI; Visualización de Texto; Recepción de Imágenes; USB-UART; Sistemas Embebidos; Microcontroladors -- Programació
Universitat Politècnica de Catalunya
http://creativecommons.org/licenses/by-nc/4.0/
Open Access
Attribution-NonCommercial 4.0 International
Treballs acadèmics [82545]