ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Transferencia De Datos Por Puerto Usb Nexxys 2


Enviado por   •  25 de Febrero de 2014  •  4.789 Palabras (20 Páginas)  •  271 Visitas

Página 1 de 20

RESUMEN / ABSTRACT

En el trabajo se presenta la implementación de la comunicación por puerto USB entre una computadora con sistema operativo

Windows y una tarjeta FPGA Nexys2. Dicha tarjeta posee un microcontrolador Cypress CY7C68013A que maneja un puerto

USB2 de alta velocidad que ha sido programado para emular un puerto paralelo EPP.

Se expone el diseño y evaluación de una interfaz gráfica de usuario con programación LabWindows que maneja la biblioteca

DPCUTIL y que posibilita la transferencia y visualización de datos desde la Nexys2. La aplicación permite la transferencia en

tiempo real de un procesador digital de 12bits, de dos canales implementado con frecuencia de muestreo de 1MHz en la FPGA. En

el trabajo se evalúa los resultados alcanzados en cuanto a la velocidad de transferencia de datos efectiva.

Palabras claves: Comunicaciones, FPGA, Puerto USB, transferencia de datos.

This paper deals with the implementation of USB communication between a PC with Windows OS and a Nexys2 FPGA Board

.This board has a Cypress Microcontroller that handles a high speed USB port and it is configured to emulate a EPP port. This

work presents the design and evaluation of GUI that is supported on LabWindows CVI 9, and use the driver DPCUTIL.dll to

control the data transfers for Nexys2. An FPGA application has been designed that responds to the request of PC via USB and

provides data transfer with an ADC converter of 2 channels, 12 bits, with a 1 MHz sampling frequency. The LabWindows

Application provides a graphical monitoring of data transfer and post processing of data, taking advantage of the library

functions that are available in LW. Also data transfer speed is evaluated.

Key words: communications, data transfers, FPGA, USB Port.

INTRODUCCIÓN

La interfaz USB se ha convertido en un estándar para la

comunicación de una PC con diversos periféricos como

cámaras, impresoras, amplificadores de audio y memorias

externas así como con sistemas digitales basados en

microcontroladores, procesadores digitales (DSP) y FPGA.

Tal es el caso de la tarjeta FPGA Nexys2 1 que posee un

puerto USB que permite la alimentación de la tarjeta, la

programación de la misma para implementar una aplicación

determinada y la transferencia de datos entre una aplicación y

la PC. El fabricante suministra una aplicación para el sistema

operativo Windows denominada Adept2 -que es usada

fundamentalmente para programar el circuito FPGA, aunque

también posibilita el diagnóstico de la misma y la transferencia

de datos. Sin embargo no brinda el código de dicha aplicación

por lo que no puede ser aplicada o expandida para procesar

transferencias especificas que sean necesarias tales como un

sistema de adquisición de datos o simple procesador digital

que estén implementados en la FPGA.

En este trabajo se presenta y analiza el diseño de una

aplicación de interfaz gráfica en LabWindows/CVI v9 que

permite el control, visualización y post procesamiento de la

transferencia de datos con un circuito sintetizado en la FPGA.

La aplicación en la FPGA es un controlador de conversión

análogo- digital ADC que permite la digitalización de hasta

dos señales analógicas a una frecuencia de muestreo máxima

de 1 MHz y resolución de 12 bits. Las muestras generadas por

los conversores son enviadas por el puerto USB hacia la PC.

Aunque se trata de una aplicación específica como se analiza

en detalle la metodología empleada puede ser fácilmente

aplicada o modificada para nuevas aplicaciones.

MATERIALES Y MÉTODOS.

FUNDAMENTOS DE LA

COMUNICACIÓN USB.

Para analizar la comunicación USB entre una PC y un

dispositivo USB se deben de considerar los siguientes

elementos de hardware y software.

57

El bus USB es del tipo “maestro/esclavo”, donde el maestro es

la PC (también llamado ¨host ¨) que es el que puede iniciar la

comunicación y el tráfico de datos con el esclavo ó dispositivo

USB. Así las interrupciones no son posibles.

El dispositivo USB que se conecta a la PC debe tener un

circuito controlador USB que responde a los requerimientos

de la PC para su identificación y para recibir y enviar señales.

Todo dispositivo USB es un dispositivo ¨inteligente¨ pues

mediante el circuito controlador USB es capaz de responder a

los eventos que se presenten en el bus USB. En nuestro caso la

Nexys 2 posee un circuito integrado Controlador USBCYPRESS

68001A y un circuito FPGA Xilinx Spartan3E

xcs3e1200 entre otros. El circuito controlador es el que recibe

las señales de la PC por el conector USB y se conecta con

determinados pines de la FPGA, el mismo ha sido programado

para emular un puerto paralelo de virtual de alta velocidad

EPP3. Por lo tanto cualquier aplicación que se desarrolle en la

FPGA que pretenda transferir datos mediante el puerto USB,

lo hace como si el puerto USB fuera en realidad un puerto

EPP. Para implementar la comunicación USB en la Nexys2,

primeramente en la FPGA hay que implementar un bloque

controlador EPP que interprete y genere las señales EPP que

recibe o envía el controlador CYPRESS, para la FPGA es

como si estuviera conectada a un puerto EPP.

Por otra parte en la propia PC se halla disponible un

controlador USB pero configurado para iniciar la

comunicación como “maestro”. Cuando un dispositivo USB se

conecta con la PC si es un dispositivo estándar en el sistema

operativo se encuentra un programa driver que identifica el

dispositivo automáticamente y le asigna un identificador, y

permite que dentro del sistema operativo se ejecute la

operación del dispositivo. Si es un dispositivo USB no

estándar se necesita de un programa driver específico que

provea las funciones necesarias previstas para el dispositivo.

Este driver por lo general es suministrado por el fabricante del

dispositivo USB. El driver para la Nexys2 es una biblioteca

denominada “dpcutil.lib” que permite transferencias de datos4

que ha sido escrita y compilada con Microsoft C++. Esta

biblioteca de funciones genera y procesa los datos transferidos

e interpretados en este caso según el protocolo EPP. Para

poder controlar la comunicación USB con LabWindows/CVI,

...

Descargar como (para miembros actualizados) txt (32 Kb)
Leer 19 páginas más »
Disponible sólo en Clubensayos.com