You are on page 1of 5

1

COMUNICACIN SERIAL ENTRE UN PC Y


UNA TARJETA FPGA
Betancourt, C. Espinoza, G. Segarra, D. Zapata, J.
Universidad de las Fuerzas Armadas- ESPE
Quito-Ecuador

Resumen.- En este artculo se presenta el desarrollo, la


solucin e implementacin de una aplicacin en VHDL donde
por medio de un puerto serie se establecer una
comunicacin serial bidireccional entre una interfaz grfica
realizada en JAVA en una PC, con ayuda del software
Netbeans y una tarjeta FPGA Spartan-3E XC3S500E.
Palabras clave. FPGA, VHDL, UART, Java

I. INTRODUCCIN
Las PCs a lo largo del tiempo han ido incrementando sus
aplicaiones y por ende su funcionabilidad pero siempre
partiendo del mismo principio, la comunicacin serial. Existen
dos modos para una transmisin

Unidireccional
Bidireccional

Son usados cotidianamente en las acciones que realizamos


como en artculos como el mouse, teclado, y en su momento
la impresora, etc. La transmisin bidireccional ayuda a los
usuarios para poder comunicarse ya sea con otros usuarios o a
su vez con una mquina como la PC y cumplir distintas
necesidades que este pudiera tener. Es importante que para
que exista una correcta comunicacin tanto receptor como
transmisor deben manejar un mismo lenguaje, es decir que la
informacin que se desea transferir llegue y sea entendida por
el receptor. Se pretende realizar las debidas pruebas y un
adecuado uso para una comunicacin serie bidireccional
aceptable entre una FPGA y un PC, los datos recibidos desde
cualquiera de los dispositivos mencionados puede ser
visualizado, la aplicacin permite enviar una letra o un nmero
que se desee visualizar en displays de 7 segmentos de la
tarjeta, y a su vez que un pulsador al momento de ser
accionado enve una frase de texto hacia el computador y
pueda ser visualizado tanto el mensaje como el nmero de
veces que ha sido accionado el pulsador.

II. ESTADO DEL ARTE


Se han realizado varios estudios y proyectos en cuanto a la
utilizacin del puerto serie de una FPGA a travs del lenguaje
VHDL que brindan grandes aportaciones, a continuacin se
muestran algunos de ellos.
Yi-yuan y Xue-jun escribieron un artculo en el ao 2011 acerca
del diseo y simulacin del mdulo de comunicacin serial
UART basado en VHDL en el que se describe al UART como un
tipo de protocolo de comunicacin serial, mayormente
utilizado para corta distancia, a baja velocidad, y para el
intercambio de datos de bajo costo entre el ordenador y los
perifricos, incluye tres mdulos del ncleo que son el
generador de velocidad en baudios, receptor y transmisor.
En otro estudio realizado por H Ansari y Farooqi en el ao 2012
acerca del diseo de alta velocidad UART para programacin
FPGA, se muestra que las FPGA se pueden encontrar en
radares primarios y secundarios de vigilancia, comunicacin
va satlite, automocin, fabricacin, y muchos otros tipos de
productos. La comunicacin dentro de la FPGA se ha mejorado
con la ayuda de UART, el dispositivo cambia informacin
paralela entrante de datos en serie que puede ser enviado en
una lnea de comunicacin, un segundo UART puede ser
utilizado para recibir la informacin
Gracias a estas y otras publicaciones se puede observar la
importancia y utilidad del lenguaje VHDL en la comunicacin
serial de una FPGA utilizando UART puesto que permite la
transmisin de datos de una forma compacta, estable y fiable.
Adems se puede ver la importancia de la comunicacin serial
de una FPGA puesto que sta permite la realizacin de
aplicaciones que son de gran utilidad y ofrecen numerosos
beneficios.
III. MARCO TERCICO
VHDL
Es un lenguaje de descripcin de circuitos electrnicos
digitales que utiliza distintos niveles de abstraccin. El
significado de las siglas VHDL es VHSIC (Very High Speed
Integrated Circuits) Hardware Description Language.

Ilustracin 3. Manejo del puerto serial con Java


IV. PREREQUISITOS
Ilustracin 1. Caractersticas VHDL (LDD, 2008)
UART
Es un dispositivo que enva datos paralelos sobre una lnea
serie. El significado de las siglas UART es Universal
Asynchronous Receiver and Transmitter.

Computador con sistema operativo de 32 bits o 64


bits.
Windows XP o Windows 7.
Netbeans 7.0.1 o posterior instalado en el
computador
JDK 6.0 de 32 bits.
Api de comunicaciones para Java instalado.
Software ISE de Xilinx

1.

V. CONFIGURACIN
El programa iniciaran con la siguiente interfaz.

Ilustracin 2. Caractersticas UART en FPGA


UART est formado por cuatro grandes bloques:

Baud Rate Generator.- realiza varias divisiones de


frecuencia.
Transmisor
Receptor
Filtro antirrebote.- sirve para limpiar la seal de ruido
elctrico que se produce al pulsar un botn.

Ilustracin 4. Interfaz grfica Computador


2.

Modificar los Sliders para desplegar lo requerido, ya


sea un nmero o una letra:

Manejo de Puerto Serial con Java

API Java Communications

Permite a las aplicaciones hacer conexiones a travs de los


puertos en serie y paralelo para entornos de Linux y Windows,
posee varias clases que permiten tratar variosniveles de
programacin

Ilustracin 5: Ejemplo Funcionamiento - Letra C

3.

Diagrama Esquemtico

Presionar el pulsador nmero 1 del mdulo con 8


botones, este enviar el mensaje VLSI2-2016 desde
la FPGA hacia el computador.

SERIAL
clk

en(3:0)
key_input
seg_data(7:0)
rst
txd
rxd

4.

Ilustracin 6: Pulsador Nmero Uno

Ilustracin 10. Diagrama esquemtico

Observar el nmero de veces que ha sido presionado


el pulsador en la pantalla del computador

Para este proyecto se utilizan tres mdulos que vienen


incluidos en la FPGA modular

Ilustracin 7: Visualizacin Accin Pulsador

VI. DESARROLLO

El primer mdulo es el que contiene cuatro displays


de 8 segmentos (incluyendo el punto decimal), de los
cuales slo se utilizan 7 segmentos para desplegar los
dgitos enviados por el computador.
El segundo mdulo es el de ocho pulsadores de los
cuales slo se utilizar uno, el primero, este sirve
para poder enviar un mensaje hacia el computador.
El tercer mdulo es el USB UART, este realiza de
interfaz el conector USB del computador a los pines
necesarios para realizar la comunicacin serial.

Diagrama de bloques
VII. CONCLUSIONES

Ilustracin 8. Diagrama de bloques


Diagrama de caso de uso

Modifica los sliders de la


interfaz grfica de la PC
Enva un cdigo a la FPGA por el puerto serie
segn lo seleccionado en los sliders

Usuario
Recibe un cdigo de la
PC por el puerto serie

PC

Muestra en los displays lo


seleccionado en los sliders
Presiona el pulsador

FPGA

Enva el mensaje
VLSI2-2016 a la PC

Se debe tomar en cuenta que la velocidad de


transmisin de 9600 baudios esta debe ser igual tanto
en la tarjeta como en la aplicacin.
Se utiliz Netbeans para la programacin en java,
previamente se deben instalar ciertos paquetes y
obtener libreras con las cuales se logra la
comunicacin serial entre la tarjeta y el ordenador.
La integracin de una comunicacin serial junto con
otras aplicaciones, permite que las mismas aumenten
su robustez, logrando grandes prestaciones y
funciones especficas adems de un trabajo conjunto
de las aplicaciones.
La compatibilidad de la FPGA con diferente software
incrementa el nmero de aplicaciones que se puede
realizar con la tarjeta utilizando otros lenguajes de
programacin, en este caso se lo realiz a travs de
JAVA.

Recibe un el mensaje
VLSI2-2016 de la FPGA por el
puerto serie

Observa los displays y la


interfaz grfica

Muestra en la interfaz grfica el


nmero de veces que se ha
presionado el pulsador

Ilustracin 9. Diagrama de Casos de Uso

IV. RECOMENDACIONES

Es recomendable utilizar la comunicacin serial en Windows


7 de 32 bits, debido a una serie de errores y alertas en

Windows 8, adems que el driver para el cable Serial es difcil


de encontrar para esta versin de Windows.
Revisar los ejemplos que se encuentran en Nacional
Instruments de programacin para la FPGA, usndolos como
gua por parte de los programadores en la realizacin de
diversas aplicaciones.
Comprobar que tanto receptor como transmisor tengas sus
puertos habilitados para que la comunicacin sea posibles
Se recomienda encender la tarjeta, y despus conectar el
puerto USB-SERIAL de programacin desde la PC a la tarjeta.
Verificar el correcto funcionamiento del cable USB-SERIAL
UART RS232 instalando el controlador adecuado,
estableciendo los parmetros de comunicacin mediante el
Hyperterminal.

V. REFERENCIAS

[1]

Ansari, H. K., & Farooqi, A. S. (2012). Design Of High


Speed Uart For Programming Fpga. International
Journal Of Engineering And Computer Science , 28-36.

[2]

Borensztejn, P. (2011). DcUba. Recuperado el 20 de


diciembre de 2015, de
http://www.dc.uba.ar/materias/disfpga/2011/c2/desc
argas/UART.pdf
LDD. (agosto de 2008). ScEhu. Recuperado el 20 de
diciembre de 2015, de
http://www.sc.ehu.es/acwarila/LDD/Teoria/VHDL.pdf

[3]

[4]

[5]

Wikipedia, [En lnea]. Available:


http://es.wikipedia.org/wiki/Java_EE. [ltimo acceso:
28 Febrero 2015].
Rodriguez, J. (24 de marzo de 2012). Uocommons.
Recuperado el 20 de diciembre de 2015, de
http://upcommons.upc.edu/bitstream/handle/2099.1/
14840/memoria.pdf?sequence=1

[6]

Singh, P., Pandey, B., Kumar, T., & Das, T. m. (2014).


Output load capacitance based low power
implementation of UART on FPGA. Computer
Communication and Informatics , 1-4.

[7]

Wakhle, G., Aggarwal, I., & Gaba, S. (2012). Synthesis


and Implementation of UART Using VHDL Codes.
Computer, Consumer and Control , 1-3.
Wang, Y., & Song, K. (2011). A new approach to realize
UART. Electronic and Mechanical Engineering and
Information Technology , 2749 - 2752.

[8]

[9]

Yi-yuan, F., & Xue-jun, C. (2011). Design and Simulation


of UART Serial Communication Module Based on VHDL.
Intelligent Systems and Applications , 1-4.

Celena Karina Betancourt Mediavilla


naci en Quito, Ecuador, el 7 de enero
de 1995. Estudio su primaria en la
Escuela Unin Nacional de Educadores
(UNE). Se gradu en el Colegio Hipatia
Crdenas de Bustamante de bachiller
tcnico en
la especialidad de
Electr6nica Bsica y Fsico Matemtico.
Actualmente estudia
Ingeniera en Electrnica Automatizacin y Control en la
universidad de las Fuerzas Armadas ESPE, en sexto nivel. En la
actualidad no ejerce ningn trabajo remunerado debido a sus
estudios.
Jonathan Alexis Zapata Sinaluisa naci
en Quito, Ecuador el 31 de Agosto del
1993.
Se gradu en el Instituto Nacional Meja
con el ttulo de bachiller en FsicoMatemtico y actualmente estudia
Ingeniera
en
Electrnica
y
Telecomunicaciones en la Universidad
de las Fuerzas Armadas ESPE.
Actualmente no ejerce ningn trabajo remunerado debido a
sus estudios

Gareth Espinoza, naci el 25 de Mayo de


1992 en la ciudad de Quito-Ecuador. Se
gradu en el Colegio San Gabriel
adquiriendo el ttulo de Bachiller FsicoMatemtico. Actualmente se encuentra
estudiando en la Universidad de las
Fuerzas Armadas ESPE la carrera de
Ingeniera
Electrnica
en
Automatizacin y Control

David Segarra Vsconez naci en Quito,


Ecuador, el 11 de Junio de 1994. Se
gradu como bachiller en la
especialidad de fsico matemtico en el
Colegio
Municipal
Experimental
"Sebastin de Benalczar en Quito,
provincia de Pichincha en el 2012,
termin la suficiencia en ingles en ESPE
idiomas en el ao 2014.
Debido a sus estudios no ha ejercido
profesionalmente, actualmente estudia Ingeniera en
Electrnica Automatizacin y Control en la Universidad de las
Fuerzas Armadas - ESPE desde el ao 2012 cursando el sexto
nivel de la carrera.

You might also like