RS-232 (Recommended Standard 232, en español: "Estándar Recomendado 232"), también conocido como EIA/TIA RS-232C, es una interfaz que designa una norma para el intercambio de datos binarios serie entre un DTE (Data Terminal Equipment, "Equipo Terminal de Datos"), como por ejemplo una computadora, y un DCE (Data Communication Equipment, "Equipo de Comunicación de Datos"), por ejemplo un módem. Existen otros casos en los que también se utiliza la interfaz RS-232. Una definición equivalente publicada por la UIT[1] se denomina V.24.
El RS-232 consiste en un conector tipo DB-25 (de 25 pines), aunque es normal encontrar la versión de 9 pines (DE-9, o popularmente mal denominados DB-9), más barato e incluso más extendido para cierto tipo de periféricos (como el ratón serie de la PC).[2]
La primera especificación de esta interfaz se publicó en 1962 y desde entonces se ha ido revisando frecuentemente. Una de las revisiones más extendidas fue la EIA-232-C. El primer nombre que recibió esta interfaz fue RS-232, nombre que aún hoy se utiliza ampliamente, a pesar de que dicho estándar lo adoptaría la organización de estandarización norteamericana EIA (Electronic Industries Alliance, o hasta 1997 Electronic Industries Association) cambiando su nombre al actual EIA-232.[3]
Posteriormente la ITU-T[4] desarrolló las correspondientes recomendaciones basadas en la interfaz EIA-232. La recomendación V.24 especifica los aspectos funcionales y operacionales, es decir, se define que circuitos o señales tienen que implementarse en la interfaz y la función de cada uno de ellos. Los aspectos eléctricos de la interfaz están definidos en la recomendación V.28.[3]
En la siguiente tabla se muestran las señales RS-232 más comunes según los pines asignados de:
Señal | DB-25 | DE-9 (DB-9, TIA-574) | EIA/TIA 561 | Host | RJ-50 | MMJ[nota 1] | |
---|---|---|---|---|---|---|---|
Common Ground | G | 7 | 5 | 4 | 4,5 | 6 | 3,4 |
Transmitted Data | TD | 2 | 3 | 6 | 3 | 8 | 2 |
Received Data | RD | 3 | 2 | 5 | 6 | 9 | 5 |
Data Terminal Ready | DTR | 20 | 4 | 3 | 2 | 7 | 1 |
Data Set Ready | DSR | 6 | 6 | 1 | 7 | 5 | 6 |
Request To Send | RTS | 4 | 7 | 8 | 1 | 4 | - |
Clear To Send | CTS | 5 | 8 | 7 | 8 | 3 | - |
Carrier Detect | DCD | 8 | 1 | 2 | 7 | 10 | - |
Ring Indicator | RI | 22 | 9 | 1 | - | 2 | - |
La interfaz RS-232 está diseñada para imprimir documentos para distancias cortas, de hasta 15 metros según la norma , y para velocidades de comunicación bajas, de no más de 20 kbps. A pesar de esto, 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 solo 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.[5]
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 U(S)ART (Transmisor y Receptor Asíncrono Universal) se diseñaron para convertir las señales que maneja la CPU y transmitirlas al exterior. Las UART deben resolver problemas tales como la conversión de tensiones internas 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.
Generalmente, cuando se requiere conectar un microcontrolador (con señales típicamente entre 3,3 y 5 V) con un puerto RS-232 estándar, se utiliza un driver de línea, típicamente un MAX232 o compatible, el cual mediante dobladores de tensión positivos y negativos, permite obtener la señal bipolar (típicamente alrededor de +/- 6V) requerida por el estándar.
Para los propósitos de la RS-232 estándar, 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.
Existe una cierta confusión asociada a los nombres de las señales utilizadas, principalmente porque hay tres convenios diferentes de denominación (nombre común, nombre asignado por la EIA, y nombre asignado por el CCITT).
En la siguiente tabla se muestran los tres nombres junto al número de pin del conector al que está asignado (los nombres de señal están desde el punto de vista del DTE (por ejemplo para Transmit Data los datos son enviados por el DTE, pero recibidos por el DCE):
PIN | EIA | CCITT / V.24 | E/S | Función DTE-DCE |
---|---|---|---|---|
1 | CG | AA 101 | Tierra del Chasis | |
2 | TD | BA 103 | Salida | Datos Transmitidos |
3 | RD | AA 104 | Entrada | Datos Recibidos |
4 | RTS | CA 105 | Salida | Solicitud de Envío |
5 | CTS | CB 106 | Entrada | Listo para Enviar |
6 | DSR | CC 107 | Entrada | Equipo de Datos Listo |
7 | SG | AB 102 | --- | Tierra de Señal |
8 | DCD | CF 109 | Entrada | Portadora Detectada |
9* | Entrada | Test de Voltaje Positivo | ||
10* | Entrada | Test de Voltaje Negativo | ||
11 | (no se usa) | |||
12+ | SCDC | SCF 122 | Entrada | Portadora Detectada-Secundario |
13+ | SCTS | SCB 121 | Entrada | Listo para Enviar-Secundario |
14+ | SBA 118 | Salida | Datos Transmitidos-Secundario | |
15# | TC | DB 114 | Entrada | Reloj de Transmisión |
16+ | SRD | SBB 119 | Entrada | Datos Recibidos-Secundario |
17# | RC | DD 115 | Entrada | Reloj de Recepción |
18 | (no se usa) | |||
19+ | SRTS | SCA 120 | Salida | Solicitud de Envío Secundario |
20 | DTR | CD 108,2 | Salida | Terminal de Datos Listo |
21* | SQ | CG 110 | Entrada | Calidad de Señal |
22 | RI | CE 125 | Entrada | Indicador de Timbre |
23* | DSR | CH 111 | Salida | Equipo de Datos Listo |
CI 112 | Salida | Selector de Tasa de Datos | ||
24* | XTC | DA 113 | Salida | Reloj de Transmisión Externo |
25* | Salida | Ocupado |
En la tabla, el carácter que sigue al número de pin:
También, la dirección de la flecha indica cuál dispositivo (DTE o DCE) origina cada señal, a excepción de las líneas de tierra (---).
Sobre los circuitos, todos las tensiones están con respecto a la señal de tierra.
Las convenciones que se usan son las siguientes:
Tensión | Señal | Nivel Lógico | Control |
---|---|---|---|
+3 a +15 | Espacio | 0 | On |
-3 a –15 | Marca | 1 | Off |
Los valores de tensión se invierte con respecto a los valores lógicos. Por ejemplo, el valor lógico positivo corresponde a la tensión negativa. También un 0 lógico corresponde a la señal de valor verdadero o activada. Por ejemplo, si la línea DTR está al valor 0 lógico, se encuentra en la gama de tensión que va desde +3 a +15 V, entonces DTR está listo (ready).
El canal secundario a veces se usa para proveer un camino de retorno de información más lento, de unos 5 a 10 bits por segundo, para funciones como el envío de caracteres ACK o NAK, en principio sobre un canal half duplex. Si el módem usado acepta esta característica, es posible para el receptor aceptar o rechazar un mensaje sin tener que esperar el tiempo de conmutación, un proceso que usualmente toma entre 100 y 200 milisegundos.
Los siguientes criterios son los que se aplican a las características eléctricas de cada una de las líneas:
Existen en el mercado muchos circuitos integrados disponibles, (los chips 1488 y 1489, Max 232, etc) los cuales implementan drivers y receptores TTL, para una RS-232 de forma compatible con las reglas anteriores.
A continuación se mostrará una temporización típica utilizada para la comunicación entre un DTE y un DCE cuando el DCE es un módem y se desea transmitir datos al DCE remoto. El proceso se puede dividir en 3 fases:[3]
Conexión DTE-DCE preparada. La primera fase se utiliza para comprobar que los dispositivos DTE y DCE están operativos:
Establecimiento de la conexión DTE-DCE y transferencia de datos:
Finalización de la conexión: