En el pasado post introdujimos algunos conceptos generales sobre la tecnología de módems analógicos, su diagrama de bloques y velocidad de transmisión y modulación.
En el post de hoy veremos el interfaz RS232, los formatos de datos entre módem y terminal síncrono y asíncrono y los tipos de control de flujo.
Interfaz RS232
Cuando hablamos de un interfaz RS232 englobamos dos conceptos. Los niveles eléctricos de las señales en dicho interfaz que vienen determinados por el estándar ITU V.28 y el significado de los diferentes circuitos o señales que viene determinado por el estándar ITU V.24.
V.28 define niveles eléctricos para los dos estados posibles de la señal. un '0' se codifica con un nivel entre -15Vdc y -5Vdc y un '1' con un nivel entre 5Vdc y +15Vdc.
V.24 define el significado de los diferentes circuitos o señales del interfaz RS232 según la siguiente tabla:
Señales de control
Aparte del significado de los diferentes circuitos debemos destacar la penúltima columna 'Origen' que nos indica qué elemento terminal (ETD) o módem (ETCD) la origina. Así, cuando hablamos del circuito de transmisión (TD o 103) tiene como origen el ETD. Por tanto, nos referimos a la transmisión de datos del ETD hacia el ETCD.
Null-modem
Cuando conectamos un ETD y un ETCD con un cable serie RS232 utilizamos un cable directo o pin-a-pin, es decir, el pin 2 (DB25) del ETD se conecta al pin 2 (DB25) del ETCD. Este pin es una salida en el lado ETD y una entrada en el lado ETCD.
Cuando conectamos entre sí dos ETDs o dos ETCDs entonces necesitamos un cable 'null-modem' donde cruzamos, como mínimo, los pines de transmisión y recepción. Es decir, el pin 2 de un extremo debe ir al pin 3 del otro extremo y viceversa. De esta forma nos aseguramos de conectar la salida de un extremo (pin2, TD) con la entrada del otro extremo (pin 3, RD)
Señales de control
Además de las señales de datos (TD y RD) tenemos las señales de control:
- DTR - la activa el ETD para indicar su presencia o disponibilidad
- RTS - la activa el ETD para indicar al ETCD que quiere transmitir datos hacia línea (imprescindible para control de portadora en modulaciones simplex o half dúplex)
- CTS - la activa el ETCD como respuesta al RTS para indicarle al ETD que ya está listo para recibir los datos a enviar a línea
- DCD - la activa el ETCD para indicar la recepción de portadora (señal modulada) del módem remoto
- RI - se activa con cada RING en llamada entrante en modo RTC
- ALBT, RDLT - circuitos para que el ETD instruya al módem a activar un bucle local o bucle digital remoto (veremos los bucles en el siguiente post)
- TM - la activa el ETCD para indicar que está en modo bucle
Señales de reloj
En modo síncrono, los datos deben sincronizarse con una señal de reloj que nos indica la velocidad a la que debemos transmitir o recibir el tren de bits del interfaz serie. En el punto siguiente veremos los diferentes tipos de reloj posibles.
Formato de datos entre ETD y ETCD
Los módems analógicos soportan dos tipos de transmisión en función de cómo encapsulemos los datos a transmitir: formato asíncrono y formato síncrono
Formato asíncrono
En este formato la información se agrupa en caracteres o palabras con el siguiente formato
Reposo: estado previo de la línea (nivel alto o '1')
- START define el principio del carácter (nivel bajo o '0')
- PARIDAD (Par/Impar/Marca/Espacio) permite detectar un número impar de errores
- DATOS: tren de datos que puede contener normalmente de 5 a 8 bits y sobre el que se calcula la paridad
- STOP define el final del carácter y el espacio mínimo entre caracteres (nivel alto o '1')
Formato síncrono
En este caso los bits se transmiten y reciben directamente sin estructura alguna a ritmo de una señal de reloj que determina la velocidad y el instante de muestreo.
En la figura anterior vemos que el instante medio de cada bit coincide con el flanco de subido del reloj mientras que el final de cada bit coincide con el flanco de bajada del reloj. Dicho de otro modo, el transmisor de los datos introduce el bit con el flanco de bajada del reloj mientras que el receptor de los datos debe interpretar el bit recibido con el flanco de subida. Al hacerlo en este instante se asegura de estar en el momento intermedio del pulso de forma que ante distorsión telegráfica o desplazamiento 'slip' entre datos y reloj muestrearemos la señal en el punto óptimo con menor probabilidad de error.
En toda transmisión síncrona entre terminal y módem tenemos dos relojes. El reloj de transmisión que sincroniza los datos de transmisión (TD, de ETD a ETCD) y el reloj de recepción que sincroniza los datos en recepción (RC, de ETCD a ETD).
El reloj de recepción es la señal RC o circuito 115 y siempre lo entrega el ETCD ya que se obtiene de la señal demodulada de línea analógica.
Sin embargo en transmisión tenemos dos opciones:
- reloj interno o TC (114): lo proporciona el ETCD
- reloj externo o ETC (113): lo proporciona el propio ETD
Si queremos conectar dos ETD o ETCD entre sí para transmitir datos síncronos tendremos que cruzar aparte de los datos también los relojes. Por ejemplo: para conectar dos ETDs, el circuito 113 de cada uno de ellos tendrá que conectarse al circuito 115 del otro extremo. La conexión de dos ETCDs es más compleja ya que como vimos anteriormente el reloj de recepción siempre lo da el propio ETCD y por tanto no podemos cruzarlo con ningún otro circuito en el ETCD remoto. En la práctica, las conexiones síncronas entre módems sólo pueden funcionar cuanto tenemos un único reloj en todo el sistema, es decir, tenemos idéntico reloj para transmisión y recepción de forma que podemos usar el reloj interno de ambos dispositivos ya que son idénticos.
Modos directo y bufferizado
En modo síncrono la velocidad de datos entre el ETD y el ETCD es la misma que entre el ETCD local y el ETCD remoto ya que es el propio reloj el que se transmite, modulado, entre ambos módems.
Sin embargo, en transmisiones asíncronas, podemos tener velocidades distintas. Por ejemplo, podemos tener una velocidad en el puerto serie de nuestro PC de 115200bps y como sabemos no es posible alcanzar esta velocidad de comunicación entre módems.
Si las velocidades son idénticas podemos usar el modo directo en el módem. Si las velocidades son diferentes deberemos usar el modo bufferizado que como su nombre indica consiste en que el módem dispone un buffer para almacenar los datos que recibe del ETD local y otro buffer para almacenar los datos que recibe del ETCD remoto. Como podemos suponer si la velocidad del terminal es superior a la velocidad de comunicación entre ambos módems el primer buffer acabará llenándose. Para evitarlo existen los mecanismos de control de flujo que consisten en que el módem informa al ETD de que su buffer está a punto de llenarse y por tanto debe dejar de transmitirle datos. Es un mecanismo similar en su concepto a las tramas de pausa en Ethernet. Existen básicamente dos mecanismos de control de flujo:
- control de flujo hardware (RTS/CTS): el módem desactiva la señal CTS y el terminal debe dejar de transmitir datos al módem hasta que éste vuelva a activarla cuando haya vaciado el buffer
- control de flujo software (XON/XOFF): el módem informa al terminal enviando un carácter XOFF (ASCII 19) que deje de transmitir datos y cuando ha vaciado el buffer envía un carácter XON (ASCII 17) para notificar al ETD que puede volver a enviar datos. Este mecanismo tiene una limitación y es que el flujo de datos no puede contener estas combinaciones ASCII.
No hay comentarios:
Publicar un comentario