Sistema de Visualización de Imágenes a 8 Colores Implementado en FPGA



Documentos relacionados
I NTRODUCCIÓN 1. ORDENADOR E INFORMÁTICA

Manipulación de un Brazo Robótico por medio de una Tarjeta FPGA

CAPÍTULO I. Sistemas de Control Distribuido (SCD).

Reproducción de una Imagen en un Monitor VGA Utilizando un FPGA

GRADO EN INGENIERÍA ELECTRÓNICA Y AUTOMÁTICA INDUSTRIAL

Laboratorio virtual para la programación de FPGAs

HOY en día, los arreglos de compuertas

Colección de Tesis Digitales Universidad de las Américas Puebla. Morales Salcedo, Raúl

Memoria La memoria es la parte del ordenador en la que se guardan o almacenan los programas (las instrucciones y los datos).

Palabras Clave: Vídeo en FPGA, Procesamiento en Tiempo Real RESUMEN

Paint con FPGA: Sistema para la Evaluación de las Interfaces VGA y PS/2 de la Tarjeta de Desarrollo Nexys2

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Diseño de un sistema de adquisición de datos de un micrófono utilizando una FPGA

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

Metodologías de diseño de hardware

Laboratorio 4: Uso de una FPGA

Curso Introducción A Los Computadores Y Open Office Writer

Ambiente Virtual de Comercio Electrónico B2B para la Comunidad Virtual de Negocios del departamento del Cauca

Productos de medición monofásica para aplicaciones avanzadas de medición de energía. Medición Residencial

Xerox 700 Digital Color Press con Integrated Fiery Color Server. Impresión de datos variables

ANEXO D X-CTU CONFIGURATION & TEST UTILITY SOFTWARE. Technical Support: Online support:

Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali

TRABAJO PRÁCTICO Nº 6: PUERTO SERIE

Dispositivos Lógicos Programables (FPGAs) Guillermo Güichal Emtech

Vicerrectorado de Investigación Oficina de Patentes y Valorización

El Computador. Software

DESARROLLO DE SOFTWARE DEFINICIÓN GENERAL DEL PROCESO GABY LORENA GUERRERO LEYDI ROCIO ERAZO PABLO FELIPE MIRANDA WALTER ALEXIS ANTE

UNIVERSIDAD DE ORIENTE FACULTAD DE ICIENCIAS ECONOMICAS LAS REDES I. Licda. Consuelo Eleticia Sandoval

MANUAL DE USUARIO NODO DEVICENET UNICAUCA

HARDWARE DE UN ORDENADOR. Elementos básicos

SIGAN 1.0 SISTEMA DE INFORMACIÓN DE GESTIÓN ADMINISTRATIVA DE NÓMINA

Capitulo V Administración de memoria

MODULO ADMINISTRATIVO

Instructivo de Microsoft Windows

Planificación, Administración n de Bases de Datos. Bases de Datos. Ciclo de Vida de los Sistemas de Información. Crisis del Software.

PUERTOS DE COMUNICACIÓN EXTERNOS TIPO VELOCIDAD DESCRIPCION GRAFICO

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Bienvenido al sistema de Curriculum Digital CVDigital

MANUAL TÉCNICO DE IMPLEMENTACIÓN PROYECTO SOCIAL COMPUESCUELA. Elaborado por: Julián A. Hernández M.

... partes internas del computador!...

Sistema de Mensajería Empresarial para generación Masiva de DTE

Componentes Internos y Externos del Ordenador. Prof: Ronald Méndez

U.D. 1. SOFTWARE Y HARDWARE

JHAN EVER ANDRADE CASTRO

Manual de Adminsitración Faranox Version WNS Versiones WNS-MultiBuss

Organización de Computadoras. Turno Recursantes Clase 8

Introducción a los FPGAs y el Cómputo Reconfigurable Miguel Morales Sandoval INAOE, 2006

Solución de telefonía para empresas TL Presentación de producto. Telefonía IP

GLOSARIO DE TÉRMINOS

Circuito de refresco de un Display

PROCEDIMIENTO OPERATIVO DESARROLLAR SISTEMAS INFORMÁTICOS PDO-COCTI-DTIN-04

Introducción a Visual Studio.Net

Bienvenido al curso Ofimática Unidad 1 Conociendo lo básico

DESCRIPCIÓN TÉCNICA SYSTEM MANAGER SOFTWARE (SMS)

Gestión Documental con Microsoft Office SharePoint Server 2007 (MOSS) Ignacio López - Ingeniero en Informática Software Architect en Alhambra-Eidos

Compartir en línea. Cargar archivos. Principios básicos. Compartir en línea

EL COMPUTADOR. Las computadoras son actualmente

TALLER No. 1 Capitulo 1: Conceptos Básicos de Bases de datos

GUÍAS. Módulo de Diseño de software SABER PRO

Descripción y alcance del servicio INTERNET NEGOCIOS IPLAN. IPLAN iplan.com.ar NSS S.A. Reconquista 865 C1003ABQ Buenos Aires Argentina

Capítulo 5. Cliente-Servidor.

BASES DE DATOS TEMA 3 MODELO ENTIDAD - RELACIÓN

HARDWARE DE SISTEMA AUTOMÁTICO DE RASTREO DE VEHÍCULOS MEDIANTE TECNOLOGÍAS GPRS Y GPS

Introducción a la Computación

Es un software instalado en los equipos asignados a los Centros de Consulta con el objetivo de:

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

INTrodUCCIÓN El museo Como recurso EdUCATIvo

Act 1: Revisión de Presaberes. Lectura No. 1. Título de la Lectura: El Computador

Ensamblador. Interrupciones. Dentro de una computadora existen dos clases de interrupciones:

CAPITULO I INTRODUCCION. Conforme la informática avanza, las imágenes se han convertido en un área muy

GESTIÓN ACADÉMICA GUÍA DIDÁCTICA HACIA LA EXCELENCIA COMPROMISO DE TODOS! Nombres y Apellidos del Estudiante:

MANUAL DE USUARIO FINAL MAPCEL PROFITS

Índice de contenido 1.Introducción Propósito Vista preliminar Requisitos técnicos de instalación Software Red...

Versión: 01. Fecha: 01/04/2013. Código: F004-P006-GFPI GUÍA DE APRENDIZAJE Nº 1 1. IDENTIFICACIÓN DE LA GUIA DE APRENDIZAJE

Fundamentos básicos sobre computación

METODOLOGÍA E IMPLEMENTACIÓN DEL SIGGA (SISTEMA DE INFORMACION GEOGRAFICA: GOBERNANZA DEL AGUA)

Manual del Profesor Campus Virtual UNIVO

PRC-DTI-006 Administración de Roles de los Sistemas de Información de la DTI Procedimiento Dirección de TI - COSEVI

Manual de Procedimientos

Capítulo II. Marco teórico.

OPT. Núcleo Básico. Núcleo de Formación. Optativa. Nombre de la universidad. Universidad Politécnica de Pachuca. Nombre del programa educativo

Este Anexo IV forma parte del Contrato Marco Multiservicios ( Contrato") suscrito entre I-MED S.A. y el Prestador.

Capítulo 5 Programación del algoritmo en LabVIEW

1. Aplicación de la conmutación de circuitos y la conmutación de paquetes. 1.1 Sistema de señalización número 7 (SS7).

5. Despliegue en la PC

Arquitectura Básica para Controladores de Lógica Difusa a Programarse en FPGAs

CAPITULO 3: SISTEMAS ADICIONALES PARA EL CENTRO DE LLAMADAS DE EMERGENCIA

GeoAVL Especificaciones Técnicas

COPPEL MANUAL TÉCNICO MCC DE SISTEMAS PROGRAMACIÓN DESCRIPCIÓN DEL PROCESO DE ARQUITECTURA DE SOFTWARE

PROCESAMIENTO DIGITAL DE IMÁGENES MEDIANTE EL USO DE UN FPGA Y LENGUAJE VHDL

Guía de estudio para examen de recuperación tecnología I

INTEGRACIÓN HERMES POSITRÓN

Arquitectura basica de un computador

1. VIRTUALIZACION DEL PROCESO REAL.

TELEX. SISTEMA PARA EL CONTROL DE GASTOS TELEFÓNICOS Anyell Cano Ramos Ministerio de Relaciones Exteriores Cuba RESUMEN

PARTES DE UN COMPUTADOR

INSTRUCCIÓN DE SERVICIO NOCIONES BÁSICAS PARA DIAGRAMAS DE FLUJO. MICROSOFT VISIO

Sistemas Operativos. Curso 2016 Procesos

DGB14DR-101 DCA/2002

Transcripción:

Sistema de Visualización de Imágenes a 8 Colores Implementado en FPGA Felipe Santiago Espinosa, Rolando Ruiz Carbajal Universidad Tecnológica de la Mixteca, Carretera a Acatlima Km 2.5, Huajuapan de León, Oaxaca, México; (01-953) 53-203-99 (ext. 5555), fsantiag@mixteco.utm.mx, rolando.ruiz@anahuacoaxaca.edu.mx, eguzman@mixteco.utm.mx. Resumen En el presente trabajo se plantea el desarrollo e implementación de un sistema flexible y escalable para la visualización de imágenes, el sistema está basado en FPGA y se sintetizó en la tarjeta de desarrollo Digilent Spartan-3; permite la visualización, en un monitor VGA de resolución de 640 x 480 pixeles, de un conjunto de imágenes simplificadas a 8 colores, almacenadas en un banco de memorias NVRAM; estableciendo una interacción con el usuario al permitirle el avance y retroceso dentro del conjunto de imágenes, así como una señalización en la imagen actual, mediante el uso de un ratón de computadora. El sistema se complementa con un programa de computadora que permite la simplificación de las imágenes a 8 colores y su envío a la tarjeta Spartan-3, por medio del puerto serie RS-232, para su almacenamiento. El diseño se hizo bajo un enfoque modular, codificando los módulos en VHDL, con la intención de aportar descripciones de hardware que por naturaleza tienen la capacidad de rediseño, en pro de su optimización; además de las facilidades de reutilización, favoreciendo el desarrollo de nuevos sistemas que requieran el manejo de los mismos periféricos. Palabras Clave: FPGA, NVRAM, PS/2, RS-232, VGA. I. Introducción Los dispositivos de lógica programable más versátiles son los FPGA (Field Programmable Gate Array), ya que permiten realizar diseños a medida y con bajo costo de desarrollo. Sus bloques lógicos y sus recursos de interconexión son configurables, características por las que son ampliamente empleados al realizar prototipos e incluso para la producción de pocas unidades [1]. Así mismo, la existencia de lenguajes de descripción de hardware (HDL, Hardware Description Languages) tales como ABEL, Verilog y VHDL hacen que los diseños sean archivos de texto, que contienen el código fuente del circuito. Esto ha llevado a que el proceso de diseño de hardware se parezca cada vez más al del software; lo que conduce, a que el hardware se convierta en algo que pueda ser compartido y reutilizado. El presente trabajo expone el desarrollo de un sistema que permite la visualización en un monitor o dispositivo estándar VGA de un conjunto imágenes, simplificadas a 8 colores, almacenadas en un banco de memorias NVRAM, empleado como base un FPGA, realizando, pero no limitando a esta plataforma, la implementación sobre una tarjeta de desarrollo Digilent Spartan-3 [2]. II. Metodología de Diseño. La metodología que se plantea corresponde a un diseño Top-Down, planteando la creación de un diseño modular jerárquico, que consiste en construir un nivel de descripción funcional de diseño debajo de otro, de forma que cada nuevo nivel posea una descripción más detallada del sistema [3]. ISBN: 978-607-28-0126-4 563

III. Diseño del Sistema Considerando la metodología de diseño, en la figura 1 se aprecia el marco de trabajo general que permite definir los módulos que integran el sistema y sus interfaces, la división se realiza en partes funcionalmente independientes, especificando la división del sistema en sus componentes Hardware y Software. IV. Desarrollo e Implementación del Módulo de Interfaz de Video Teniendo en cuenta que la descripción en VHDL se desarrolla con el estilo estructural, la integración de las instancias: Divisor de Frecuencia Fig. 1. Diagrama a bloques General del Sistema. El diseño del sistema, centrado en la descripción funcional, mostrado en la figura 2, se establece en 3 elementos y tareas principales: 1. Interfaz de Video: Provee la funcionalidad de recuperar la información almacenada para desplegarla mediante el empleo de un puerto VGA, así como el control de una interfaz que permite el uso de un ratón estándar PS/2. 2. Interfaz Serie: Provee la capacidad de comunicación serial mediante el protocolo RS- 232 (ANSI/EIA 232), recibe y discrimina la información para ser almacenada. 3. Almacenamiento de Imágenes: Provee la funcionalidad de escribir y leer información en un arreglo de memorias NVRAM. genera el módulo interfaz de Video, que presenta la funcionalidad especificada en el proceso de diseño a partir del comportamiento de conjunto de cada uno de los componentes instanciados, en donde: El componente Divisor de Frecuencia, del que se muestra su diagrama funcional en la figura 3, divide la frecuencia principal de la señal de reloj a la mitad de la frecuencia de la señal de reloj de 50 MHz provista por la tarjeta de desarrollo. Fig. 3. Diagrama a bloques de la descripción funcional del componente Divisor de Frecuencia. Fig. 2. Diagrama a bloques de las descripciones de hardware. ISBN: 978-607-28-0126-4 564

El componente Memoria de Video SRAM proporciona la interfaz de acceso para la escritura y lectura de una memoria SRAM de 256Kx16 ISSI IS61LV25616AL-10T [4], la cual, por las prestaciones de desempeño en los tiempos de acceso de lectura y escritura, se emplea como memoria de refresco de video, en tanto la implementación se puede llevar a cabo en un solo estado, como se muestra en la máquina de estados de la figura 4, sin la consecuente necesidad de agregar retardos, como ocurre en otras tecnologías Fig. 5. Diagrama a bloques de la descripción funcional del módulo de la interfaz del Mouse PS/2. Fig. 4. Máquina de estados de accesos para Lectura y Escritura de la memoria de video SRAM. El componente Interfaz Mouse PS/2 proporciona una interfaz bidireccional síncrona entre el controlador y un ratón estándar PS/2, registrando los eventos del dispositivo: desplazamiento y pulsación del botón izquierdo o derecho. La implementación se basa en el protocolo de la interfaz PS/2 [5] y en la secuencia de eventos que se establecen para lograr la interacción con los modos de operación [6] y eventos del Mouse, movimiento y pulsación de botones, los cuales se comunican mediante el protocolo PS/2 al controlador. En la figura 5 se establece el diagrama a bloques que brinda la operación de la interfaz Mouse PS/2. El componente Cursor, (ver figura 6), realiza la representación de la posición del ratón en la pantalla, con la funcionalidad de ofrecer 8 estilos de cursor y un color dinámico, que cambia para resaltar en función del color de fondo. Fig. 6. Diagrama a bloques de la descripción de hardware módulo Cursor. En la implementación se generan las imágenes que se sobrepondrán en la posición del cursor a partir de lógica combinacional; el diseño de la imagen se realiza en el eje cartesiano, lo que permite determinar la posición de cada pixel referenciado al punto cartesiano (0,0), que será la posición actual del ratón, para dar forma a los cursores que se muestran en la figura 7. Fig. 7. Cursores del ratón y posición de selección. ISBN: 978-607-28-0126-4 565

El componente Controlador VGA es compatible con el estándar VGA [7], por lo tanto funciona en la gama de monitores CRT y LCD, el componente provee las señales de sincronismo y tiempos de video para generar una imagen en un modo de 3 bits, o profundidad de 8 colores, con una resolución de 640 x 480 píxeles. Se manejan imágenes únicamente de 8 colores porque la tarjeta Spartan 3 destina un bit para el rojo, uno para el verde y otro para el azul, con 3 bits únicamente se alcanzan 8 colores diferentes. Por flexibilidad, la implementación (ver figura 8) considera la ubicación de la memoria de video fuera del componente; así, ésta puede ser una memoria de video dedicada o compartida en el sistema. Fig. 8. Diagrama a bloques de la descripción funcional del módulo Controlador VGA. En la implementación, para dibujar la imagen se cuenta con las señales R, G y B que dependen de las consideraciones de tiempo de las señales de control de Sincronismo Vertical y Horizontal, por lo que se trasladan a ciclos del reloj de entrada (CLK), ya que el diseño quedará estrechamente ligado a la frecuencia del reloj con que opera el controlador, arrojando los tiempos que se muestran en la tabla 1. imagen activa a la memoria de video, que por su alta tasa de refresco, proporciona la información que debe desplegar el Controlador VGA. Sincronismo Horizontal Símbolo Tiempo (µs) Ciclos Reloj Tiempo (ms) Sincronismo Vertical Ciclos Reloj Líneas A 32 800 16.7 416,800 521 B 25.6 640 15.36 384,000 480 C 3.84 96 64 1,600 2 D 0.64 16 320 8,000 10 E 1.92 48 928 23,200 29 Tabla 1. Tiempos de operación y ciclos de reloj de las señales de sincronismo para un reloj de 25 MHz. La Interfaz Mouse PS2 establece la interfaz con el usuario, su integración hace posible el retroceso entre imágenes con la presión del botón derecho del ratón o el avance con la presión del botón izquierdo, así como el despliegue y redibujo del desplazamiento del puntero sobre la imagen activa. La información que se procesará por la interfaz de video se encuentra almacenada en la memoria de video NVRAM, agrupada en un arreglo de 61,440 direcciones por imagen, considerando 65,535 direcciones por página (ver figura 9). El componente Control de Video genera las señales de control para los componentes memoria NVRAM, memoria de video, VGA, cursor e interfaz PS2. La implementación tiene la finalidad de establecer las secuencias que permitan obtener la información de la memoria NVRAM, que contiene imágenes descompuestas en sus elementos básicos, y copiar la información de la Fig. 9. Segmentación de la memoria NVRAM en páginas. ISBN: 978-607-28-0126-4 566

V. Desarrollo e Implementación del Módulo Interfaz Serie Este módulo contiene los componentes de la interfaz de comunicación serial asíncrona y es el encargado de establecer la comunicación a través de la interfaz de hardware RS232C [8], permitiendo intercambiar datos binarios entre el FPGA y otro dispositivo a través de una conexión punto a punto. El cual se genera de la instanciación de los componentes: Componente UART Componente Control Serie En donde: El componente UART, provee una interfaz programable de comunicación serie asíncrona. La implementación, ver figura 10, considera que el diseño está orientado a emular de forma parcial el funcionamiento de los dispositivos de recepción-transmisión universal asincrónica, UART, con una PILA (FIFO, First Input First Output) de datos, que permite convertir los datos seriales a paralelos; y además ofrecer una velocidad de transferencia configurable desde 9600 bps a 115.2 Kbps. de la memoria en páginas de 61,440 direcciones ó 983,040 bytes. VI. Desarrollo e Implementación del Módulo para el almacenamiento de Imágenes. El módulo contiene los componentes para el acceso a la memoria no volátil externa a la tarjeta Spartan-3. Se integra de dos componentes, uno para la interfaz física y otro para el control, Componente NVRAM Componente Control de Memoria Los cuales se ligan directamente en el módulo de mayor jerarquía, en donde: El componente NVRAM, provee la interfaz de acceso para la escritura y lectura en un arreglo de 2 memorias DALLAS NVRAM (Non-Volatile Random Access Memory, Memoria de acceso aleatorio No Volátil) DS1265W [9] de 8 Mb ó DS1270W [10] de 16 Mb, un tipo de memorias que no pierde la información almacenada al cortar la alimentación eléctrica y por sus características será empleada como memoria de almacenamiento de imágenes de 16 Mb ó 32 Mb de capacidad. La comunicación entre las memorias y el FPGA se realiza mediante los conectores de expansión A2 y B1 de la tarjeta de desarrollo Digilent Spartan-3 (ver figura 11). Fig. 10. Diagrama a bloques de la descripción funcional del componente UART. El componente Control Serie, tiene como finalidad integrar el componente serial e interactuar con el componente NVRAM, para establecer las secuencias que permiten recibir datos del puerto serial y almacenar esta información en la memoria, segmentando el total Fig. 11. Hardware del componente NVRAM [5]. ISBN: 978-607-28-0126-4 567

El componente NVRAM incluye los bloques mostrados en la figura 12, para la interacción con la memoria, permitiendo las funcionalidades de lectura y escritura de los datos persistentes. Fig. 12. Bloques del componente Control de Memoria. El componente Control de Memoria, se concibe para interactuar con la parte superior de la estructura jerárquica, evitando que exista un conflicto en el acceso a la memoria por parte de los módulos Serie e Interfaz de Video, ya que los módulos son concurrentes en su operación, el acceso para lectura y/o escritura en la memoria NVRAM debe coordinarse, el componente básicamente consiste en una descripción combinacional. VII. Integración del Sistema FPGA El sistema de visualización de imágenes se genera, de acuerdo a la metodología jerárquica, mediante la instanciación de los módulos: Interfaz NVRAM La implementación en la tarjeta de desarrollo requiere la conexión física con el módulo NVRAM y la definición de los puertos de salida y entrada del FPGA para los dispositivos Ratón PS/2 y Serial, proceso que se realiza en la etapa de implementación conocida en el ciclo de diseño como: Colocación y Ruteo [11]; que básicamente consiste en adaptar el diseño a un hardware en concreto, que en este caso corresponde al FPGA Xilinx Spartan-3 XC3S200. VIII. Software El Sistema Software, codificado empleando como lenguaje de desarrollo C++, se estructura de manera que permite el mantenimiento y modificación de la funcionalidad durante el ciclo de desarrollo y pruebas, para ello se emplean funciones que realizan tareas específicas y funciones que responden a eventos concretos. Dentro de las funciones se tienen: uerto Serie La gestión de la interfaz serie RS-232 se realiza empleando la estructura del Bloque de Control de Dispositivos (DCB, Device Control Block) que define la configuración de control para un dispositivo serie dentro del Sistema Operativo Microsoft Windows [12, 13], mediante las funciones asociadas se declaran los parámetros de configuración de comunicación tales como: número de puerto, baud rate, paridad, tamaño de palabra y bits de paro. La simplificación de imágenes se realiza tomando cada uno de los pixeles que estructura la imagen (640 x 480 = 307,200 pixeles), para luego descomponerlo en sus componentes de color (RGB), para así discriminar cada una de esas componentes fijando un umbral que corresponde a la mitad del espectro con que se represente el color, que corresponde a un valor numérico que se encuentra dentro del intervalo de [0-255]; así, la componente se incluye si presenta una saturación por encima del umbral, ya que indica mayor presencia de tal componente de color, en caso contrario se descarta. Esto se hace para cada uno de los tres colores, obteniendo una representación simplificada de cada pixel únicamente en 3 bits. En la figura 13, a manera de ejemplo, se muestra el espectro del color verde. e ISBN: 978-607-28-0126-4 568

Fig. 13. Representación numérica del espectro de Color Verde. memoria NVRAM. El programa cuenta con la opción para simplificar la imagen a 8 colores, esta simplificación se realiza automáticamente si el usuario solicita enviar una imagen y no ha ejecutado el comando. El sistema ofrece la prestación de visualizar tanto la imagen original como la imagen simplificada, que será transmitida y almacenada en el hardware del sistema (NVRAM). La transmisión se establece tomando como base a la imagen actualmente seleccionada, de la cual se envía la versión simplificada, considerando la ubicación que se le dará en la memoria, a la que se denomina página. En el hardware del sistema se tiene una capacidad de 32 posiciones, de la 0 a la 31, lo que permite almacenar 32 imágenes. Se establece un protocolo, en donde el primer byte que se envía al hardware indica el comando de operación a realizar y el número de página sobre la cual se va a efectuar la operación, como se muestra en la figura 14. IX. Fig. 15. Elementos de la interfaz visual de la aplicación. Resultados El sistema resultante cumple con los objetivos planteados, en la figura 16 se muestra su implementación. Fig. 14. Byte de Comando y Número de Página. En el caso del comando que corresponde a la operación de escribir, se ejecuta un bucle de lectura y transmisión de cada uno de los 61,440 bytes almacenados en una matriz durante el proceso de simplificación de una imagen. La interfaz de usuario se desarrolló de manera que es posible visualizar el avance en el proceso de transferencia, las imágenes originales y las imágenes simplificadas, en la figura 15 se muestra la interfaz de la aplicación, en la tira de imágenes se puede revisar el contenido. La ubicación de una imagen en la tira corresponde con la ubicación en la página dentro de la Fig. 16. Sistema de Visualización de Imágenes en funcionamiento con periféricos conectados. La implementación del diseño emplea una proporción menor al 50 % de los recursos del FPGA 3S200FT256, en la tabla 2 se muestran los recursos que el sistema emplea del dispositivo. ISBN: 978-607-28-0126-4 569

Recurso Cantidad Usada Porcentaje SLICEs 865 de 1920 45% IOBs 93 de 173 53% GCLKs 1 de 8 12% Tabla 2. Recursos empleados por el sistema en un FPGA 3S200FT256. En términos de almacenamiento de información, la implementación del sistema con memorias NVRAM DS1265W permite el almacenamiento de 32 imágenes y de 64 imágenes con la memoria DS1270W. La transferencia máxima que se establece en la transmisión de datos, se limita por el puerto serie a 115,200 bps, ya que durante la fase de pruebas éste es el valor que permite la estabilidad de la aplicación y transferencia efectiva de la información en los diferentes equipos que se realizaron las pruebas de comunicación; adicionalmente de que este valor se establece como la máxima tasa de transferencia de la mayoría de puertos seriales incorporados en PCs comerciales. Obteniendo bajo esta configuración, la transferencia de una imagen completa en 12 segundos por los tiempos de retraso agregados en Software. El sistema Software ofrece compatibilidad de operación con los sistemas Windows 95, 98, 2000, XP, 7 y 8; adicionalmente se realizaron pruebas con un adaptador de USB macho tipo A a serial (BD9) USB-RS232, para la transferencia de imágenes en PCs que únicamente contaban con puertos tipo USB; permitiendo la transferencia de las imágenes con un demora de 5 segundos durante el proceso de la transmisión en sistemas con Windows 7. X. Conclusiones y trabajos futuros Los resultados alcanzados conllevan a las siguientes conclusiones: 1. La versatilidad en los FPGAs permite la creación de sistemas complementados con interfaces basadas en programas de computadora, en este caso, el sistema se completa con un software que permite la manipulación de imágenes y la comunicación con el puerto serial. El modelo incremental resulta conveniente para el desarrollo de aplicaciones de esta naturaleza, en donde el programa se va adecuando para ir cubriendo los diferentes requerimientos. 2. La organización modular del sistema permite la reutilización y/o adaptación de las descripciones de hardware diseñadas para el sistema de visualización de imágenes, para el desarrollo de otras aplicaciones sobre dispositivos reconfigurables. 3. El puerto VGA de la tarjeta Spartan-3 establece una limitante en la profundidad del color en las imágenes, al contar únicamente con 1 bit para cada uno de los colores. Sin embargo, el análisis de los resultados permite el planteamiento de mejoras sobre el sistema implementado, perspectivas de trabajos, aplicaciones y desarrollos a futuro en diversas líneas de investigación, tales como: 1. Implementación de procesamiento de imágenes dentro del FPGA, que permita obtener características relevantes de las imágenes, para ser empleadas en otros procesos, o en sistemas de reconocimiento de patrones, formas o entornos. 2. Empleo del sistema de visualización de imágenes para pantallas informativas, donde se integre un módulo y controlador de interfaz de red Ethernet, permitiendo a un software central proveer información relevante mediante imágenes del clima, programación televisiva, recordatorios, estado del tráfico, etc. 3. La evaluación de técnicas que permitan la generación de un número mayor de colores, variando dinámicamente los colores básicos en un pixel. ISBN: 978-607-28-0126-4 570

XI. [1] [2] [3] [4] [5] Referencias Pérez, S., Soto, E. y Fernández, S.: Diseño de sistemas digitales con VHDL. THOMPSON, 2002. Página de la tarjeta de Desarrollo Digilent Spartan-3. http://www.digilentinc.com/ Junio, 2013. Pardo, F. y Boluda, J.: VHDL, Lenguaje para síntesis y modelado de circuitos. Alfaomega, 3ª edición, 2000. Integrated Silicon Solutions Inc., Data sheet IS61LV25616AL, December, 2011. Digilent: User Guide Digilent Spartan-3 Starter Kit Board Board, Digilent, April, 2004. [6] Edwards, V., Courtney, M. y Yang, K.: A FPGA Paint Brush Application, Information Systems Education Journal, Vol. 7, No. 36, Abril, 2009. [7] [8] [9] Página de la VESA, Video Electronics Standards Association, http:// www.vesa.org, Mayo, 2013. Maleki, N., & Haghighi, B. Design of a simple and stand-alone RS-232c interface. Journal Of Chemical Education, 72(4), A78.1995. Maxim Integrated: Datasheet DS1265W, November, 2010. [10] Maxim Integrated: Datasheet DS1270W, November, 2010. [11] Grout, Ian: Digital Systems Design with FPGAs and CPLDs. ELSEVIER, 2008. [12] Página descriptiva API Microsoft Windows, http://msdn.microsoft.com/enus/library/windows/desktop/aa363214(v=vs.85).aspx. Junio 2013. [13] Monteiro, A., & Jordan, T. R. Implementing communication between Windows PCs and test equipment using RS- 232 and Borland C++ Builder. Behavior Research Methods, Instruments, & Computers, 36(1), 107-112. 2004. [14] R. González and R. Woods, Digital Image Processing, 3rd. Edition. Prentice-Hall, 2008. XII. Autores M. C. Felipe Santiago Espinosa es Maestro en Ciencias con especialidad en Electrónica por parte del INAOE, incorporado al Instituto de Electrónica y Mecatrónica (IEM) de la Universidad Tecnológica de la Mixteca (UTM), en donde es Profesor-Investigador desde 1998. M.T.I. Rolando Ruíz Carbajal es Maestro en Tecnologías de la Información por parte de la Universidad Anáhuac e Ingeniero en Electrónica por la UTM. ISBN: 978-607-28-0126-4 571