Comunicación Asincrónica

Es la comunicación que ocurre cuando no se toma en cuenta el tiempo en la comunicación. Por ejemplo, es la comunicación de un terminal a una computadora central: el usuario puede enviar los datos en intervalos impredecibles.

 

Conceptos Generales:

-         Los datos se guardan en forma binaria (ejemplo: la letra S se guarda 1010011)

-         Los datos se transmiten en forma serial, bit por bit, en 0 y 1.

-         Un “mark” es cuando se transmite el 1.

-         Un “space” es cuando se transmite el 0.

-         Tanto el DTE que transmite como el que recibe deben hacerlo a la misma velocidad de línea o velocidad de canal (line speed).

-         La velocidad de una línea asincrónica se mide en bits per second (bps). Las velocidades más comunes son 1200 bps, 2400 bps y 9600 bps.

 

Cómo se realiza la comunicación:

-         Todos los DTE se mantienen en el estado “mark”.

-         Para avisar que comienza la comunicación se envía un “start bit”:

o       Cambia el canal de “mark” a “space”.

o       El tiempo de transmisión del start bit es igual al tiempo de transmisión de cada bit de dato.

o       Cuando se recibe el start bit, ambos DTE son sincronizados para el tiempo que toma enviar el byte de dato.

-         Una vez el byte de datos es recibido, el DTE que lo recibe lo debe procesar, o sea convertirlo de serial a paralelo.

-         Si el DTE que envía sigue enviando bytes mientras el DTE que recibe está procesando, se van a perder algunos bytes.

-         Por eso se envía uno o varios “stop bits” al final de cada byte de dato.

-         El stop bit es el tiempo que el DTE que transmite debe esperar antes de enviar el próximo byte.

-         Stop bits comunes: 1 bit, 1 ½ bits, 2 bits

-         El stop y el start bit crean el “frame” del byte de dato.

 

Errores en la comunicación:

A veces los bits pueden cambiar de 1 a 0 o viceversa por alguna interferencia en el canal (como noise). El DTE que envía o recibe no tiene forma de saber si un bit fue transmitido correctamente. Se puede trasmitir el bit dos veces, pero si son diferentes no se sabe cuál es el correcto; y si son iguales no se sabe si el error ocurrió en los dos. Retransmitir todo el byte es muy costoso y tampoco asegura evitar errores.

Una alternativa para detectar errores es sumar todos los bits y determinar si la suma es par o impar. Este resultado se puede transmitir en un solo bit, llamado “parity bit”, transmitido junto al frame, después del último bit de datos y antes del “stop bit”. Los dos tipos de parity más conocidos son:

-         Odd parity (impar) – la suma de todos los bits, incluyendo el parity bit, es impar.

à        Si la suma de los datos es par, el parity bit es 1. (letra S 1010011, parity bit 1)

à        Si la suma de los datos es impar, el parity bit es 0. (letra L 1001100, parity 0)

-         Even parity (par) – la suma de todos los bits, incluyendo el parity bit, es par.

à        Si la suma de los datos es par, el parity bit es 0. (letra S 1010011, parity bit 0)

à        Si la suma de los datos es impar, el parity bit es 1. (letra L 1001100, parity 1)

 

El DTE que recibe sabe que hay un error si la suma de los bits es incorrecta. Este error se conoce como “parity error”. El DTE que transmite y el que recibe deben usar el mismo parity.

 

Otros tipos de parity:

-         None – no se transmite ningún parity bit. Se usa para enviar grandes cantidades de datos.

-         Mark parity – El parity bit siempre se transmite con valor de 1 (mark). Si no tiene ese valor, ocurre un error.

-         Space parity – El parity bit siempre se transmite con valor de 0 (space). Si el parity no tiene ese valor, hay error en la comunicación.

 

Otros errores en un canal asincrónico:

-         Overrun error – Ocurre cuando el DTE que recibe no procesa los datos con la rapidez necesaria. Se puede evitar reduciendo la carga de procesamiento o reduciendo la velocidad del canal.

-         Framing error – Ocurre cuando el DTE que recibe no puede detectar el fin del frame. Este error puede ser causado por ruido (noise), que haya invertido el stop bit o el start bit.

 

Condición de Break – Sucede cuando el usuario oprime la tecla Break del teclado, interrumpiendo la transmisión.

 

Cuando se transmite datos, se usa un equipo para convertir el byte de paralelo a serial. Este equipo se llama Universal Asynchronous Receiver/Transmitter (UART). Las computadoras personales tienen por lo menos un UART, llamado interfase serial, puerto o salida serial (serial port) o asynchronous communication adapter. Cuando dos DTE se conectan, necesitan que la información sea convertida a una señal que pueda alcanzar al DTE que recibe. Este proceso es realizado por un convertidor de niveles (level converter), que codifica la información en señal eléctrica.