2.1. Transmision Por RS232
2.1. Transmision Por RS232
2.1. Transmision Por RS232
TRANSMISIÓN ASINCRONICA
La transmisión asíncrona se emplea cuando los datos se transmiten a intervalos aleatorios, de modo que el receptor debe
ser capaz de re sincronizarse al inicio de cada nuevo carácter que reciba. Para ello cada carácter debe ir precedido de un
bit de inicio (bit Start) y seguido de uno o más bits de parada.
Este modo es el empleado, por ejemplo, en la transmisión de caracteres entre un teclado y un ordenador, así como en la
norma de interfaz RS 232 para la conexión de DTE con DCE o incluso para la comunicación de datos entre dos
ordenadores (DTE-DTE). En este caso, a continuación de cada bit de parada seguiría el bit de inicio del siguiente
carácter sin retardo adicional hasta completar el bloque completo de datos.
Al producirse sincronización al principio de cada carácter se evita que las posibles desviaciones entre los relojes del
emisor y el receptor se acumulen durante la transmisión de tramas completas de datos.
Otro aspecto a tener en cuenta ocurre en la transmisión de una trama, donde es necesario reconocer cuando empieza y
termina la misma, pues el orden de agrupación de los byte permitirá interpretar adecuadamente o no un mensaje
(ejemplo: Destinatario / Remitente / Datos).
Al emplear tramas es necesario emplear algún mecanismo de sincronización de tramas, las cuales se dividen en:
Se emplea este método porque a diferencia del anterior, puede ocurrir que algún byte enviado coincida con el byte de
comienzo (ocurriría un error de transmisión) o de fin (finalizaría antes de enviar toda la trama), como en la
sincronización por carácter se usa un carácter que no se emplea en la trama entonces no existen estos problemas.
Aun así, en el caso de que alguno de los bytes intermedios coincidiera con el código correspondiente a DLE, el
emisor automáticamente insertaría un segundo código DEL a continuación de este byte, de modo que el receptor
podrá diferenciar de manera univoca entre códigos del enlace de datos, que van seguidos por STX o ETX y datos que
coinciden con un DLE, que llegan de dos en dos (una vez identificado, el receptor eliminara el byte duplicado).
Electrónicamente hablando, el modulo que implementa la comunicación a través de la información en formato paralelo
se conoce como UART (Universal Asyncronous Receiver Transmitter – Transmisor y Receptor Universal Asincrónico).
1 de 5
Escuela de Educación Técnica Nº 6 Docenter: Valencia, Carlos R.
Programación Orientada al Control de Procesos Industriales Tema: Transmisión por RS232
Se puede apreciar un intercambio de datos en conexión Null-Modém (no se grafica las demás señales).
Como se puede apreciar Ap1 (aplicación uno) envía a una memoria (buffer) el dato en formato paralelo, luego se
ingresa al UART, se transmite en formato serie por Tx, llega a destino por Rx, ingresa a la UART del receptor y se
deposita en el buffer de recepción, donde la aplicación dos (Ap2), dispone de este dato en formato paralelo.
Bajo este mecanismo de funcionamiento puede ocurrir que el buffer de recepción se llene porque la aplicación no los
retira con suficiente velocidad. Esto genera que los datos que siguen llegando se almacenen desechando los anteriores
(que aun no se han leído) produciéndose una perdida de datos.
Para evitar este tipo de situaciones y regular el flujo de datos se emplean protocolos de control de flujo, que permiten,
de algún modo, informar al emisor para que deje de transmitir cuando un buffer de recepción se encuentra lleno.
En RS-232 existen dos métodos:
- Control de flujo por software (XON/XOFF): Cuando el buffer de recepción se llena, el receptor envía un
carácter denominado XOFF (Carácter ASCII =19) para que el emisor detenga la transferencia. Cuando vuelva
a haber espacio disponible en el buffer del receptor se envía el carácter XON (Carácter ASCII =17) para que
reanude la transmisión.
- Control de flujo por Hardware: Se emplean las líneas de control RTS-CTS o bien DTR-DSR para regular el
flujo.
Cuando la cantidad de datos a transmitir es pequeña estos protocolos no son necesarios, por lo que en muchas
aplicaciones no se utilizan.
La norma RS-232 fue definida originariamente como una interfaz estándar para conectar un equipo de datos (DTE: Data
Terminal Equipment), como una PC, a un equipo de comunicación de datos (DCE: Data Communication Equipment),
que originariamente era un Modém.
Se considera un DTE al que origina la información o la recibe, y al DCE al equipo usado para transmitir / recibir
mencionada información.
2 de 5
Escuela de Educación Técnica Nº 6 Docenter: Valencia, Carlos R.
Programación Orientada al Control de Procesos Industriales Tema: Transmisión por RS232
Cuando el DTE esta preparado para hacer o recibir solicitudes de transferencia de datos activa la línea DTR (Data
Terminal Ready – Terminal de Datos Preparado), y el Modém local responde activando DSR (Data Communication
Ready – Equipo de Comunicación de Datos Preparado), indicando que esta preparado.
A continuación la PC envía al Modém el número de teléfono de la PC con que se quiere comunicar. Cuando el Modém
destino activa la línea de indicación de llamada RI (Ring Indicator – Indicación de Llamada), la PC destino responde a
su Modém activando la línea RTS (Request To Send- Permiso para enviar).
Como respuesta el Modém destino activa la portadora (tono de envía por la línea telefónica) para indicar al origen que
se acepta la llamada (con un 1 Lógico en la línea) y tras un pequeño retardo, activa la línea CTS (Clear To Send – Listo
para enviar) para indicar a la PC destino que se puede comenzar a enviar los datos. El retardo es necesario para que la
PC destino no empiece a enviar hasta que el que llama haya detectado la aceptación de la llamada.
Al detectar la señal de la portadora el Modém origen (el que origina el llamado) activa su línea CD (Carrier Detect -
Detección de portadora), de modo que la conexión se ha establecido y puede comenzar la transferencia de datos.
Normalmente, la PC destino empieza enviando un mensaje corto de "Invitación a transmitir", tras lo cual se prepara
para recibir la respuesta desactivando la línea RTS (Request To Send- Permiso para enviar). Al detectar esto el Modém
al que se llama deja de enviar portadora y desactiva la línea CTS (Clear To Send – Listo para enviar). Con ello, el
Modém de origen detectara la suspensión de portadora y como respuesta desactiva su línea CD (Carrier Detect -
Detección de portadora). Para enviar la respuesta, la PC origen activa RTS, y al recibir CTS de su Modém comienza a
enviar su mensaje. Este proceso se repite durante el intercambio de mensaje entre las dos PCs.
Para finalizar y liberar la conexión ambas PC desactivan su línea RTS, con lo que los Modém desactivan sus portadoras.
Al detectar esto, ambos Modém desactivan su línea CD, y con ello las PC desactivan, a su vez, las líneas DTR, a lo que
los Modém responden desactivando DSR, finalizando así la conexión. Por lo general, la PC destino se prepara para
recibir una nueva llamada volviendo activa la línea DTR tras un pequeño intervalo de tiempo.
Esta conexión es del tipo Half-Duplex, es decir, hay que cambiar de modo recepción a modo transmisión mediante una
secuencia de señales de control. El tiempo empleado para el intercambio es insignificante. A pesar de ello, es preferible
utilizar el modo full-duplex, en el que ambas líneas RTS se dejan activas, y los dos módems mantienen activa la línea
3 de 5
Escuela de Educación Técnica Nº 6 Docenter: Valencia, Carlos R.
Programación Orientada al Control de Procesos Industriales Tema: Transmisión por RS232
CTS, de modo que envían continuamente una señal portadora al Modém remoto. Así es posible el envió y recepción
simultaneo de datos a través de TxD y RxD.
CONEXIONADOS
Existen diversos modos de conexión dependiendo del tipo de equipo que se deseen conectar.
El empleo de las señales de control (los pares RTS–CTS y DTR–DSR) se conoce como handshaking.
Para conectar la PC a un microcontrolador por el puerto serie se utilizan las señales Tx, Rx y GND. La PC utiliza la
norma RS232, por lo que los niveles de tensión de los pines están comprendidos entre +15 y -15 voltios. Los
microcontroladores normalmente trabajan con niveles TTL (0-5v). Es necesario por tanto intercalar un circuito que
adapte los niveles:
4 de 5
Escuela de Educación Técnica Nº 6 Docenter: Valencia, Carlos R.
Programación Orientada al Control de Procesos Industriales Tema: Transmisión por RS232
5 de 5