Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Tarjeta de Desarrollo
Ing. Mecatrónica
Integrantes:
Jairo Jesus Marquez Covarrubias
Carlos Gabriel Escobedo
I. Marco Teórico
El receptor y transmisor asíncrono universal (UART) es un circuito que envía datos en
paralelo a través de una línea serial. UART se utiliza con frecuencia junto con el estándar
RS-232, que es el protocolo que especifica las características eléctricas, mecánicas,
funcionales y el procedimiento para la comunicación de datos entre dos equipos. Como el
voltaje definido en RS-232 es diferente al de una FPGA, un chip convertidor de voltaje es
necesario entre un puerto serie y los pines E/S de un FPGA. La placa Spartan 3 tiene un
puerto RS-232 con el conector estándar de nueve pines y contiene el chip convertidor de
voltaje necesario y configura las diversas señales de control RS-232 para generar
automáticamente reconocimiento para el puerto serie de por ejemplo un PC. De modo que
se puede usar directamente un cable serial para conectar la placa Spartan a un puerto serial
de un PC (actualmente es probable que se necesite un convertidor serie-USB).
II. Desarrollo
Describir y simular un hardware para realizar una comunicación serie UART por el puerto
RS-232 que presenta la FPGA con los siguientes parámetros: 19.200 baudios, 8 bits de
datos, 1 bit de parada y sin bit de paridad. Para su realización se va a seguir el siguiente
esquema:
Se cuenta con dos bloques: Receptor (UART_RX) y transmisor (UART_TX) con las
siguientes señales:
• RX: Señal de la transmisión que se va a recibir. Al ser una señal externa no está
sincronizada, así que se va a registrar doblemente (es decir, es necesario pasarla por dos
biestables de tipo D) con el objetivo de sincronizarla con el reloj de la FPGA y de evitar
problemas de ruidos y meta estabilidad en la medida de lo posible.
• RX_Dout: Señal donde se va a ir mostrando la señal recibida, se actualiza con cada bit de
datos que llega por RX.
• RX_done: Señal que debe ponerse en alto durante al menos un ciclo de reloj para indicar
que se ha terminado de recibir un byte. El resto del tiempo debe estar en nivel bajo.
• TX_Din: Señal de entrada donde se van a introducir el byte que se van a enviar por TX.
• TX_start: Señal que debe ponerse en alto durante un ciclo de reloj para indicar al módulo
que se debe empezar a transmitir por TX los bits que hay en TX_Din.
• TX: Señal de la transmisión que se va a enviar. Comienza con el bit de inicio justo en el
momento en que TX_start se regresa a cero después de un pulso en alto.
• TX_done: Señal que debe ponerse en alto durante al menos un ciclo de reloj para indicar
que se ha terminado de enviar un byte. El resto del tiempo debe estar en nivel bajo.
• Clk: Reloj.
Programa Descrito
Este código describe el receptor de nuestro hardware donde al inicio del programa
clck_Bau empieza en 50Mhz de nuestro reloj.
Por otro lado, tenemos los puertos con los que contamos que en este caso son 4
los cuales son.
Ent-Entrada de bits en nuestro programa
Sali-salida de los datos en el programa
Clck-Señal de reloj en nuestro programa
DatEn- representa el registro de los 8 bits leídos por el receptor
Ahora pasamos al banco de pruebas en donde simularemos nuestros 2 programas
el de receptor y transmisor
Ahora después de haber simulado en nuestro banco de purebas pasamos a la
visualización de nuestras señales.’ En donde podemos ver que la transmisión de
señales.
III.-Conclusiones
Es importante conocer las diferentes entidades que componen el UART y es que
gracias a ellos entendemos el funcionamiento real de los dispositivos programables;
Es muy importante conocer su máquina de estados, ya que así es más fácil describir
esta entidad y a su vez conocer las señales de reloj y su velocidad de bits. Saber
utilizar sus registros qué operaciones facilitan los diferentes programas que se
podrían utilizar en el futuro y nos dan hincapié a realizar nuestro proyecto final con
estas estructuras.