RS-232

De MadriSX wiki
Revisión del 23:17 1 nov 2006 de Museo8bits (discusión | contribs.)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Ir a la navegaciónIr a la búsqueda

RS-232 (también conocido como Electronic Industries Alliance RS-232C) es una interfaz que designa una norma para el intercambio serie de datos binarios entre un DTE (Equipo terminal de datos) y un DCE (Data Communication Equipment, Equipo de terminación del circuito de datos), aunque existen otras situaciones en las que también se utiliza la interfaz RS-232.

En particular, existen ocasiones en que interesa conectar otro tipo de equipamientos, como pueden ser computadores. Evidentemente, en el caso de interconexión entre los mismos, se requerirá la conexión de un DTE (Data Terminal Equipment) con otro DTE.

El RS-232 consiste en un conector tipo DB-25 (de 25 pines), aunque es normal encontrar la versión de 9 pines (DB-9), más barato e incluso más extendido para cierto tipo de periféricos (como el ratón serie del PC).

Conexionados (Desde el DTE)

En la siguiente tabla podrás ver la lista de las señales RS-232 mas comunes según los pines asignados:

Signal DB-25 DE-9 (TIA-574) EIA/TIA 561 Yost RJ-50 MMJ
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 -


Construcción física

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 kb. 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 interface 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 cada en interface posterior se incluye este modo de uso.

Los circuitos y sus definiciones

Las UART o U(S)ART (Transmisor y Receptor [Síncrono] 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 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 interface determinada. La causa es simple, una interface full duplex puede obtenerse con solamente 3 cables.

Existe una cierta confusión asociada a los nombres de las señales útilizadas, 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 esta asignado (los nombres de señal están desde el punto de vista del DTE, (p. ej. para Transmit Data los datos son enviados por el DTE, pero recibidos por el DCE):

PIN EIA CCITT Función DTE-DCE
1 CG AA 101 Chassis tierra
2 TD BA 103 -> Transmit Data
3 RD AA 104 <- Receive Data
4 RTS CA 105 -> Request To Send
5 CTS CB 106 <- Clear To Send
6 DSR CC 107 <- Data Set Ready
7 SG AB 102 --- Signal Ground
8 DCD CF 109 <- Data Carrier Detect
9* <- Pos. Test Voltage
10* <- Neg. Test Voltage
11 (no tiene uso)
12+ SCDC SCF 122 <- Sec. Data Car. Detect
13+ SCTS SCB 121 <- Sec. Clear To Send
14+ SBA 118 -> Sec. Transmit Data
15# TC DB 114 <- Transmit Clock
16+ SRD SBB 119 <- Sec. Receive Data
17# RC DD 115 <- Receive Clock
18 (no tiene uso)
19+ SRTS SCA 120 -> Sec. Request To Send
20 DTR CD 108,2 -> Data Terminal Ready
21* SQ CG 110 <- Signal Quality
22 RI CE 125 <- Ring Indicator
23* DSR CH 111 -> Data Rate Selector
CI 112 -> Data Rate Selector
24* XTC DA 113 -> Ext. Transmit Clock
25* -> Busy

En la tabla, el carácter que sigue a los de número de pin:

  • Raramente se usa (*).
  • Usado únicamente si se implementa el canal secundario (+).
  • Usado únicamente sobre interfaces sincrónicas(#).

También, la dirección de la flecha indica que dispositivo, (DTE o DCE) origina cada señal, a excepción de las líneas de tierra (---).

Sobre los circuitos, todos los voltajes están con respecto a la señal de tierra (SG).

Las convenciones que se usan son las siguientes:

Voltaje Señal Nivel Lógico Control
+3 a +25 Espacio 0 On
-3 a –25 Marca 1 Off

Los valores de voltaje se invierten desde los valores lógicos. Por ejemplo, el valor lógico más positivo corresponde al voltaje más negativo. 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 voltaje que va desde +3 a +25 Volts, 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.

Características eléctricas de cada circuito

Los siguientes criterios son los que se aplican a las características eléctricas de cada una de las líneas:

  1. La magnitud de un voltaje en circuito abierto no excederá los 25 volts.
  2. El conductor será apto para soportar un corto con cualquier otra línea en el cable sin daño a sí mismo o a otro equipamiento, y la corriente de cortocircuito no excederá los 0,5 Amp.
  3. Las señales se considerarán en el estado de MARCA, (nivel lógico “1”), cuando el voltaje sea más negativo que - 3V con respecto a la línea de Signal Ground. Las señales se considerarán en el estado de ESPACIO, (nivel lógico ”0”), cuando el voltaje sea más positivo que +3V con respecto a la línea Signal Ground. La gama de voltajes entre -3V y +3V se define como la región de transición, donde la condición de señal no está definida.
  4. La impedancia de carga tendrá una resistencia a DC de menos de 7000 Ohms al medir con un voltaje aplicado de entre 3 a 25 Volts pero mayor de 3000 Ohms cuando se mida con un voltaje de menos de 25 Volts.
  5. Cuando la resistencia de carga del terminador encuentra los requerimientos de la regla 4 anteriormente dicha, y el voltaje del terminador de circuito abierto está a 0 Volt, la magnitud del potencial de ese circuito con respecto a Signal Ground estará en el rango de 5 a 15 Volts.
  6. El driver de la interface mantendrá un voltaje entre - 5 a – 15 Volts relativos a la señal de Signal Ground para representar una condición de MARCA. El mismo driver mantendrá un voltaje de entre 5V a 15 Volts relativos a Signal Ground para simbolizar una señal de ESPACIO. Obsérvese que esta regla junto con la Regla 3, permite 2 Volts de margen de ruido. En la práctica, se utilizan –12 y 12 Volts respectivamente.
  7. El driver cambiará el voltaje de salida hasta que no se excedan 30 Volts por microsegundo, pero el tiempo requerido a la señal para pasar de – 3 V. a + 3 V. de la región de transición no podrá exceder 1 milisegundo, o el 4 por ciento del tiempo de un bit.
  8. La desviación de capacitancia del terminador no excederá los 2500 picofaradios, incluyendo la capacitancia del cable. Obsérvese que cuando se está usando un cable normal con una capacitancia de 40 a 50 picofaradios por Pie de longitud, esto limita la longitud de cable a un máximo de 50 Pies, (15 m). Una capacitancia del cable inferior permitiría recorridos de cable más largos.
  9. La impedancia del driver del circuito estando apagado deberá ser mayor que 300 Ohms.

Existen en el mercado dos circuitos integrados disponibles, (los chips 1488 y 1489) los cuales implementan dos drivers y receptores TTL, (4 por chip), para una RS-232 de forma compatible con las reglas anteriores.

Definición de los circuitos más comunes

  • 1 CG, Chassis Ground, Tierra del chasis.

Este circuito (también llamado Frame Ground masa del cuadro) es un mecanismo para asegurar que los chasis de los dos de dispositivos estén al mismo potencial, y para impedir una descarga eléctrica al operador. Este circuito no es usado como referencia por ningún otro voltaje y es optativo. Si se usa, debería tomarse alguna precaución para no crear bucles de tierra. Es la tierra de seguridad del sistema.

  • 2 TD, Transmit Data, Datos de trasnmisión.

Este circuito es la trayectoria por medio del cual los datos se envían desde el DTE al DCE. Este circuito debe estar presente si los datos deben viajar en esa dirección en cualquier momento.

  • 3 RD, Receive Data, Datos de recepción.

Esta línea es el recorrido por medio del cual los datos se envían desde el DCE al DTE. Esta línea debe estar presente si los datos deben viajar en esa dirección en un momento dado.

  • 4 RTS, Request To Send, Petición de envio.

Este circuito es la señal que indica que el DTE desea enviar datos al DCE, (ninguna otra línea está disponible para la dirección opuesta, de aquí en adelante el DTE debe estar siempre listo para aceptar datos). En operación normal, la línea de RTS estará OFF, (1 lógico o MARCA). Una vez que el DTE tiene los datos para enviar, y han determinado que el canal no está ocupado, colocará RTS a ON, (0 lógico o ESPACIO), y esperará un estado ON en el CTS desde el DCE, al tiempo que puede entonces comenzar a enviar. Una vez que el DTE culmino el envío, vuelve a fijar RTS a OFF, (1 lógico o MARCA). Sobre un canal full duplex o simplex, esta señal puede colocarse a ON una vez en la inicialización y quedar en esta condición. Algunos DCE´s deben tener un RTS entrante a fin de poder transmitir, (aunque esto no sigue estrictamente el estandar). En este caso, esta señal deberá ser traída desde el DTE, o proveída por un cortocircuito (p. ej. desde DSR), localmente al DCE.

  • 5 CTS, Clear To Send, Limpiea de envio.

Esta línea es la señal que indica que el DCE está preparado para aceptar datos desde el DTE. En operación normal, la línea CTS estará en la condición OFF. Cuando el DTE confirma RTS, el DCE hará lo que sea necesario para permitir que los datos sean enviados, (p. ej. un módem alzaría la portadora, y esperará hasta que se estabilice). En este momento, el DCE colocaría CTS a la condición ON, que permitiría entonces al DTE enviar datos. Cuando la línea RTS desde el DTE retorna a la condición OFF, el DCE descarga el canal (p. ej. un módem bajaría la portadora), y entonces CTS restaura la condición OFF. Un DTE típico debe tener un CTS entrante antes que pueda transmitir. Si no existe esta señal, deberá ser traída desde el DCE, o proveída por un cortocircuito localmente al DTE (p. ej. desde DTR).

  • 6 DSR, Data Set Ready, Datos prepadados.

Esta línea es la señal que informa al DTE que el DCE está vivo y bien. Es normalmente puesta a ON por el DCE al encenderse este. Un DTE típico deberá tener un DSR entrante a fin de desempeñarse normalmente. Si no existe esta línea, debe ser traída desde el DCE, o provista por un corto localmente al DTE (p. ej. desde DTR). Sobre el DCE, esta señal está casi siempre presente, y puede volverse atrás (a DTR o RTS) para satisfacer las señales requeridas cuya función no está implementada.

  • 7 SG, Signal Ground, Señal de tierra.

Este circuito es de tierra al que todos los otros voltajes estan referenciados. Debe estar presente en cualquier interface RS-232.

  • 8 DCD, Data Carrier Detect, Portadora de datos detectada.

Ésta es la señal por medio del cual el DCE informa al DTE que tiene una portadora entrante. Puede ser usado por el DTE para determinar si el canal esta desocupado, y que el DTE pueda pedir un RTS. Algunos DTE´s deben tener un DCD entrante antes que ellos puedan operar. En este caso, esta señal debe ser traída desde el DCE, o proveída (p. ej. desde DTR) por un corto, localmente al DTE.

  • 15 TC, Transmit Clock, Reloj de transmisión.

Este pin provee el reloj para la sección de transmisor de un DTE sincrónico. Debe estar presente sobre las interfaces sincrónicas. Puede o no correr al mismo rango que corre en el receptor.

  • 17 RC, Receiver Clock, Reloj de recepción.

Este pin provee el reloj para la sección de receptor de un DTE sincrónico. Ambos TC y RC son provistos por el DCE. Al igual que TC, este circuito debe estar presente sobre las interfaces sincrónicas. Puede no correr al mismo rango de clock que el del transmisor.

  • 20 DTR, Data Terminal Ready, Terminal de datos listo.

Esta línea provee la señal que informa al DCE que el DTE está vivo y bien. Es normalmente puesta a ON por el DTE al encenderse este. Un DCE típico deberá tener un DTR entrante a fin de desempeñarse normalmente. Esta señal deberá ser traída desde el DTE, o proveído por un corto localmente al DCE si no existe (p. ej. desde DSR). Sobre el lado del DTE, esta señal está casi siempre presente, y puede volverse atrás (p. ej. a DSR, CTS o DCD) para satisfacer las señales, (p. ej. “hand shaking”) requeridas, cuya función tampoco está implementada.

En un canal asíncrono, ambos extremos proveen su clock interno propio, mientras estén dentro de un rango del 5%, el uno del otro, el cual es suficiente para estar de acuerdo cuando los bits pertenecen a un carácter simple. En este caso, no necesita ser enviada ninguna información de clock sobre la interface entre los dos dispositivos. En un canal sincrónico, sin embargo, ambos extremos deben estar de acuerdo cuando ocurre la salida y llegada de los bits ya que posiblemente se trate de millares de caracteres. En este caso, ambos dispositivos deben usar los mismos relojes.

El transmisor y el receptor pueden correr a diferente tasa de transmisión y recepción pero ambos relojes deben ser proveídos por el DCE. Cuando, por ejemplo, se está en un terminal sincrónico conectado por medio de un puerto a un módem, (también sincrónico) y en el otro extremo hay otro módem y una computadora con un puerto (igualmente sincrónico), y la terminal transmite; es el módem de la terminal quien proporciona el Transmit Clock. El cual es generado directamente, por fuera de la terminal de este extremo. El módem codifica el reloj con los datos y los envía al módem remoto, quien recupera el clock por fuera del Recive Clock de la computadora. Cuando la computadora remota transmite, lo mismo sucede en la otra dirección. De aquí en adelante, cualquier módem de la transmisión deberá abastecer el clock para esa dirección, pero sobre cada extremo.

Todo lo anterior se aplica para conectar un DTE al DCE. A fin de conectar dos DTE, es común y suficiente usar un cable cruzado, (flipped), en que los pares (TD, RD), (RTS, CTS) y (DTR, DSR) se han enlazado. De aquí en más, el TD de un DTE se conecta al RD del otro DTE, y viceversa. Puede ser necesario conectar diversas líneas desde DTR sobre cada extremo, con el fin de que ambos trabajen apropiadamente. De forma similar, dos DCE´s pueden ser interconectados el uno con el otro.

Para resolver problemas con la interface se puede utilizar cajas de chequeo con leds. Éstas se colocan entre el DTE y el DCE. Primeramente, permite controlar la condición de las líneas que se iluminan sobre una señal ON o “0 lógico”, y mirar los datos consecutivos sobre TD y RD. Permite también romper la conexión sobre una o más líneas y hacer cualquier tipo de cruce con la interconexión de puentes. Con este mecanismo, es fácil determinar que línea o líneas no funcionan como debiera, y construir rápidamente un prototipo de un cable que servirá para resolver la conexión de los dos dispositivos.

Limitaciones de la RS-232 C

La RS-232 C tiene una limitación de distancia máxima de 15 metros. Si bien no es una desventaja considerable cuando los equipos a conectar se encuentran cerca, si es un inconveniente cuando la RS-232 se utiliza para conectar directamente terminales o impresoras que puedan estar lejanas.

Cuando una señal cambia de una condición a otra, la especificación limita el tiempo que puede permanecer en la región de transición. Este requerimiento determina el máximo de capacidad distribuida admisible en el cable, porque la capacidad limita el tiempo de transición de la señal. La norma RS-232 especifica que la capacidad en la línea no debe superar los 2.500 picofaradios. Los cables que se suelen utilizar tienen una capacidad de 120 a 150 picofaradios por metro de longitud, por lo que la RS-232 tiene como límite de 15 m de distancia, como se vio anteriormente.

Una segunda limitación de la RS-232 es su método de toma de tierra o retorno común. Este método, llamado transmisión no balanceada, funciona bien la mayor parte del tiempo. Sin embargo, si hay diferencia de potencial entre los dos extremos del cable (lo cual es bastante probable en recorridos largos), se reduce la región de transición entre marca y espacio. Cuando ocurre esto, existe la posibilidad que no se interpreten bien los distintos estados de la señal.

Otra dificultad es su máximo de 20 Kbts. para la velocidad de transmisión. Si bien en el momento de aparición del estándar era suficiente, en la actualidad, comparando con las velocidades alcanzadas por las redes de área local, 10 y 100 Mbts. y las exigencias de ancho de banda que las aplicaciones requieren, la RS-232 C en algunos casos está disminuyendo su aplicación.

A partir de la RS-232 se desarrollaron nuevas interfaces que pretenden transmitir a mayor velocidad alcanzando mayor distancia. Estas nuevas interfaces como la RS-422 y la RS-423 eliminan algunas de las restricciones de la RS-232, por ejemplo, la de poseer un retorno común para todas las señales.


Enlaces externos