1COMUNICACIÓN 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 artículo se presenta el desarrollo, la solución e implementación de una aplicación en VHDL donde por medio de un puerto serie se establecerá una comunicación serial bidireccional entre una interfaz gráfica 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. INTRODUCCIÓN Las PC’s a lo largo del tiempo han ido incrementando sus aplicaiones y por ende su funcionabilidad pero siempre partiendo del mismo principio, la comunicación serial. Existen dos modos para una transmisión Unidireccional Bidireccional Son usados cotidianamente en las acciones que realizamos como en artículos como el mouse, teclado, y en su momento la impresora, etc. La transmisión bidireccional ayuda a los usuarios para poder comunicarse ya sea con otros usuarios o a su vez con una máquina como la PC y cumplir distintas necesidades que este pudiera tener. Es importante que para que exista una correcta comunicación tanto receptor como transmisor deben manejar un mismo lenguaje, es decir que la información que se desea transferir llegue y sea entendida por el receptor. Se pretende realizar las debidas pruebas y un adecuado uso para una comunicación serie bidireccional aceptable entre una FPGA y un PC, los datos recibidos desde cualquiera de los dispositivos mencionados puede ser visualizado, la aplicación permite enviar una letra o un número que se desee visualizar en displays de 7 segmentos de la tarjeta, y a su vez que un pulsador al momento de ser accionado envíe una frase de texto hacia el computador y pueda ser visualizado tanto el mensaje como el número de veces que ha sido accionado el pulsador. II. ESTADO DEL ARTE Se han realizado varios estudios y proyectos en cuanto a la utilización del puerto serie de una FPGA a través del lenguaje VHDL que brindan grandes aportaciones, a continuación se muestran algunos de ellos. Yi-yuan y Xue-jun escribieron un artículo en el año 2011 acerca del diseño y simulación del módulo de comunicación serial UART basado en VHDL en el que se describe al UART como un tipo de protocolo de comunicación serial, mayormente utilizado para corta distancia, a baja velocidad, y para el intercambio de datos de bajo costo entre el ordenador y los periféricos, incluye tres módulos del núcleo que son el generador de velocidad en baudios, receptor y transmisor. En otro estudio realizado por H Ansari y Farooqi en el año 2012 acerca del diseño de alta velocidad UART para programación FPGA, se muestra que las FPGA se pueden encontrar en radares primarios y secundarios de vigilancia, comunicación vía satélite, automoción, fabricación, y muchos otros tipos de productos. La comunicación dentro de la FPGA se ha mejorado con la ayuda de UART, el dispositivo cambia información paralela entrante de datos en serie que puede ser enviado en una línea de comunicación, un segundo UART puede ser utilizado para recibir la información Gracias a estas y otras publicaciones se puede observar la importancia y utilidad del lenguaje VHDL en la comunicación serial de una FPGA utilizando UART puesto que permite la transmisión de datos de una forma compacta, estable y fiable. Además se puede ver la importancia de la comunicación serial de una FPGA puesto que ésta permite la realización de aplicaciones que son de gran utilidad y ofrecen numerosos beneficios. III. MARCO TERÓCICO VHDL Es un lenguaje de descripción de circuitos electrónicos digitales que utiliza distintos niveles de abstracción. El significado de las siglas VHDL es VHSIC (Very High Speed Integrated Circuits) Hardware Description Language. Manejo del puerto serial con Java IV..Letra C . Características UART en FPGA UART está formado por cuatro grandes bloques: Baud Rate Generator.2 Ilustración 3. Computador con sistema operativo de 32 bits o 64 bits.0. PREREQUISITOS Ilustración 1.sirve para limpiar la señal de ruido eléctrico que se produce al pulsar un botón. CONFIGURACIÓN El programa iniciaran con la siguiente interfaz. Api de comunicaciones para Java instalado. Windows XP o Windows 7. Software ISE de Xilinx 1. Ilustración 2. El significado de las siglas UART es Universal Asynchronous Receiver and Transmitter.1 o posterior instalado en el computador JDK 6. Modificar los Sliders para desplegar lo requerido..realiza varias divisiones de frecuencia. V. 2008) UART Es un dispositivo que envía datos paralelos sobre una línea serie. Interfaz gráfica Computador 2. Ilustración 4. Características VHDL (LDD. Netbeans 7. posee varias clases que permiten tratar variosniveles de programación Ilustración 5: Ejemplo Funcionamiento . ya sea un número o una letra: Manejo de Puerto Serial con Java API Java Communications Permite a las aplicaciones hacer conexiones a través de los puertos en serie y paralelo para entornos de Linux y Windows. Transmisor Receptor Filtro antirrebote.0 de 32 bits. de los cuales sólo se utilizan 7 segmentos para desplegar los dígitos enviados por el computador. Diagrama de bloques VII. en este caso se lo realizó a través de JAVA. Se utilizó Netbeans para la programación en java. este realiza de interfaz el conector USB del computador a los pines necesarios para realizar la comunicación serial. El tercer módulo es el USB UART. permite que las mismas aumenten su robustez. debido a una serie de errores y alertas en . SERIAL clk en(3:0) key_input seg_data(7:0) rst txd rxd 4. La integración de una comunicación serial junto con otras aplicaciones. Diagrama Esquemático Presionar el pulsador número 1 del módulo con 8 botones. este sirve para poder enviar un mensaje hacia el computador. RECOMENDACIONES Es recomendable utilizar la comunicación serial en Windows 7 de 32 bits. Recibe un el mensaje “VLSI2-2016” de la FPGA por el puerto serie Observa los displays y la interfaz gráfica Muestra en la interfaz gráfica el número de veces que se ha presionado el pulsador Ilustración 9. DESARROLLO El primer módulo es el que contiene cuatro displays de 8 segmentos (incluyendo el punto decimal). CONCLUSIONES Ilustración 8. La compatibilidad de la FPGA con diferente software incrementa el número de aplicaciones que se puede realizar con la tarjeta utilizando otros lenguajes de programación. Ilustración 6: Pulsador Número Uno Ilustración 10. Diagrama de bloques Diagrama de caso de uso Modifica los sliders de la interfaz gráfica de la PC Envía un código a la FPGA por el puerto serie según lo seleccionado en los sliders Usuario Recibe un código de la PC por el puerto serie PC Muestra en los displays lo seleccionado en los sliders Presiona el pulsador FPGA Envía el mensaje “VLSI2-2016” a la PC Se debe tomar en cuenta que la velocidad de transmisión de 9600 baudios esta debe ser igual tanto en la tarjeta como en la aplicación. El segundo módulo es el de ocho pulsadores de los cuales sólo se utilizará uno. Diagrama de Casos de Uso IV. previamente se deben instalar ciertos paquetes y obtener librerías con las cuales se logra la comunicación serial entre la tarjeta y el ordenador.3 3. este enviará el mensaje “VLSI2-2016” desde la FPGA hacia el computador. logrando grandes prestaciones y funciones específicas además de un trabajo conjunto de las aplicaciones. Diagrama esquemático Observar el número de veces que ha sido presionado el pulsador en la pantalla del computador Para este proyecto se utilizan tres módulos que vienen incluidos en la FPGA modular Ilustración 7: Visualización Acción Pulsador VI. el primero. Design Of High Speed Uart For Programming Fpga. Verificar el correcto funcionamiento del cable USB-SERIAL UART RS232 instalando el controlador adecuado. DcUba. P.. Aggarwal. F. K. S. además que el driver para el cable Serial es difícil de encontrar para esta versión de Windows. & Xue-jun. International Journal Of Engineering And Computer Science .. Intelligent Systems and Applications . A. & Farooqi. S. Pandey. de http://upcommons.wikipedia.upc. Kumar.org/wiki/Java_EE.dc. (2014). Recuperado el 20 de diciembre de 2015. H. [8] [9] Yi-yuan. & Das. 2749 . Revisar los ejemplos que se encuentran en Nacional Instruments de programación para la FPGA.2752. Rodriguez. 28-36. Output load capacitance based low power implementation of UART on FPGA. Consumer and Control .. de http://www. Synthesis and Implementation of UART Using VHDL Codes. estableciendo los parámetros de comunicación mediante el Hyperterminal. Wang. 1-4. Design and Simulation of UART Serial Communication Module Based on VHDL. 1-3. de http://www.sc.uba.4 Windows 8. J. K. Uocommons. REFERENCIAS [1] Ansari. C. (2012). (2011).. Comprobar que tanto receptor como transmisor tengas sus puertos habilitados para que la comunicación sea posibles Se recomienda encender la tarjeta. G. I. T. (24 de marzo de 2012). 1-4. V.pdf [3] [4] [5] «Wikipedia.es/acwarila/LDD/Teoria/VHDL. B. [2] Borensztejn. T. Computer Communication and Informatics . [Último acceso: 28 Febrero 2015]..pdf?sequence=1 [6] Singh.. [7] Wakhle. y después conectar el puerto USB-SERIAL de programación desde la PC a la tarjeta. m. & Gaba.pdf LDD. usándolos como guía por parte de los programadores en la realización de diversas aplicaciones.» [En línea]. ScEhu. (2012). Available: http://es.. (2011).1/ 14840/memoria.ehu. Recuperado el 20 de diciembre de 2015. Recuperado el 20 de diciembre de 2015.. (agosto de 2008). A new approach to realize UART. .ar/materias/disfpga/2011/c2/desc argas/UART.edu/bitstream/handle/2099. (2011). Electronic and Mechanical Engineering and Information Technology . P. & Song. Computer. Y. Se graduó en el Instituto Nacional Mejía con el título de bachiller en FísicoMatemático y actualmente estudia Ingeniería en Electrónica y Telecomunicaciones en la Universidad de las Fuerzas Armadas ESPE. Ecuador. Jonathan Alexis Zapata Sinaluisa nació en Quito. el 11 de Junio de 1994. Ecuador el 31 de Agosto del 1993. Se graduó como bachiller en la especialidad de físico matemático en el Colegio Municipal Experimental "Sebastián de Benalcázar” en Quito. provincia de Pichincha en el 2012. Estudio su primaria en la Escuela Unión Nacional de Educadores (UNE). el 7 de enero de 1995.5 Celena Karina Betancourt Mediavilla nació en Quito. actualmente estudia Ingeniería en Electrónica Automatización y Control en la Universidad de las Fuerzas Armadas . Actualmente estudia Ingeniería en Electrónica Automatización y Control en la universidad de las Fuerzas Armadas ESPE. nació el 25 de Mayo de 1992 en la ciudad de Quito-Ecuador. en sexto nivel. Se graduó en el Colegio “Hipatia Cárdenas de Bustamante” de bachiller técnico en la especialidad de Electr6ónica Básica y Físico Matemático.ESPE desde el año 2012 cursando el sexto nivel de la carrera. Debido a sus estudios no ha ejercido profesionalmente. Se graduó en el Colegio San Gabriel adquiriendo el título de Bachiller FísicoMatemático. terminó la suficiencia en ingles en ESPE – idiomas en el año 2014. En la actualidad no ejerce ningún trabajo remunerado debido a sus estudios. Actualmente no ejerce ningún trabajo remunerado debido a sus estudios Gareth Espinoza. Ecuador. Actualmente se encuentra estudiando en la Universidad de las Fuerzas Armadas ESPE la carrera de Ingeniería Electrónica en Automatización y Control David Segarra Vásconez nació en Quito. .