RS-232

Introducción

Conector DB9
RS-232.
La denominada RS-232 es una interfaz que designa una norma para el intercambio serie de datos binarios entre un DTE (o Equipo terminal de datos) y un DCE (o Equipo de terminación del circuito de datos), aunque existen otras situaciones en las que también se utiliza la interfaz RS-232.

El puerto RS-232 consiste fisicamente en un conector tipo DB25 (de 25 pines), aunque es normal encontrar la versión de 9 pines (DB9), que es más ecónomico e incluso más extendido para cierto tipo de periféricos.

La interfaz RS-232 está diseñada para distancias cortas, de unos 15 metros o menos, y para una velocidades de comunicación bajas, de no más de 20 KBytes. A pesar de ello, muchas veces se utiliza a mayores velocidades con un resultado aceptable. La interfaz puede trabajar en comunicación asíncrona o síncrona y tipos de canal simplex, half duplex o full duplex. En un canal simplex los datos siempre viajarán en una dirección, por ejemplo desde DCE a DTE. En un canal half duplex, los datos pueden viajar en una u otra dirección, pero sólo durante un determinado periodo de tiempo; luego la línea debe ser conmutada antes que los datos puedan viajar en la otra dirección. En un canal full duplex, los datos pueden viajar en ambos sentidos simultáneamente. Las líneas de handshaking de la RS-232 se usan para resolver los problemas asociados con este modo de operación, tal como en qué dirección los datos deben viajar en un instante determinado.



Si un dispositivo de los que están conectados a una interfaz RS-232 procesa los datos a una velocidad menor de la que los recibe deben de conectarse las líneas handshaking que permiten realizar un control de flujo tal que al dispositivo más lento le de tiempo de procesar la información. Las líneas de "hand shaking" que permiten hacer este control de flujo son las líneas RTS y CTS. Los diseñadores del estándar no concibieron estas líneas para que funcionen de este modo, pero dada su utilidad en cada interfaz posterior se incluye este modo de uso.

Las UART o Transmisor y Receptor Síncrono Asíncrono Universal se diseñaron para convertir las señales que maneja un microcontrolador y transmitirlas al exterior. Las UART deben resolver problemas tales como la conversión de voltajes internos del DCE con respecto al DTE, gobernar las señales de control, y realizar la transformación desde el bus de datos de señales en paralelo a serie y viceversa. Debe ser robusta y deberá tolerar circuitos abiertos, cortocircuitos y escritura simultánea sobre un mismo pin, entre otras consideraciones. Es en la UART en donde se implementa la interfaz.
Para los propósitos de la RS-232 estandar, una conexión es definida por un cable desde un dispositivo al otro. Hay 25 conexiones en la especificación completa, pero es muy probable que se encuentren menos de la mitad de éstas en una interfaz determinada. La causa es simple, una interfaz full duplex puede obtenerse con solamente 3 cables.

La norma RS232

Como antes se adelantó, la norma RS-232 es una de las más populares que se utilizan en la comunicación serie, y es la que se utiliza en los PC's, si bien hoy día está ampliamente superada por la transmisión serie a través de USB, de manera que está remitiendo su uso (por ejemplo, ya no se implementa en ordenadores portátiles). Se desarrolló en la década de los 60 para gobernar la interconexión de terminales y MODEM.

La norma RS-232 resuelve tres aspectos en la comunicación que se establece entre el DTE, Equipo Terminal de Datos, por ejemplo un PC y el DCE, Equipo para la comunicacion de datos, por ejemplo un ratón:
  • Características eléctricas de la señal: Se establece que la longitud máxima entre el DTE y el DCE no debe ser superior a los 15 metros y la velocidad máxima de transmisión es de 20.000 bps. Los niveles lógicos no son compatibles TTL, considerando:
    • 1 lógico entre -3V y -15V
    • 0 lógico entre +3V y +15V
  • Características mecánicas de los conectores: Se utiliza un conector 25 patillas, DB25, o de 9 patillas, DB9, donde el conector macho identifica al DTE y el conector hembra al DCE.
  • Descripción funcional de las señales usadas: Las señales están básicamente divididas en dos grupos:
    • Señales primarias, que son normalmente utilizadas para la transferencias de datos
    • Señales secundarias, utilizadas para el control de la información que será transferida.
La norma RS-232 está definida tanto para la transmisión síncrona como para la asíncrona, pero cuando se utiliza esta última, sólo un conjunto de terminales (de los 25), es utilizado.

Velocidad

La velocidad está estandarizada según la norma RS-232C en baudios:
  • 75
  • 110
  • 150
  • 300
  • 600
  • 1200
  • 2400
  • 4800
  • 9600
  • 19200

Conectores

DB25 patillas macho y hembra:


Imagen:db25p.gif

DB9 patillas4 macho y hembra:


Imagen:db9p.gif

Ambos conectores son totalmente compatibles entre sí y existen adaptadores para pasar de un conector a otro.


Descripción de terminales en RS-232

Para ilustrar mejor el significado de cada terminal, consideremos a modo de ejemplo que el DTE podría ser un PC y el DCE un ratón. Se considerará el terminal DB25.
  • TXD (Transmit Data, transmisión de datos, salida, pat. 2): Señales de datos que se transmiten del DTE al DCE. En principio, los datos no se pueden transmitir si alguno de los terminales RTS, CTS, DSR ó DTR está desactivado.
  • RXD (Receive Data, recepción de datos, entrada, pat. 3): Señales de datos transmitidos desde el DCE al DTE.
  • DTR (Data Terminal Ready, terminal de datos preparado, salida, pat. 20): Señal del DTE que indica que está conectado, generalmente en "0" indica que el DTE está listo para transmitir o recibir.
  • DSR (Data Set Ready, dispositivo preparado, entrada, pat. 6): Señal del DCE que indica que el dispositivo está en modo de transmisión de datos.
  • RTS (Request To Send, petición de envío, salida, pat. 4): Señal del DTE al DCE, notifica al DCE que el DTE dispone de datos para enviar. Se emplea en líneas semiduplex para controlar la dirección de transmisión. Una transición de 1 a 0 avisa al DCE que tome las medidas necesarias para prepararse para la transmisión.
  • CTS (Clear To Send, preparado para transmitir, entrada, pat. 5): Señal del DCE al DTE indicando que puede transmitirle datos.
  • CD (Carrier Detect, detección de portadora, entrada, pat. 8): Señal del DCE que ha detectado la señal portadora enviado por un modem remoto o que la línea telefónica está abierta.
  • RI (Ring Indicator, timbre o indicador de llamada entrante, entrada, pat. 22): Señal del DCE indicando que está recibiendo una llamada por un canal conmutado.
  • SG (GND) (System Ground ó Signal Ground, masa de señal, pat. 7): Masa común para todos las líneas.
  • FG (GND) (Shield ó Protective Ground, tierra de protección, pat. 1): El conductor esta eléctricamente conectado al equipo.

Una secuencia normal, a través de la RS232, es la siguiente:
  • Ambos dispositivos son alimentados, indicando encendido (si ha sido establecido en el equipo). El DTE activa el terminal DTR y el DCE activa el terminal DSR. Una interfase RS-232 bien diseñada no comunicará hasta que estos dos terminales estén activos. El DTE esperará la activación del terminal DSR y el DTE la activación del terminal DTR. Aunque DTR y DSR algunas veces pueden ser utilizados para el control del flujo, estos terminales solo indican que los dispositivos están conectados.
  • El DTE pregunta al DCE si este está listo. El DTE activa la línea RTS. El DCE si está listo, responde activando la línea CTS. Puestos de acuerdo ambos equipos, se puede entrar a comunicar.
  • Los datos son transferidos en ambos sentidos. El DTE envía información al DCE a través del terminal TXD. El DCE envía información al DTE a través del terminal RXD.
Señal DB25 DB9
Common Ground G 7 5
Transmitted Data TD 2 3
Received Data RD 3 2
Data Terminal Ready DTR 20 4
Data Set Ready DSR 6 6
Request To Send RTS 4 7
Clear To Send CTS 5 8
Carrier Detect DCD 8 1
Ring Indicator RI 22 9
Descipción de los pines de un conector RS-232 DB9


Interfaz TTL-RS232

Para una comunicación full duplex desde la UART de un microprocesador o microcontrolador deben conectarse un mínimo número de señales, concretamente TXD y RXD así como la masa (GND, SG o Signal Ground). Sin embargo una interfaz típica RS-232 requiere al menos 7 señales.


Imagen:conexrs232.gif

Las líneas adicionales se utilizan para la puesta de acuerdo entre el DTE (por ejemplo un PC) y el DCE (por ejemplo un ratón).
El terminal para transmitir datos (TXD) es utilizado para transferir datos del DTE al DCE, por lo que debe ser conectado a la línea receptora serie del periférico. De manera idéntica la línea receptora de datos (RXD) debe ser conectada a la línea transmisora del periférico.
Para convertir TTL a RS-232 se pueden usar circuítos típicos de transistores y diodos discretos o los circuitos integrados MC1488 y MC1489, sin embargo, existe un circuito integrado muy popular que permiten esta conversión. El MAX232 es un conversor de nivel TTL/RS232. Sólo es necesario este circuito integrado y 4 condensadores.