Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Sección de Bioelectrónica
Electrónica Digital
Reporte de Práctica 4
Integrantes:
1
octubre/2019
Introducción
El desarrollo que ha tenido la materia a lo largo de las clases nos ha
permitido llevar a cabo la descripción de varios componentes de
manera individual y también hemos aprendido a conjuntarlos por
medio de entidades superiores al usar la programación jerarquica,
pero una vez que somos capaces de modelar dichos componentes
debemos ser capaces también de comunicarlos al exterior, en ésta
ocasión harémos uso del ya conocido protocolo rs232.
Ilustración 1: Conector de interfaz rs232
La norma RS232 describe la conexión en serie entre un aparato
terminal de datos (DTE) y una instalación de transmisión de datos
(DCE) con sus propiedades eléctricas y mecánicas. Aunque la norma sólo define este tipo de conexión,
la interfaz RS232 se ha establecido como estándar general para transmisiones de datos en serie a
través de cortas distancias.
Para llevar a cabo la comunicación se debe establecer la velocidad de dicha comunicación en ambos
dispositivos (baudios), si tiene bit de paridad. Luego, cuando la uart receptora recibe el nivel de partida,
de alto a bajo, espera el tiempo suficiente para llegar a la mitad del tiempo que dura un bit, en donde se
realiza la lectura del nivel de entrada. Esto se replica para los siguientes 7 bits. Finalmente se reconoce
el bit de parada.
Se realiza la lectura en la mitad del tiempo, para minimizar los efectos del transiente en los cambios de
niveles lógicos. Cables mas largos son menos inmunes al ruido.
El bit de parada es útil para validar la trama de entrada.
2
octubre/2019
Objetivo
El objetivo principal de ésta práctica es establecer una comunicación exitosa entre nuestra tarjeta por
medio de su puerto UART1 y un puerto serie simulado, mismo que cerearemos con el sofwtware Tera
Term, la practica se divide en dos partes, cada una está diseñada para poder realizar nuestro protocolo
de comunicación rs232 desde la parte de transmisión (TX) y recepción (RX) y una vez establecida la
comunicación poder enviar y recibir información a traves de la terminal de Tera Term.
Puerto
UART
[1] UART, son las siglas en inglés de Universal Asynchronous Receiver-Transmitter, en español: Transmisor-Receptor Asíncrono Universal, es
el dispositivo que controla los puertos y dispositivos serie. Se encuentra integrado en la placa base o en la tarjeta adaptadora del dispositivo.
3
octubre/2019
Ejemplo1.
Transmisión
Trabajo Previo
De manera previa conocimos las caracterizticas del protocólo rs232 el cual usaremos en éstos
trabajos extraclase, en esta parte entendimos la importancia del bit de inicio, bit de parada, bits de datos
y la velocidad de transmisión en terminos de bit/segundo, unidad conocida como baudios, para ésta
práctica usaremos un avelocidad de 9600 baudios, ésta velocidad debe de ser uniforme entre la
transmisión y la parte receptora.
Desarrollo
4
octubre/2019
Una vez que tenemos nuestro reloj de transmisión, debemos especificar el mensaje que será enviado
en éste caso se nos pide en el manual de práctica que dicho mensaje debe ser el siguiente:
“CINVESTAV-IPN_EQUIPO12”
El cual está dado para nuestra variable regtx de forma hexadecimal cuando dicha variable toma los
valores del 0-21 que es el tamaño de nuestro mensaje y se programó de la siguiente manera:
X"43" when "00000000", --C
X"49" when "00000001", --I
X"4E" when "00000010", --N
X"56" when "00000011", --V
X"69" when "00000100", --E
X"53" when "00000101", --S
X"54" when "00000110", --T
Valores asignados a cada X"41" when "00000111", --A
número del contador en su X"56" when "00001000", --V
valor hexadecimal. X"2D" when "00001001", ---
X"49" when "00001010", --I
X"50" when "00001011", --P Tamaño de nuestro mensaje y a
X"4E" when "00001100", --N un lado comentado en color verde,
X"5F" when "00001101", --_ está nuestro mensaje a enviar.
X"45" when "00001110", --E
X"51" when "00001111", --Q
X"55" when "00010000", --U
X"49" when "00010001", --I
X"50" when "00010010", --P
X"4F" when "00010011", --O
X"31" when "00010100", --1
X"32" when "00010101", --2
X"00" when others;
De igual forma en la ilustración 8 podemos ver claramente el tamaño del paquete de bits que se está
enviado, el cual es de 8 bits + 1 bit de inicio (start bit) y un bit de parada (stop bit).
5
octubre/2019
Simulaciones
A continuación y una vez terminada la descripción para la transmisión del mensaje vamos a simular
nuestro código, de esa forma verificamos que está funcionando y el mensaje se está enviando al menos
funcionalmente.
Se puede observar que el mensaje está siendo enviado con éxito el mensjae sale como se espera, de la
misma forma se puede ver la señal tx la forma de onda característica que se forma al enviar nuestros
paquetes de bits en blockes.
************************************Simulación Temporizada*************************************
La simulación temporizada no se realiza a causa de que el programa tarda tiempo excesivamente alto y no se puede continuar con tal
tarea, para lograrse, proponemos más tiempo de trabajo.
Implementación
Ya que logramos comprobar que el funcionaimento es el esperado, pasamos a implementar nuestro
código de transmisión hacia la tarjeta y poder enviar el mensaje a traves de ésta y que podamos
visualizar nuestro mensjae en la terminal del software TeraTerm.
4. Como ultimo paso configuramos la terminal a la velocidad que estamos transmitiendo, la cual se
menciona con anterioridad es de 9600 baudios.
6
octubre/2019
Resultado
Como podemos ver, el mensaje se envía con éxito cada vez que lo enviamos a traves de la
placa cada vez que presionamos el boton (F5) de la placa, en la ilustración lo cual nos indica
que tuvimos un resultado esperado y la tranmisión se logro de manera exitosa, cabe
destacar que el mensaje entre mas grande sea, tardará más tiempo en enviarse, y
siempre se debe configurar de manera correcta ya que una velocidad dispar, provocaria
un mensaje erroneo y la ineficacia de la transmición por completo.
Ejemplo2.
Recepción
Trabajo Previo
Como ya lo hablamos la comuniación se logra teniendo una transmición y una recepción exitosa deoende
de saber con certeza cómo programar de manera correcta ambas partes de ésta “ecuación”, en
realidad el procediemiento de conexión física es el mismo para ambas así que se obviara esa parte e
iremos directamente a la explicación de nuestra despricpción.
Desarrollo
El fin de ésta practica es crear la parte analoga a la transmisión y para ello se nos pide crear un contador
de módulo (n), el cual sera capáz de recibir un dato númerico desde la entrada del teclado para ser
procesada por la tarjeta spartan 6 y posterieormente desplegarlo en los LEDS que están incluidos en
la misma.
7
octubre/2019
Descripción
Para ello se propone tomar como base nuevamente los códigos previamente utilizados en clase para
hacer recepción de datos de forma serial y modificarlo para lograr hacer una cuenta de cualquier
número que sea ingresado en la terminal por el usuario:
8
octubre/2019
Simulación
Podemos ver que el código funciona correctamente, pero se presentan algunos problemas de
abstraccion y sobre todo en la implementación a la tarjea.
Conclusiones:
Ejemplo 1
Como conlusión podemos observar que la transmisión resulta de alguna forma menos dificultosa de
ejecutar en comparación de la recepción, en resumen es más sencillo enviar datos que recibirlos, creo
que debemos seguir trabajando el ello hasta poder resolver dichos retrasos, creo que el mayor
abstáculo fue el tiempo que se tenía, además de que hoy en día ya no existen los puertos físicos de
rs232 en la mayoría de los equipos por lo cual este procedimiento se hizo con un simulador y eso vuelve
el procedimiento cargado totalmente a la parte del software, conllevando problemas de compatibilidad
.
Ejemplo 2
El ejemplo del contador podemos observar que las sentencias pueden alterar de manera significativa la
recepción en la tarjeta, en este caso el sódigo del contador tiene que coincidir con las demás variables
que están cambiando constantemente, de manera que no se pierda la numeración en ascii en el
momento de que se elija un valor.
*** Como parte importante a destacar que las tarjeta presentó algunos porblemas de compatibilidad
al programar y al conectar con el simulador, significando una total perdida de la información o una
conexión inexistente**