Вы находитесь на странице: 1из 8

Tema 3.

Transmisin de Datos

Tema 3. Transmisin de Datos

Tema 3. Transmisin de Datos


La comunicacin de datos consiste en el intercambio de informacin codificada digitalmente entre dos dispositivos terminales de datos (DTE), que pueden estar conectados en el mismo enlace, como una red de rea local, o a travs de redes de portadora pblica como PSTNs, PSDNs o ISDN. Recordemos, que denominaremos datos al conjunto de caracteres alfanumricos codificados digitalmente que intercambian dos dispositivos, e informacin a lo que el usuario realmente desea transmitir. En transmisin de datos, adems de la informacin de usuario, es necesaria la adicin de una serie de datos de control para asegurar la fiabilidad de la transmisin y la correcta extraccin de la informacin en el otro extremo, como bloques de control de errores, control de sincrona, etc. En este captulo revisaremos las tcnicas empleadas para conseguir una transmisin confiable a travs de un medio de transmisin de bits en serie que conecta dos equipos terminales de datos, que denominaremos enlace de datos, pudiendo ser ste cualquiera de los medios fsicos estudiados: cable, fibra ptica u ondas de radio.

1 Fundamentos de la transmisin de datos


Cuando se introducen caracteres en un ordenador a travs del teclado, estos son codificados en binario a un formato estndar para el intercambio de informacin. Para ello se emplean tablas de cdigos que convierten estos caracteres alfanumricos a un cdigo binario de 7 u 8 bits, que permiten codificar 128 o 256 caracteres respectivamente. Las dos tablas ms empleadas son: EBCDIC (Extended Binary Coded Decimal Interchange Code) o cdigo ampliado decimal codificado en binario, que es un cdigo de 8 bits propietario de IBM y empleado en la mayora de sus equipos. ASCII (American Standard Code for Information Interchange) del Comit estadounidense de normas para el intercambio de informacin. Este cdigo es el mismo que el definido por la ITU-T (IA5: Internacional Alphabet number 5) y el ISO 645. Se trata de un cdigo de 7 bits y se puede observar en la figura 1. Es el sistema de codificacin ms ampliamente extendido.

Controles Disp. Fsico: formato BS: Backspace HT: Horizontal Tab LF: Line Feed VT: Vertical Tab FF: Form Feed CR: Carriage Return Controles Disp. Fsico: otros BEL: Bell DC1, DC2, DC3, DC4: No assigned meaning in ASCII, but DC1 and DC3 are used for XON and XOFF in most software handshaking schemes. Controles lgicos para comunicaciones SOH: Start of Header STX: Start of Text ETX: End of Text EOT: End of Transmission ENQ: Enquiry

ACK: Acknowledge DLE: Data Link Escape NAK: Negative Acknowledge SYN: Synchronous Idle ETB: End of Transmission Block Controles para comunicacin fsica NUL: Null DEL: Delete CAN: Cancel EM: End of Medium SUB: Substitute Separadores de Informacin FS: File Separator GS: Group Separator RS: Record Separator US: Unit Separator Controles para extensiones de cdigo SI: Shift In SO: Shift Out ESC: Escape

Figura 1. Tabla de cdigos ASCII y relacin de caracteres de control. Estos caracteres son de entrada/salida para la transmisin, pero una vez recibidos en una mquina, lo normal es que se conviertan y almacenen a un formato binario de longitud fija (de 8, 1, 32 o 64 bits). Llamaremos byte a un grupo de 8 bits y palabra a un patrn ms largo, que depender del tipo de mquina. La transmisin de datos se hace en mltiplos de 8 bits (en bytes) que pueden representar octetos imprimibles en cdigo binario o bien parte de una palabra del computador, en cuyo caso no tienen por qu representar caracteres imprimibles.

En estas tablas podemos distinguir dos tipos de caracteres: Caracteres imprimibles, correspondientes a los alfabticos, numricos y signos de puntuacin normales. Caracteres no imprimibles. Se trata de un conjunto de caracteres adicionales de control como: - Control de formato. - Separadores de informacin. - Control de transmisin.

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

Tema 3. Transmisin de Datos

Tema 3. Transmisin de Datos

1.3 Transmisin de bits


Existen dos formas de transmitir los bits de datos entre equipos, en funcin del nmero de hilos empleados para la transmisin de una palabra: Transmisin en paralelo: se emplea un hilo para cada bit de la palabra. Slo se utiliza cuando las distancias de transmisin son pequeas (dentro de un equipo o con perifricos cercanos), y supone un retardo muy pequeo en el envo de cada palabra. Su coste sera muy elevado para redes de comunicacin con longitudes de cables superiores a unos pocos metros. Transmisin en serie: se emplea un solo par de hilos para enviar los bits de un octeto uno por uno a intervalos fijos de tiempo.
Bit de inicio
1 Lgico 0 Lgico LSB MSB

7 u 8 bits de datos

Bit de paridad

Detecc. nuevo carcter

Muestreo de cada bit en el centro de celda

Bit(s) de parada. Garantiza transicin negativa al inicio del siguiente carcter

Figura 2. Transmisin asncrona.

1.4 Modos de transmisin


Normalmente la transmisin de datos se realiza en grupos de longitud fija, habitualmente de 8 bits (bytes u octetos). El receptor de estos datos deber ser capaz de identificar: Dnde comienza cada bit, para muestrear la seal elctrica que lo codifique en el centro de cada celda. Dnde empieza y termina cada byte, para obtener el mismo patrn de 8 bits que transmiti el emisor. Dnde empieza y termina cada trama o bloque de mensaje completo.

Para comprender mejor el funcionamiento de este modo de transmisin vamos a estudiar todo el proceso seguido desde la generacin de los caracteres en el DTE hasta su recepcin y procesamiento en el segundo dispositivo DTE (figura 3). Como se coment con anterioridad, en el enlace de datos los bits son transmitidos en serie agrupados en conjuntos de 8 bits (bytes o caracteres). Por el contrario, en el DTE los datos son tratados en paralelo (palabra interna del procesador), por lo que los circuitos de interfaz de la capa fsica debern realizar las siguientes funciones: Conversin paralelo a serie de cada carcter que se desee transmitir por el enlace de datos. Dicha conversin se realiza mediante un registro de desplazamiento de entrada en paralelo y salida serie (PISO: parallel-in, serial-out). Conversin serie a paralelo de cada carcter recibido por el enlace de datos. Dicha conversin se realiza mediante un registro de desplazamiento con entrada serie y salida paralelo (SIPO: serial-in, parallel-out). Generacin de los bits de inicio, parada y paridad, necesarios para la sincronizacin de bit y carcter, as como para la deteccin de errores. En inactividad, la lnea permanece en estado de marca (1 lgico), y el inicio de cada carcter se detecta por la transicin 10 provocada por el bit de inicio, que origina un flanco descendente para informar al receptor del comienzo de la transmisin de ese carcter. A continuacin el receptor muestrear lo ms cerca posible del centro de cada bit, para lo cual emplea un reloj interno N veces mayor (p.e. 16) a la velocidad de transmisin, previamente acordada. A continuacin, y mediante el empleo de un contador, se cuentan N/2 pulsos de reloj en el receptor para muestrear en el centro del primer bit, y para los siguientes se realizan conteos de N bits. Con ello se garantiza un muestreo que coincida aproximadamente con los centros de bits (hay que tener en cuenta que el receptor funciona de manera asncrona respecto del emisor). El bit de parada (siempre nivel lgico 1) garantiza el regreso de la lnea al estado de marca para que el bit de inicio del siguiente carcter vuelva a provocar un flanco descendente, de modo que se produzca de nuevo la sincronizacin y se repita todo el proceso. Al producirse sincronizacin al principio de cada carcter se evita que las posibles desviaciones entre los relojes del emisor y el receptor se acumulen durante la transmisin de tramas completas de datos.

Esto es lo que se conoce como sincronizacin de reloj o de bit, sincronizacin de byte o carcter y sincronizacin de bloque o trama respectivamente. La sincronizacin entre equipos se puede realizar de dos maneras, dependiendo que los relojes del emisor y el receptor sean independientes o estn sincronizados, de modo que la transmisin puede ser: Asncrona. Los relojes son independientes y el receptor se resincroniza al principio de cada carcter recibido para conseguir la sincrona de reloj o bit. Sncrona. Todo el mensaje o trama de datos se transmite como una cadena de bits contiguos, y el receptor debe mantener la sincrona en cada bit hasta el final de la trama.

1.5 Transmisin asncrona


La transmisin asncrona se emplea cuando los datos se transmiten a intervalos aleatorios, de modo que el receptor debe ser capaz de resincronizarse al inicio de cada nuevo carcter que reciba. Para ello cada carcter debe ir precedido de un bit de inicio y seguido de uno o ms bits de parada, como se muestra en la figura 2. Este modo es el empleado, por ejemplo, en la transmisin de caracteres entre un teclado y un ordenador, as como en la norma de interfaz RS 232 para la conexin de DTE con DCE o incluso para la comunicacin de datos entre dos ordenadores (DTE-DTE). En este caso, a continuacin de cada bit de parada seguira el bit de inicio del siguiente carcter sin retardo adicional hasta completar el bloque completo de datos.
Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

Tema 3. Transmisin de Datos

Tema 3. Transmisin de Datos

Cuanto mayor sea la frecuencia del reloj del receptor, se podr muestrear con mayor precisin en el centro de cada bit. Este modo de operacin limita la velocidad de transmisin mxima, que no suele superar los 19,2 kbps.
Emisor
PISO

Receptor
SIPO

1 1 paralelo msb lsb

TxC

Contador + N

1 1

0 lsb msb paralelo

En el caso de transmisiones binarias, los caracteres de principio y fin de tarma van precedidos por el carcter de escape de enlace de datos DLE (Data Link Escape). As, como se muestra en la figura 4, el inicio de bloque se delimita por DLE-STX y el final por DLE-ETX. En el caso de que alguno de los bytes intermedios coincidiera con el cdigo correspondiente a DLE, el emisor insertara un segundo cdigo DLE, de modo que el receptor podr diferencial de manera unvoca entre cdigos de escape del enlace de datos, que irn seguidos por STX o ETX y datos que coinciden con un DLE, que llegarn de dos en dos (una vez identificado, el receptor eliminar el byte duplicado). Este esquema de sincronizacin de trama es el mismo que se emplea en transmisiones sncronas (suprimiendo, lgicamente, los bits de inicio y parada para cada byte).

RxC=NTxC

Figura 3. Principio de funcionamiento en transmisin asncrona.

1.6 Transmisin Sncrona


Sincronizacin de trama Cuando se transmiten bloques de caracteres (o bytes), tambin denominados tramas de informacin, es necesaria, adems de la sincronizacin de bit y de byte o carcter, la sincronizacin de trama; el receptor debe saber cundo comienza y termina la trama, compuesta por una serie de caracteres consecutivos. Para ello, es habitual utilizar un carcter de inicio de trama STX que indique dnde comienza el bloque, y un carcter de fin ETX para delimitar el final. Este mtodo, ilustrado en la figura 4, es vlido nicamente en el caso de que se estn transmitiendo caracteres imprimibles (caracteres alfanumricos). Pero qu ocurrira si transmitimos datos internos del procesador (p.e. palabras internas de 8 bytes convertidas a caracteres de 8 bits) cuya representacin no tiene por qu ser imprimible?. Podra darse el caso de que uno de ellos coincidiera con la codificacin correspondiente al carcter de fin de trama ETX y se finalizara errneamente la recepcin. Tal es el caso de transmisin de datos binarios que pueden corresponder con ficheros, nmeros en formato entero o de tipo mantisa-exponente, que son directamente enviados por el enlace de datos. El modo de transmisin asncrono presenta una serie de inconvenientes que lo hacen poco apropiado cuando se pretende conseguir velocidades de transmisin elevadas con un aprovechamiento eficiente del canal de comunicacin. Entre otras: Son necesarios una serie de bits adicionales de sincrona para cada carcter enviado (un bit de inicio y entre uno y dos bits de parada), que suponen, como mnimo, un 20% de los datos. Lo que la hace especialmente ineficiente en la transmisin de grandes bloques de datos. El mtodo de sincronizacin obliga a emplear un reloj en el receptor con frecuencia N veces mayor a la del emisor, lo que limita considerablemente la tasa mxima de transferencia.

Por ello es muy frecuente el empleo de tcnicas de transmisin sncrona en redes de comunicacin de datos. En este caso el reloj del receptor funciona de manera sncrona con la seal recibida, al contrario que ocurra en modo asncrono. Para ello se utiliza una de las dos siguientes tcnicas: Bien el sistema de codificacin integra informacin de la seal de reloj, que el receptor extrae para generar su reloj de recepcin. Tal es el caso de la codificacin de tipo Manchester empleada en redes Ethernet. O bien el receptor tiene un reloj interno que se mantiene sincronizado mediante un dispositivo denominado lazo de fijacin de la fase digital (DPLL: Digital Phase lock loop), que aprovecha las transiciones de 10 y de 01 de la seal recibida para mantener la sincrona de bit.

(a)

Bit inicio

Bit parada H O L A ETX Carcter Fin trama


DLE ETX

STX
(b)

Carcter Inicio trama


DLE STX

Sincronizacin de Trama Para la sincronizacin de trama o bloque se utilizan tcnicas similares a las descritas en transmisin asncrona. El bloque se delimita por un carcter de inicio (STX) y un carcter de fin (ETX) en el caso de caracteres imprimibles. Si se transmiten datos binarios se inserta el carcter de escape de enlace de datos previamente a la utilizacin de STX o ETX.

Figura 4. Sincronizacin de trama en transmisin asncrona: (a) caracteres imprimibles; (b) datos binarios.

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

Tema 3. Transmisin de Datos

Tema 3. Transmisin de Datos

Trama transmitida 1 00 1 00 1 0

As, podemos obtener el coeficiente de redundancia (proporcin de datos de control) como: bits control 424 R= = = 0,35 bits control + bits datos 10212

es decir, un 35% de los datos enviados son de control. Por lo tanto, la velocidad de transferencia ser:
Caracteres o bytes de sincrona Carcter de inicio de trama

Contenido de la trama

Carcter de fin de trama

Caracteres o bytes de sincrona

Vtransf=Vt(1-R)=1200(1-0,53)=784 bps b) En este caso no hay bits para sincrona en cada carcter, con lo que los bits adicionales sern los correspondientes a los dos bytes de sincrona iniciales y los caracteres de inicio y fin de trama (STX y ETX). Por lo tanto, los bits adicionales sern: (2+1+1)8 = 32 bits Podemos obtener el coeficiente de redundancia: R= bits control 32 = = 0,04 bits control + bits datos 32 + 1008

Figura 5. Transmisin sncrona. Pero en el caso de transmisin sncrona es necesario mantener en todo momento la sincrona, de modo que es fundamental que antes del inicio de un bloque de datos los dispositivos se encuentren sincronizados. Para ello se puede emplear una de las dos siguientes tcnicas: Incluir, antes del inicio de trama, uno o dos bytes especiales de sincronizacin, para que el receptor recupere la sincrona de bit y de byte (figura 5). Realizar transmisin de caracteres continuamente en los periodos de inactividad entre las transmisiones para mantener la sincrona de bit y byte en el receptor. A esto se le conoce como inactividad sncrona.

es decir, tan slo un 4% de los datos enviados son de control. La velocidad de transferencia ser: Vtransf=Vt(1-R)=1200(1-0,04)=1152 bps En este ejemplo se puede apreciar la diferencia en cuanto a eficiencia en la transmisin entre ambos modos cuando los bloques de datos enviados son grandes. El modo sncrono requiere una cantidad de bits de control muy inferior, ya que no requiere la repeticin de los bits de sincrona (inicio y parada) para cada byte. Esto hace que el aprovechamiento del canal de comunicacin sea mucho ms eficiente.

Ejemplo 1: Calcular el nmero de bits adicionales requeridos para transmitir por un enlace de datos un mensaje compuesto por 100 caracteres de 8 bits en cada uno de los siguientes modos de transmisin. Si la velocidad de modulacin o transmisin es de 1200 bps, obtener la velocidad de transferencia (de informacin til) en cada uno de los casos: a) Modo asncrono con 1 bit de inicio, 1 bit de paridad y dos de parada por carcter. Adems de un carcter de inicio de trama y uno de fin (STX y ETX) para conseguir la sincrona de bloque. b) Modo sncrono con 2 bytes de sincrona, 1 carcter de inicio de trama y 1 carcter de fin de trama (STX y ETX). Solucin: a) Por cada carcter que se transmite tenemos: 1+1+2 = 4 bits adicionales, que estarn presentes para todos los caracteres transmitidos, puesto que se trata de transmisin asncrona y son necesarios para mantener la sincrona de bit y byte. Luego el total de bits adicionales ser: 4100 + 2(4+8) = 424 bits que corresponden a 4 bits por cada uno de los 100 datos enviados, ms los caracteres de inicio y fin que slo contienen datos adicionales (los 4 bits por ser transmisin asncrona ms los 8 de datos que son para sincronizacin de trama).

2 Mtodos de deteccin y correccin de errores


Los mtodos de deteccin y correccin de errores son caractersticos del nivel de enlace (comunicacin fiable entre dispositivos comunicados a travs de un enlace de datos), aunque no exclusivos de ste. Como se indic en captulos anteriores, las seales que representan los datos, en muchos casos elctricas, circulan por un medio fsico sometido a ruidos y perturbaciones que pueden hacer que el receptor interprete errneamente los niveles recibidos. Por ello son necesarios sistemas que permitan detectar cuando se producen este tipo de errores para poner en marcha los mecanismos necesarios para corregirlos. Dependiendo de la tcnica empleada para recuperar los errores de la transmisin se distinguen:

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

Tema 3. Transmisin de Datos

Tema 3. Transmisin de Datos

Protocolos autodetectores. Se incluye informacin para que el receptor sea capaz de detectar que se ha producido un error. Estos protocolos se denominan tambin de correccin hacia atrs, puesto que en caso de error es necesario volver a transmitir los datos errneos. Tal es el caso del control de paridad, suma de comprobacin o cdigos de redundancia cclica (CRC). Protocolos autocorrectores. El receptor puede detectar y corregir el error automticamente. Para ello el mensaje debe contener informacin redundante que permita recuperar la informacin a pesar de los datos errneos. Estos protocolos son tambin denominados de correccin hacia delante, ya que no requieren la retransmisin del mensaje errneo para recuperar los datos (p.e. cdigos Hamming).

2.3.1 Control de paridad


Los errores en la transmisin se detectan utilizando uno o varios bis de paridad. Existen cuatro tipos de control de paridad: Par (Even). El nmero de bits de datos a 1 lgico ms el bit de paridad debe ser par. Impar (Odd). El nmero de bits de datos a 1 lgico ms el bit de paridad debe ser impar. Marca (Mark). El bit de paridad siempre vale 1. Espacio. El bit de paridad siempre vale 0.

Los protocolos autocorrectores requieren una gran cantidad de informacin adicional para la correccin de errores. Este hecho, unido a que las tasas de error en redes de comunicacin de datos son muy pequeas, hace que este tipo de tcnicas sea muy poco utilizado frente a los protocolos autodetectores o de correccin hacia atrs. A continuacin vamos a revisar algunas de las tcnicas ms empleadas para correccin de errores.

Por ejemplo, para el carcter codificado en binario con el valor 0110 1111 la paridad par valdra 0 y la impar 1. Con este sistema el receptor slo detectar un error en la transmisin si el nmero de bits que cambia como consecuencia de dicho error es impar. Vemoslo con un ejemplo: Ejemplo 2: Si el emisor enva el carcter 01101111 1 (impar) veamos qu ocurre en diferentes situaciones de error: Error en 5 bit: se recibe 01100111 0 detecta el error (cambia un bit) Error en 1 y 5 bit: se recibe 11100111 1 no detecta el error (cambian dos bits) De este modo, si fallaran los ocho bits de un carcter el error no se detectara. Se trata por lo tanto de un sistema poco fiable que se suele relegar al nivel fsico. Sin embargo, en los sistemas actuales la fiabilidad de la transmisin es tan alta que es improbable que se produzca ms de un bit de error en el mismo byte, por lo que en muchos casos es una tcnica aplicable. Existen dos formas de aplicar el control de paridad, dependiendo de si se quiere obtener un bit de paridad por byte o un byte de comprobacin completo para un bloque de datos: Paridad vertical (VRC = Vertical Redundancy Check). Consiste en obtener un bit de paridad para cada byte o carcter retransmitido. Paridad longitudinal u horizontal (LRC = Longitudinal Redundancy Check). Obtiene un byte de comprobacin para un mensaje o bloque de datos completo. Cada bit se determina calculado la paridad de los bits de igual peso en cada uno de los bytes del mensaje.

2.3 Sistemas autodetectores (correccin hacia atrs)


Estos protocolos permiten al equipo receptor comprobar si se ha producido un error en el mensaje transmitido. Para ello se realizan las siguientes operaciones: 1. El emisor toma el mensaje a enviar y calcula un valor de comprobacin (FCS: Frame Check Sequence) que enviar como parte de la trama. 2. El receptor toma el mensaje ms el valor de comprobacin y realiza los mismos clculos para obtener dicho campo de comprobacin. 3. Si los valores de comprobacin recibido y calculado coinciden se supone que la transmisin ha sido correcta. En el caso de que dichos valores de comprobacin (recibido y calculado) difieran, sabemos con un 100% de probabilidad que se ha producido un error en la transmisin, pero si dichos valores coinciden no es seguro que el mensaje recibido coincida con el original, aunque s muy probable. Esto es as porque el campo de comprobacin tambin se puede ver afectado por errores en la transmisin de tal modo que dichas alteraciones puedan inducir a validar datos errneos. Estos mtodos de deteccin de errores sern tanto ms fiables cuanto menor sea la probabilidad de que se produzcan errores no detectados y mayor nmero de bits errneos sean capaces de detectar. Vamos a revisar los principales sistemas que son: control de paridad, suma de comprobacin y cdigos de redundancia cclica (CRC).

Ejemplo 3: Supongamos que se transmite el mensaje HOLA. En la tabla adjunta se calcula la paridad vertical y longitudinal impar. La paridad vertical (VRC) se obtiene para cada carcter, y la longitudinal (LRC) se calcula para todo el mensaje:

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

10

Tema 3. Transmisin de Datos

Tema 3. Transmisin de Datos

Ejemplo 4: En paridad longitudinal (LRC) no se detectan errores por alteracin del orden de los bytes (HOLA tendr el mismo LRC que OHLA). b7 H O L A LRC 0 0 0 0 1 b6 1 1 1 1 1 b5 0 0 0 0 1 b4 0 1 0 0 0 b3 1 0 1 0 1 b2 0 0 1 0 0 b1 0 0 0 0 1 b0 0 1 0 1 1 VRC 1 1 0 1 0
Valida LRC frente a VRC

Vamos a obtener la suma de comprobacin de 8 bits para el mensaje ABCD. Para ello se sumarn los cdigos ASCII correspondientes a cada carcter, que en decimal son: 65+66+67+68 = 266 (en binario 1 0000 1010) 10 (en binario 0000 1010) Puesto que la suma supera el valor mximo para 8 bits (255) el resultado se trunca a 8 bits. Este sistema presenta tambin algunos inconvenientes. En primer lugar, no se detectan errores por alteracin de orden en los bytes de la trama (la suma de comprobacin para ABCD es la misma que para BADC). Y en segundo, si se produce un fallo sistemtico en un bit varios fallos lo pueden hacer parecer correcto, como se puede ver en el siguiente ejemplo: Ejemplo 5: Supongamos que calculamos la suma de comprobacin de 8 bits para la trama de dos bytes: 01001001 01110010 Suma comprobacin = 10111011 Si se producen dos fallos en b7, el receptor recibir:

Este sistema de deteccin es muy sencillo, el bit de paridad se puede obtener mediante la realizacin de operaciones XOR sobre los bits correspondientes (figura 6).
0 1 1 0 1 1 1 1

11001001 11110010 Suma comprobacin = 10111011


0

Que identificar como correcto. Esto se produce como consecuencia del efecto combinado de sumar dos errores en b7 (128+128=256) que producen un desbordamiento en el registro de 8 bits cuyo valor (truncado a 8) coincide con el del mensaje original. Lo mismo ocurrira con cuatro errores en b6, ocho en b5, etc.
0

No obstante, este sistema de deteccin es mucho ms fiable que el control de paridad, y es muy empleado en redes de comunicacin de datos por su simplicidad.
1

2.3.3 Cdigos de redundancia cclica


Paridad Par: 0 1 Paridad Impar

Figura 6. Obtencin de paridad mediante puertas XOR.

2.3.2 Suma de comprobacin (Checksum)


La suma de comprobacin se emplea para obtener un campo de comprobacin de errores para los diferentes datos que componen la trama. Para ello se suman todos los bytes a transmitir en un nico registro de 8, 16 o 32 bits, dependiendo del tamao deseado para el campo de comprobacin. Si la suma supera el valor mximo del registro, el valor quedar truncado al nmero de bits empleado en el mismo.

Los sistemas de deteccin anteriores son apropiados para aplicaciones en las que se producen errores aleatorios de un solo bit. Cuando se presentan rfagas de errores es necesario emplear tcnicas ms complejas. Una rfaga de errores se define como el nmero de bits entre dos bits errneos sucesivos, incluidos stos. Adems, para determinar la longitud de la rfaga, el ltimo bit errneo de una rfaga y el primero de la siguiente deben estar separados n bits, siendo n la longitud de la rfaga. Los cdigos de redundancia cclica utilizan polinomios generadores para la obtencin del campo de comprobacin. La teora matemtica en que se basan queda fuera del alcance de este libro, por lo que nos limitaremos a describir su funcionamiento, que se puede resumir en: Se emplea aritmtica de mdulo 2 para las operaciones, por lo que la resta de polinomios equivale a una operacin XOR. La obtencin del campo de comprobacin, denominado CRC o FCS (Frame Check Sequence) se puede realizar mediante operaciones XOR y desplazamientos.
Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

11

12

Tema 3. Transmisin de Datos

Tema 3. Transmisin de Datos

El mensaje de k bits a transmitir se representa por un polinomio M(x) de grado k-1, donde cada coeficiente representa un bit del mensaje: M(x) = bkxk-1 + bk-1xk-2 + + b0x0

La forma de representar el polinomio generador consiste en indicar las posiciones de los unos binarios como potencias de x. Algunos de los polinomios normalizados que se utilizan en comunicacin de datos son: CRC-16: x16 + x15 + x2 + 1 CRC-CCITT: x16 + x12 + x5 + 1 CRC-32: x32 + x26 + x23 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1

Para generar el CRC se emplea un polinomio generador G(x) de grado n con los bits de mayor y menor peso a 1. G(x) tiene n+1 bits, siendo n el nmero de bits de CRC a generar, es decir, el polinomio generador tiene un bit ms que el nmero de bits del campo de CRC que queramos obtener.

Para el clculo del campo de comprobacin de CRC (o FCS) se realizan las siguientes operaciones: Aadir r ceros al final de del mensaje, representado por M(x), que equivale a multiplicar por xn: M(x) xn M(x)
x n M ( x) Dividir por el polinomio generador: R ( x ) , operacin de la que se G ( x) obtiene el resto R(x), que representa el campo de CRC.

CRC-16 y CRC-CCITT se utilizan mucho en redes de rea extensa (WAN), y el CRC-32 se emplea redes de rea local (LAN). La eleccin de este polinomio, puesto que determinar los tipos de errores que es posible detectar. A continuacin se ilustra un ejemplo de clculo del CRC siguiendo las indicaciones descritas con anterioridad: Ejemplo 6: Supongamos que se transmiten tramas de ocho bits por un enlace de datos empleando CRC como protocolo detector de errores. El polinomio generador es 11001 (G(x) = x4 + x3 + 1) , vamos a ver: (a) Cmo generar el FCS/CRC. (b) Cmo comprobar el FCS en caso de recepcin correcta y con rfaga de error. El mensaje a enviar ser: 10011001 (M(x) = x7 + x4 + x3 +1) (a) Para generar el FCS o CRC: 1. Aadimos cuatro ceros a M(x), que equivale a M(x) x4 10011001 0000 2. Dividimos por G(x): 1110 10011001 1 1 0 0 1 010100 1 1 0 0 1 011010 1 1 0 0 1 000111 0 0 0 0 0 00111 0 0 0 0 0111 1 1 0 001 0 0 01 1 0 0 1 0 1 = Cociente (se ignora) 0000 11001

El emisor transmite T(x) = xnM(x) R(x), que representa el mensaje de datos al que se ha aadido el campo de CRC:
o T(x) contiene el mensaje en su parte de mayor peso y o el CRC en los r bits de menor peso. o Al haber restado R(x), T(x) es divisible por el generador G(x).

Si no hay error se recibir el mensaje transmitido, T(x). Como dicho mensaje es divisible por G(x), el receptor slo tendr que realizar la operacin:
T ( x) R' ( x) G ( x) Si el resto obtenido es 0, la recepcin ha sido correcta, si no, se habr producido un error.

Si hay error, se recibe T(x) + E(x) (mensaje ms error), y como T(x) es divisible por G(x), el resto se debe a la componente de error E(x), por lo tanto, si E(x) es divisible por G(x) el error no se detecta. Por ejemplo, si el error es de un bit, E(x)=xi, y si G(x) tiene ms de un trmino no puede dividir a E(x) y se detectan todos los errores de un bit.

En general, un polinomio generador de n bits detectar: Todos los errores de 1 bit. Todos los errores de 2 bits. Todos los errores de bit en nmero impar. Todas las rfagas de errores de longitud menor de n. La mayor parte de las rfagas de errores mayor que n.
13

0 0 00 01 010 000 0100 1001 1 1 0 1 = Resto = FCS/CRC

Trama = 10011001 Trama con ceros aadidos = 10011001 0000 Polinomio generador = 11001

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

14

Tema 3. Transmisin de Datos

Tema 3. Transmisin de Datos

Luego la trama transmitida ser T(x) = M(x)x4 R(x) 10011001 1101 (incluyendo el FCS). (b) A la recepcin dividimos la trama por el polinomio generador:
Recepcin correcta Recepcin con errores

Se define un tamao de ventana, normalmente potencia de 2, que determina el nmero de mensajes a enviar sin haber recibido reconocimiento (ACK) del primero. Una vez enviados los paquetes de la ventana, en el momento que se reciba ACK del primer envo se transmitir el siguiente paquete, cuando se reciba ACK del segundo se enviar el siguiente, y as sucesivamente, siempre manteniendo un mximo de n paquetes enviados en espera de confirmacin, siendo n el tamao de la ventana. En la figura 7 se ilustra este funcionamiento con una ventana de tamao 4.

1110 10011001 1 1 0 0 1 010100 1 1 0 0 1 011010 1 1 0 0 1 000111 0 0 0 0 0 00111 0 0 0 0 0111 1 1 0 001 0 0 01 1 0

0101 1101 11001

1 0 11 01 100 000 1001 1001 0000

1110 10011001 1 1 0 0 1 010100 1 1 0 0 1 011010 1 1 0 0 1 000111 0 0 0 0 0 00111 0 0 0 0 0111 1 1 0 001 0 0 01 1 0

0101 0100

Rfaga errores de 4 bits

Emisor Mensaje 1 Mensaje 2 Mensaje 3 Mensaje 4 Mensaje 5 Mensaje 6

Receptor ACK 1 ACK 3 ACK 4

0 0 01 01 000 000 0000 1001 1001

Figura 7. Ventanas deslizante (tamao 4).


El emisor enva los mensajes 1 al 4 sin esperar ACK. Hasta que no llega ACK del primero no se enva el mensaje 5, cuando llegue ACK2 se enva el mensaje 6 y as sucesivamente con el resto de mensajes. Si por alguna causa uno de ellos se perdiera o no llegara el reconocimiento, por ejemplo para el mensaje 2, la ventana quedar bloqueada y se realizar el reenvo del mensaje 2 cuando venza un temporizador programado para detectar reconocimientos no recibidos (con un tiempo superior al de ida del mensaje ms vuelta de ACK). Mientras tanto, se habrn recibido las confirmaciones para los mensajes 3, 4 y 5, de modo que en el momento que llegue la del mensaje 2, una vez realizado el reenvo, la ventana se desplazar cuatro posiciones, y se pasar a enviar los mensajes 6, 7 8 y 9.

Resto = 0 No hay errores

Resto 0 Hay errores

2.4 Protocolos de Ventanas Deslizantes


Los protocolos de ventanas deslizantes se utilizan para controlar el flujo de datos en protocolos de correccin hacia atrs (autodetectores). En estos sistemas, cuando se enva un paquete, el receptor responde con un cdigo de reconocimiento ACK (Acknowledge) o un cdigo de no reconocimiento NAK (paquete rechazado por existencia de error en el mismo). Cuando los retardos en la transmisin son importantes hay que establecer alguna modificacin en esta mecnica. Supongamos el caso de una transmisin con un enlace va satlite, en la que cada envo puede tener retardos de varios segundos; si para cada paquete de datos que enviamos hemos de esperar confirmacin la eficiencia de uso del canal ser bajsima, puesto que todo ese tiempo se podra haber aprovechado para enviar una gran cantidad de datos. En estos casos, en los que el retardo en la transmisin es elevado, se emplean los protocolos de ventanas deslizantes, que permiten enviar varios paquetes sin haber recibido el reconocimiento (ACK) de los anteriores. El funcionamiento se describe a continuacin:

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

15

Univ Politcnica de Cartagena. Departamento de Tecnologa Electrnica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jimnez Buenda.

16

Вам также может понравиться