Академический Документы
Профессиональный Документы
Культура Документы
En cambio, en modo asincrónico no existe una señal de clock que sincronice a los
dispositivos que se están comunicando, por lo que es necesario que ambos se sincronicen al
inicio de la comunicación y luego permanezcan así durante todo el tiempo en el que esta se
extienda.
El modulo UART disponible en la PC, cumple con todos los requisitos establecidos por la
norma RS232.
La mínima unidad de información que puede ser transmitida o recibida por un puerto serie
RS232 es de un byte. Según la norma, cada byte transmitido debe ir delimitado por dos
bits, uno al inicio y otro al final, llamados bit de START y bit de STOP respectivamente. Para
los fines de nuestros proyectos utilizaremos el puerto serie RS232 en modo “8N1”, lo cual
significa que cada trama transportará 8 bits de datos (“8”), no habrá bit de control de
paridad (“N”) y cada trama enviada o recibida finalizará con un solo bit de STOP (“1”).
Así, una trama genérica RS232 en este modo tiene la siguiente forma
Inicio de trama
1
IDLE 0 0/1 0/1 0/1 0/1 0/1 0/1 0/1 0/1 1 IDLE
0
t
Bit START
Bit STOP
DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
Tb
Toda transmisión se inicia con un 0 lógico denominado Bit de START. Esta transición de 1 a
0 que el transmisor genera sobre la línea de datos indica al receptor que se va a transmitir
una trama y le pide que se sincronice. A partir de este momento, el transmisor enviará 10
bits con una duración de tiempo constante denominada Tb.
Por otro lado, el receptor deberá medir el nivel de tensión de la linea un total de 10 veces y
espaciar cada medición realizada el mismo tiempo Tb. Por esto es necesario que tanto
transmisor como receptor tengan configurada la misma velocidad de transmisión, que en
definitiva, es lo que determina el valor de Tb.
A modo de ejemplo, una velocidad de transmisión de 9600 baudios significa que el tiempo
asignado a un bit es de 1/9600 segundos, o sea, 104.16 microsegundos.
Cada uno de los puertos puede ser abierto por una y solo una aplicación al mismo tiempo.
No se pueden transmitir ni recibir datos por puertos que estén cerrados.
La interfaz entre la aplicación y la UART de la PC es la memoria RAM. Todos los datos que la
aplicación desea transmitir los debe tener almacenados en un arreglo del tipo unsigned char
(variable de 8 bits sin signo) y posteriormente escribirlos en el BUFFER de SALIDA de la
UART. Una vez que los datos son escritos en el BUFFER de SALIDA, la aplicación no tiene
mas nada que hacer y el hardware de la PC se encarga de tomar de tomar uno por uno los
bytes presentes, agregar los bits de START y STOP, y gestionar la salida de cada uno de los
bits por el pin TX del puerto serie con los tiempos correspondientes.
40 1
APLICACION 2
3
0 0 0 0 0 0 0 3
0 0 0 0 0 0 0 2
0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1
Pin RX 1 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 Pin TX
De forma similar, la señal que ingresa por el pin RX del puerto serie es ingresada a la UART,
aquí se verifica que el bit de START tenga valor 0, que el bit de STOP tenga valor 1, se
chequea el bit de PARIDAD en caso de utilizarse y si todas estas pruebas son satisfactorias,
se copian los 8 bits de datos a una zona de memoria de la UART llamada BUFFER de
ENTRADA.
Los datos que arriban al BUFFER DE ENTRADA se acumulan ahí esperando que la aplicación
los lea, y una vez que son leídos por la aplicación, la UART los borra del BUFFER de
ENTRADA. Cuando la aplicación lee el BUFFER de ENTRADA, extrae de este los bytes que
han ingresado por el puerto serie en el mismo orden en que llegaron al mismo.