Mostrar el registro sencillo del ítem

dc.contributor.advisorMolina, Robertoes
dc.contributor.authorFlores-Barrantes, Iliak
dc.date.accessioned2026-06-08T15:49:05Z
dc.date.available2026-06-08T15:49:05Z
dc.date.issued2025-11-28
dc.identifier.urihttps://hdl.handle.net/2238/18932
dc.descriptionProyecto de Graduación (Licenciatura en Ingeniería Electrónica) Instituto Tecnológico de Costa Rica, Escuela de Ingeniería Electrónica, 2025.es
dc.description.abstractEl presente proyecto desarrolla un algoritmo en lenguaje ensamblador RISC-V destinado a emular, por software, el funcionamiento de un receptor basado en el protocolo I2C dentro del microcontrolador Siwa. Dado que este dispositivo no cuenta con un módulo I2C por hardware y únicamente dispone de interfaces UART, SPI y pines GPIO, se implementó una solución que permite interpretar señales I2C mediante muestreo directo de los GPIO, siguiendo estrictamente las condiciones del estándar. Para validar la propuesta se diseñó un ambiente de simulación en SystemVerilog, incorporando un testbench modificado capaz de emular un transmisor I2C. Se evaluaron distintas frecuencias de operación, múltiples direcciones de dispositivo y diversos conjuntos de datos, confirmándose la correcta detección de las fases START, dirección, respuesta ACK y la lectura secuencial de bytes a 100 kHz. Asimismo, se identificaron limitaciones en frecuencias superiores a 400 kHz debido al retardo intrínseco asociado a la ejecución de instrucciones en el procesador. Los resultados demuestran que la emulación por software constituye una solución viable y eficiente para extender las capacidades del microcontrolador Siwa sin requerir módulos de hardware adicionales. El proyecto sienta las bases para futuras mejoras, entre ellas la optimización temporal, la verificación automatizada y la validación con dispositivos físicos.es
dc.description.abstractThis project presents the development of a RISC-V assembly algorithm designed to emulate, in software, an I2C reception module within the Siwa microcontroller. Since Siwa lacks a dedicated I2C hardware peripheral and relies solely on UART, SPI, and GPIO interfaces, the proposed solution enables accurate interpretation of I2C signals by directly sampling the GPIO lines in compliance with the protocol standard. ASystemVerilog simulation environment was implemented, including a modified testbench capable of emulating an I2C transmitter. Several operating frequencies, device addresses, and data sets were tested to validate the algorithm’s behavior. The system successfully detected START conditions, address decoding, ACK handling, and sequential byte reception at 100 kHz. The results confirm that software-based emulation is a feasible and cost–effective approach to expanding the communication capabilities of the Siwa microcontroller without additional hardware.This work provides a foundation for further improvements such as timing optimization, automated verification, and validation with physical I2C devices.es
dc.language.isospaes
dc.publisherInstituto Tecnológico de Costa Ricaes
dc.rightsacceso abiertoes
dc.subjectTransmisión de datoses
dc.subjectLenguaje ensamblador -- RISC-Ves
dc.subjectArquitectura -- RISC-Ves
dc.subjectMicroprocesadores Siwaes
dc.subjectProtocolo I2Ces
dc.subjectVerificación -- Automatizaciónes
dc.subjectEmulación -- Software de protocoloes
dc.subjectDiseño -- Algoritmoses
dc.subjectData Transmissiones
dc.subjectAssembly language -- RISC-Ves
dc.subjectArchitecture -- RISC-Ves
dc.subjectSiwa microprocessorses
dc.subjectI2C protocoles
dc.subjectVerification -- Automationes
dc.subjectEmulation -- Protocol softwarees
dc.subjectDesign -- Algorithmses
dc.subjectResearch Subject Categories::TECHNOLOGY::Electrical engineering, electronics and photonicses
dc.subjectResearch Subject Categories::TECHNOLOGY::Information technology::Computer science::Software engineeringes
dc.titleDiseño de un algoritmo para la emulación por software del protocolo IC2 para la recepción de datoses
dc.typeproyecto fin de carreraes


Ficheros en el ítem

Thumbnail

Este ítem aparece en la(s) siguiente(s) colección(ones)

Mostrar el registro sencillo del ítem