Transferencia De Datos Por Puerto Usb Nexxys 2
Enviado por sergioandrespa • 25 de Febrero de 2014 • 4.789 Palabras (20 Páginas) • 266 Visitas
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
...