Proyectos de años anteriores
Proyectos de años anteriores
Proyectos Finales
Propuesta de proyectos - 2007
Procesamiento de video en tiempo real
Descripción General
El objetivo del proyecto es procesar en tiempo real una imagen de video.
Como primer ejemplo de procesamiento se propone poder seleccionar un color en particular de una imagen de video y generar una nueva imagen de video que preserve solo ese color (y colores cercanos dependiendo de un parámetro de sensibilidad), dejando el resto de la imagen en blanco y negro.
Para este procesamiento se deberán estudiar alternativas de algoritmos, implementaciones e interfaces.
Para la prueba de este diseño se utilizará la placa DE2 de Altera (http://www.altera.com/education/univ/materials/boards/unv-de2-board.html), la cual cuenta con un conversor AD para señales de video banda base (NTSC/PAL) y un conversor DA que permite generar imágenes de video VGA.
Como resultados intermedios deberan obtenerse soluciones para tomar la señal de video interlaceada que produce el decodificador de video entrante y generar la señal de video no-interlaceada VGA.
Diseño en hardware de un codificador
Objetivos
Implementar el circuito de un codificador en una fpga.
Antecedentes
Se dispone de un programa en C que implementa un codificador con redundancia r variable, que procesa bloques de n = 255 palabras de b bits, como se muestra en la figura.
Descripción
La idea de este proyecto es realizar un diseño en hardware donde algunas operaciones puedan ser realizadas en paralelo. El esquema del codificador es el siguiente:
Las operaciones se realizan con álgebra en campos de Galois (GF). La suma en GF equivalen a la operación de exor bit a bit. Las operaciones de multiplicación en GF pueden implementarse con una tabla.
Este tipo de codificadores permiten detectar y corregir errores en ráfagas, por ejemplo errores en los datos de un CD debido a las rayaduras del mismo.
Pruebas
Para probar el correcto funcionamiento del mismo, se propone conectar una UART al bloque codificador, de modo de poder enviar y recibir texto desde un PC.
Controlador de Power Management Bus
Descripción General
Desarrollar un manejador del Power Management Bus (PMBus) tanto para maestro como para esclavo. El PMBus es un bus de comunicación serie de baja velocidad para el gerenciamiento de convertidores de potencia en sistemas electrónicos. Está basado en el System Management Bus (SMBus) que a su vez está basado en el bus I2C.
Utiliza dos hilos de comunicación (reloj y datos) con opción a otros dos (interrupción y control), conectados en configuración wired-AND.
Tiene un conjunto de comandos que permiten al maestro indicar a cada convertidor el voltaje de salida deseado, configurar sus parámetros internos e indicar la secuencia de encendido y apagado. A su vez, los esclavos pueden comunicar al maestro su estado (corriente de carga, temperatura, etc.) y alertar por condiciones de falla.
Referencias:
- PMBus (http://pmbus.org)
- SMBus (http://smbus.org)
- I2C (http://www.i2c-bus.org/)
- Proyecto anterior de DL2 sobre I2C (http://iie.fing.edu.uy/ense/asign/dlp/proyectos/2002/i2c/ProyectoII2C.htm)
Terminal para tarjetas inteligentes
Objetivo
Implementar un terminal que permita dialogar con una tarjeta inteligente ISO 7816 a través de su conector de 6 contactos estándar.Descripción general
El mencionado conector cuenta con una línea de comunicación serie bidireccional y con pines para suministrar a la tarjeta alimentación, reset y reloj.
El terminal a diseñar debe:
- generar la conexión inicial de fuente, reset y reloj de acuerdo a una secuencia de activación establecida en el estandar.
- enviar comandos a la tarjeta y recibir las respuestas de la misma a través de la línea serie bidireccional del conector en una comunicación serie asíncrona.
- implementar o permitir una posterior implementación de controles adicionales sobre la señales de reloj y reset (p. ej. avance manual del reloj, cambio de frecuencia frente a determinados eventos, ...).
- mostrar una interfaz hacia un bus a definir para poder controlar todas las funcionalidades anteriores desde un microprocesador.
El desarrollo completo de este proyecto implica incursionar en diseño eléctrico y físico (para el manejo de la fuente y el armado del conector), la incorporación de un microcontrolador dentro del fpga y el desarrollo de un programa de prueba básico en dicho microcontrolador.
Año 2006
Año 2005
USB y control de cámara USB
Keywords: USB, Cámara, procesamiento imágenes, Wishbone.
Realizar un circuito capaz de tomar datos de una cámara y enviarlos hacia un PC a través de un puerto USB. El diseño debe permitir intercalar módulos de procesamiento de imágenes entre el módulo que toma la información de la cámara y el módulo que la envía al PC por USB.
Módulo de procesamiento de imágenes por ventana deslizante (nuevo)
Keywords: procesamiento imágenes, Wishbone.
Realizar un módulo de filtrado de imágenes. El módulo recibe la imagen de a un pixel por vez por su interfaz de entrada y entrega el resultado también de a un pixel por vez por su interfaz de salida. Las interfaces de salida y entrada de los módulos estarán definidas de manera de poder conectar módulos en cascada para realizar procesamientos de imagen más complejos.
Se diseñará una estructura general para el manejo de los datos de la ventana y varios módulos de operación para realizar el filtrado propiamente dicho.
Controlador de memoria SDRAM
Keywords: SDRAM, Wishbone, optimización.
Realizar un circuito controlador de memorias SDRAM. Debe diseñarse y probarse en un chip de ALTERA pero la arquitectura deberá poder compilarse también para un chip de XILINX. Se debe tomar como base proyectos similares de años anteriores que deberán ser mejorados para lograr un diseño más confiable y capas de funcionar con una mayor frecuencia de reloj.
Esclavo para red Modbus
Keywords: Modbus, UART, PLC.
Modbus es un protocolo de comunicación serie, utilizado en ambientes industriales, para escribir o leer bits o registros de 16 bits. El circuito debe soportar las características básicas del protocolo (CRC, direccionamiento, repertorio de comandos, timeouts entre caracteres, contadores de mensajes exitosos, etc). La prueba se realizará con un SW comercial de control de PLC.
Referencias: http://www.modbus.org/
Red neuronal perceptron multicapa
Keywords: Redes Neuronales.Se debe desarrollar un módulo que implemente una red neuronal del tipo perceptron multicapa (sin aprendizaje). El módulo debe ser parametrizable según las dimensiones de la red a implementar, ancho de palabra, etc. . Se tomará como antecedente resultados del proyecto de grado NeuroFPGA.
Referencias: neurofpga.pdf - Informe final del proyecto de grado NeuroFPGA</font></a> - Para una descripción rápida del tipo de redes a implementar vean el capítulo 3.