You are on page 1of 8

Tema 3.

Transmisión de Datos

Tema 3. Transmisión de Datos

Tema 3. Transmisión de Datos
La comunicación de datos consiste en el intercambio de información 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 través de redes de portadora pública como PSTNs, PSDNs o ISDN. Recordemos, que denominaremos datos al conjunto de caracteres alfanuméricos codificados digitalmente que intercambian dos dispositivos, e información a lo que el usuario realmente desea transmitir. En transmisión de datos, además de la información de usuario, es necesaria la adición de una serie de datos de control para asegurar la fiabilidad de la transmisión y la correcta extracción de la información en el otro extremo, como bloques de control de errores, control de sincronía, etc. En este capítulo revisaremos las técnicas empleadas para conseguir una transmisión confiable a través de un medio de transmisión de bits en serie que conecta dos equipos terminales de datos, que denominaremos enlace de datos, pudiendo ser éste cualquiera de los medios físicos estudiados: cable, fibra óptica u ondas de radio.

1 Fundamentos de la transmisión de datos
Cuando se introducen caracteres en un ordenador a través del teclado, estos son codificados en binario a un formato estándar para el intercambio de información. Para ello se emplean tablas de códigos que convierten estos caracteres alfanuméricos a un código binario de 7 u 8 bits, que permiten codificar 128 o 256 caracteres respectivamente. Las dos tablas más empleadas son: • • EBCDIC (Extended Binary Coded Decimal Interchange Code) o código ampliado decimal codificado en binario, que es un código de 8 bits propietario de IBM y empleado en la mayoría de sus equipos. ASCII (American Standard Code for Information Interchange) del Comité estadounidense de normas para el intercambio de información. Este código es el mismo que el definido por la ITU-T (IA5: Internacional Alphabet number 5) y el ISO 645. Se trata de un código de 7 bits y se puede observar en la figura 1. Es el sistema de codificación más ampliamente extendido.

Controles Disp. Físico: formato BS: Backspace HT: Horizontal Tab LF: Line Feed VT: Vertical Tab FF: Form Feed CR: Carriage Return Controles Disp. Físico: 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 lógicos 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 comunicación física • NUL: Null • DEL: Delete • CAN: Cancel • EM: End of Medium • SUB: Substitute Separadores de Información • FS: File Separator • GS: Group Separator • RS: Record Separator • US: Unit Separator Controles para extensiones de código • SI: Shift In • SO: Shift Out • ESC: Escape

Figura 1. Tabla de códigos ASCII y relación de caracteres de control. Estos caracteres son de entrada/salida para la transmisión, pero una vez recibidos en una máquina, 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 patrón más largo, que dependerá del tipo de máquina. La transmisión de datos se hace en múltiplos de 8 bits (en bytes) que pueden representar octetos imprimibles en código 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 alfabéticos, numéricos y signos de puntuación normales. Caracteres no imprimibles. Se trata de un conjunto de caracteres adicionales de control como: - Control de formato. - Separadores de información. - Control de transmisión.

Univ Politécnica de Cartagena. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jiménez Buendía.

1

Univ Politécnica de Cartagena. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. Profesor: Manuel Jiménez Buendía.

2

• Generación de los bits de inicio. parallel-out). parada y paridad. Para comprender mejor el funcionamiento de este modo de transmisión vamos a estudiar todo el proceso seguido desde la generación de los caracteres en el DTE hasta su recepción y procesamiento en el segundo dispositivo DTE (figura 3). habitualmente de 8 bits (bytes u octetos). nuevo carácter Muestreo de cada bit en el centro de celda Bit(s) de parada. La sincronización entre equipos se puede realizar de dos maneras. en función del número de hilos empleados para la transmisión de una palabra: • Transmisión en paralelo: se emplea un hilo para cada bit de la palabra. de modo que el receptor debe ser capaz de resincronizarse al inicio de cada nuevo carácter que reciba. 1. En inactividad. serial-out). y para los siguientes se realizan conteos de N bits. Dónde empieza y termina cada trama o bloque de mensaje completo. 16) a la velocidad de transmisión. y el receptor debe mantener la sincronía en cada bit hasta el final de la trama. Transmisión asíncrona. Sólo se utiliza cuando las distancias de transmisión son pequeñas (dentro de un equipo o con periféricos cercanos).e. En este caso. necesarios para la sincronización de bit y carácter. en la transmisión de caracteres entre un teclado y un ordenador.Tema 3. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. 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 asíncrona respecto del emisor). como se muestra en la figura 2.4 Modos de transmisión Normalmente la transmisión de datos se realiza en grupos de longitud fija. Profesor: Manuel Jiménez Buendía. para lo cual emplea un reloj interno N veces mayor (p. así como en la norma de interfaz RS 232 para la conexión de DTE con DCE o incluso para la comunicación de datos entre dos ordenadores (DTE-DTE). Para ello cada carácter debe ir precedido de un bit de inicio y seguido de uno o más bits de parada. Por el contrario. en el enlace de datos los bits son transmitidos en serie agrupados en conjuntos de 8 bits (bytes o caracteres). 3 Univ Politécnica de Cartagena. Transmisión de Datos Tema 3. la línea permanece en estado de marca (‘1’ lógico). Profesor: Manuel Jiménez Buendía. A continuación. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. • Conversión serie a paralelo de cada carácter recibido por el enlace de datos. Los relojes son independientes y el receptor se resincroniza al principio de cada carácter recibido para conseguir la sincronía de reloj o bit. • Síncrona. y supone un retardo muy pequeño en el envío de cada palabra. Todo el mensaje o trama de datos se transmite como una cadena de bits contiguos. Dónde empieza y termina cada byte. así como para la detección de errores. de modo que se produzca de nuevo la sincronización y se repita todo el proceso. Bit de inicio 1 Lógico 0 Lógico LSB MSB 7 u 8 bits de datos Bit de paridad Detecc. Dicha conversión se realiza mediante un registro de desplazamiento con entrada serie y salida paralelo (SIPO: serial-in. Transmisión de Datos 1. Al producirse sincronización al principio de cada carácter se evita que las posibles desviaciones entre los relojes del emisor y el receptor se acumulen durante la transmisión de tramas completas de datos. 1. El receptor de estos datos deberá ser capaz de identificar: • • • Dónde comienza cada bit. por ejemplo. Esto es lo que se conoce como sincronización de reloj o de bit. para obtener el mismo patrón de 8 bits que transmitió el emisor. se cuentan N/2 pulsos de reloj en el receptor para muestrear en el centro del primer bit. y el inicio de cada carácter se detecta por la transición 1→0 provocada por el bit de inicio. a continuación de cada bit de parada seguiría el bit de inicio del siguiente carácter sin retardo adicional hasta completar el bloque completo de datos. que origina un flanco descendente para informar al receptor del comienzo de la transmisión de ese carácter. Su coste sería muy elevado para redes de comunicación con longitudes de cables superiores a unos pocos metros.3 Transmisión de bits Existen dos formas de transmitir los bits de datos entre equipos. Dicha conversión se realiza mediante un registro de desplazamiento de entrada en paralelo y salida serie (PISO: parallel-in. A continuación el receptor muestreará lo más cerca posible del centro de cada bit. y mediante el empleo de un contador. 4 . Como se comentó con anterioridad. Garantiza transición negativa al inicio del siguiente carácter Figura 2.5 Transmisión asíncrona La transmisión asíncrona se emplea cuando los datos se transmiten a intervalos aleatorios. Este modo es el empleado. dependiendo que los relojes del emisor y el receptor sean independientes o estén sincronizados. Univ Politécnica de Cartagena. • Transmisión en serie: se emplea un solo par de hilos para enviar los bits de un octeto uno por uno a intervalos fijos de tiempo. El bit de parada (siempre nivel lógico ‘1’) garantiza el regreso de la línea al estado de marca para que el bit de inicio del siguiente carácter vuelva a provocar un flanco descendente. por lo que los circuitos de interfaz de la capa física deberán realizar las siguientes funciones: • Conversión paralelo a serie de cada carácter que se desee transmitir por el enlace de datos. para muestrear la señal eléctrica que lo codifique en el centro de cada celda. sincronización de byte o carácter y sincronización de bloque o trama respectivamente. de modo que la transmisión puede ser: • Asíncrona. previamente acordada. en el DTE los datos son tratados en paralelo (palabra interna del procesador).

Así. es válido únicamente en el caso de que se estén transmitiendo caracteres imprimibles (caracteres alfanuméricos). El modo de transmisión asíncrono presenta una serie de inconvenientes que lo hacen poco apropiado cuando se pretende conseguir velocidades de transmisión elevadas con un aprovechamiento eficiente del canal de comunicación. se podrá muestrear con mayor precisión en el centro de cada bit. Para ello se utiliza una de las dos siguientes técnicas: • Bien el sistema de codificación integra información de la señal de reloj. En el caso de que alguno de los bytes intermedios coincidiera con el código correspondiente a DLE. es habitual utilizar un carácter de inicio de trama STX que indique dónde comienza el bloque. Tal es el caso de transmisión de datos binarios que pueden corresponder con ficheros. el inicio de bloque se delimita por DLE-STX y el final por DLE-ETX.2 kbps. como mínimo. Este esquema de sincronización de trama es el mismo que se emplea en transmisiones síncronas (suprimiendo. de modo que el receptor podrá diferencial de manera unívoca entre códigos de escape del enlace de datos. la sincronización de trama. el receptor eliminará el byte duplicado). Profesor: Manuel Jiménez Buendía. al contrario que ocurría en modo asíncrono. que irán seguidos por STX o ETX y datos que coinciden con un DLE.6 Transmisión Síncrona Sincronización de trama Cuando se transmiten bloques de caracteres (o bytes). los caracteres de principio y fin de tarma van precedidos por el carácter de escape de enlace de datos DLE (Data Link Escape). un 20% de los datos. Tal es el caso de la codificación de tipo Manchester empleada en redes Ethernet. 1. lo que limita considerablemente la tasa máxima de transferencia. Lo que la hace especialmente ineficiente en la transmisión de grandes bloques de datos. Este método. también denominados tramas de información. Podría darse el caso de que uno de ellos coincidiera con la codificación correspondiente al carácter de fin de trama ETX y se finalizaría erróneamente la recepción. Para ello. RxC=N·TxC Figura 3. • Por ello es muy frecuente el empleo de técnicas de transmisión síncrona en redes de comunicación de datos. Entre otras: • Son necesarios una serie de bits adicionales de sincronía para cada carácter enviado (un bit de inicio y entre uno y dos bits de parada). (a) Bit inicio Bit parada ‘H’ ‘O’ ‘L’ ‘A’ ETX Carácter Fin trama DLE ETX STX (b) • Carácter Inicio trama DLE STX Sincronización de Trama Para la sincronización de trama o bloque se utilizan técnicas similares a las descritas en transmisión asíncrona. que llegarán de dos en dos (una vez identificado. Pero ¿qué ocurriría si transmitimos datos internos del procesador (p. que suponen.e. Univ Politécnica de Cartagena. y un carácter de fin ETX para delimitar el final. El bloque se delimita por un carácter de inicio (STX) y un carácter de fin (ETX) en el caso de caracteres imprimibles. Transmisión de Datos Cuanto mayor sea la frecuencia del reloj del receptor. Emisor PISO Receptor SIPO 1 1 paralelo msb lsb 0 TxC Contador + N 1 1 0 lsb msb paralelo En el caso de transmisiones binarias. En este caso el reloj del receptor funciona de manera síncrona con la señal recibida. que son directamente enviados por el enlace de datos. Principio de funcionamiento en transmisión asíncrona. 5 Univ Politécnica de Cartagena. ilustrado en la figura 4. O bien el receptor tiene un reloj interno que se mantiene sincronizado mediante un dispositivo denominado lazo de fijación de la fase digital (DPLL: Digital Phase lock loop). compuesta por una serie de caracteres consecutivos. Si se transmiten datos binarios se inserta el carácter de escape de enlace de datos previamente a la utilización de STX o ETX. palabras internas de 8 bytes convertidas a caracteres de 8 bits) cuya representación no tiene por qué ser imprimible?. además de la sincronización de bit y de byte o carácter. Figura 4. los bits de inicio y parada para cada byte). Transmisión de Datos Tema 3. 6 . números en formato entero o de tipo mantisa-exponente. el receptor debe saber cuándo comienza y termina la trama. (b) datos binarios. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales.Tema 3. El método de sincronización obliga a emplear un reloj en el receptor con frecuencia N veces mayor a la del emisor. Sincronización de trama en transmisión asíncrona: (a) caracteres imprimibles. como se muestra en la figura 4. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. que aprovecha las transiciones de 1→0 y de 0→1 de la señal recibida para mantener la sincronía de bit. el emisor insertaría un segundo código DLE. que no suele superar los 19. Este modo de operación limita la velocidad de transmisión máxima. Profesor: Manuel Jiménez Buendía. es necesaria. que el receptor extrae para generar su reloj de recepción. lógicamente.

Profesor: Manuel Jiménez Buendía. A esto se le conoce como inactividad síncrona. los bits adicionales serán: (2+1+1)·8 = 32 bits Podemos obtener el coeficiente de redundancia: R= bits control 32 = = 0. Transmisión síncrona.35 bits control + bits datos 102·12 es decir. puesto que se trata de transmisión asíncrona y son necesarios para mantener la sincronía de bit y byte.04 bits control + bits datos 32 + 100·8 Figura 5. 2 Métodos de detección y corrección de errores Los métodos de detección y corrección de errores son característicos del nivel de enlace (comunicación fiable entre dispositivos comunicados a través de un enlace de datos). • Realizar transmisión de caracteres continuamente en los periodos de inactividad entre las transmisiones para mantener la sincronía de bit y byte en el receptor. La velocidad de transferencia será: Vtransf=Vt·(1-R)=1200·(1-0. Para ello se puede emplear una de las dos siguientes técnicas: • Incluir. más los caracteres de inicio y fin que sólo contienen datos adicionales (los 4 bits por ser transmisión asíncrona más los 8 de datos que son para sincronización de trama). podemos obtener el coeficiente de redundancia (proporción de datos de control) como: bits control 424 R= = = 0. Por ello son necesarios sistemas que permitan detectar cuando se producen este tipo de errores para poner en marcha los mecanismos necesarios para corregirlos. las señales que representan los datos. un 35% de los datos enviados son de control. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. circulan por un medio físico sometido a ruidos y perturbaciones que pueden hacer que el receptor interprete erróneamente los niveles recibidos. 7 Univ Politécnica de Cartagena. Por lo tanto. Por lo tanto. Esto hace que el aprovechamiento del canal de comunicación sea mucho más eficiente. 8 . Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. El modo síncrono requiere una cantidad de bits de control muy inferior. la velocidad de transferencia será: Caracteres o bytes de sincronía Carácter de inicio de trama Contenido de la trama Carácter de fin de trama Caracteres o bytes de sincronía Vtransf=Vt·(1-R)=1200·(1-0. ya que no requiere la repetición de los bits de sincronía (inicio y parada) para cada byte. b) Modo síncrono con 2 bytes de sincronía. es decir. aunque no exclusivos de éste. Además de un carácter de inicio de trama y uno de fin (STX y ETX) para conseguir la sincronía de bloque. de modo que es fundamental que antes del inicio de un bloque de datos los dispositivos se encuentren sincronizados. Dependiendo de la técnica empleada para recuperar los errores de la transmisión se distinguen: Univ Politécnica de Cartagena. Profesor: Manuel Jiménez Buendía. obtener la velocidad de transferencia (de información útil) en cada uno de los casos: a) Modo asíncrono con 1 bit de inicio. 1 carácter de inicio de trama y 1 carácter de fin de trama (STX y ETX). tan sólo un 4% de los datos enviados son de control.53)=784 bps b) En este caso no hay bits para sincronía en cada carácter. Solución: a) Por cada carácter que se transmite tenemos: 1+1+2 = 4 bits adicionales. Si la velocidad de modulación o transmisión es de 1200 bps. que estarán presentes para todos los caracteres transmitidos. Ejemplo 1: Calcular el número 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 transmisión. para que el receptor recupere la sincronía de bit y de byte (figura 5). uno o dos bytes especiales de sincronización.Tema 3. 1 bit de paridad y dos de parada por carácter. Transmisión de Datos Trama transmitida 1 00 1 00 1 0 t Así. antes del inicio de trama. Luego el total de bits adicionales será: 4·100 + 2·(4+8) = 424 bits que corresponden a 4 bits por cada uno de los 100 datos enviados. en muchos casos eléctricas.04)=1152 bps En este ejemplo se puede apreciar la diferencia en cuanto a eficiencia en la transmisión entre ambos modos cuando los bloques de datos enviados son grandes. Pero en el caso de transmisión síncrona es necesario mantener en todo momento la sincronía. con lo que los bits adicionales serán los correspondientes a los dos bytes de sincronía iniciales y los caracteres de inicio y fin de trama (STX y ETX). Como se indicó en capítulos anteriores. Transmisión de Datos Tema 3.

por lo que en muchos casos es una técnica aplicable. Espacio. suma de comprobación o códigos de redundancia cíclica (CRC). ya que no requieren la retransmisión del mensaje erróneo para recuperar los datos (p. El receptor toma el mensaje más el valor de comprobación y realiza los mismos cálculos para obtener dicho campo de comprobación. Se incluye información para que el receptor sea capaz de detectar que se ha producido un error.3. Paridad longitudinal u horizontal (LRC = Longitudinal Redundancy Check). Con este sistema el receptor sólo detectará un error en la transmisión si el número de bits que cambia como consecuencia de dicho error es impar.e. Se trata por lo tanto de un sistema poco fiable que se suele relegar al nivel físico. La paridad vertical (VRC) se obtiene para cada carácter. Impar (Odd). El bit de paridad siempre vale ‘0’. Vamos a revisar los principales sistemas que son: control de paridad. Estos protocolos se denominan también de corrección hacia atrás. pero si dichos valores coinciden no es seguro que el mensaje recibido coincida con el original. Para ello se realizan las siguientes operaciones: 1. 9 Univ Politécnica de Cartagena. Esto es así porque el campo de comprobación también se puede ver afectado por errores en la transmisión de tal modo que dichas alteraciones puedan inducir a validar datos erróneos. y la longitudinal (LRC) se calcula para todo el mensaje: Univ Politécnica de Cartagena. Protocolos autocorrectores. • Los protocolos autocorrectores requieren una gran cantidad de información adicional para la corrección de errores. Obtiene un byte de comprobación para un mensaje o bloque de datos completo. puesto que en caso de error es necesario volver a transmitir los datos erróneos. 3. El receptor puede detectar y corregir el error automáticamente. 10 . Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. unido a que las tasas de error en redes de comunicación de datos son muy pequeñas. sabemos con un 100% de probabilidad que se ha producido un error en la transmisión. Sin embargo. Si los valores de comprobación recibido y calculado coinciden se supone que la transmisión ha sido correcta. Profesor: Manuel Jiménez Buendía. 2. 2. Estos protocolos son también denominados de corrección hacia delante. En la tabla adjunta se calcula la paridad vertical y longitudinal impar. Por ejemplo. El número de bits de datos a ‘1’ lógico más el bit de paridad debe ser impar. El emisor toma el mensaje a enviar y calcula un valor de comprobación (FCS: Frame Check Sequence) que enviará como parte de la trama. En el caso de que dichos valores de comprobación (recibido y calculado) difieran. aunque sí muy probable. El número de bits de datos a ‘1’ lógico más el bit de paridad debe ser par. Consiste en obtener un bit de paridad para cada byte o carácter retransmitido. si fallaran los ocho bits de un carácter el error no se detectaría. Marca (Mark). Estos métodos de detección de errores serán tanto más fiables cuanto menor sea la probabilidad de que se produzcan errores no detectados y mayor número de bits erróneos sean capaces de detectar.Tema 3.1 Control de paridad Los errores en la transmisión se detectan utilizando uno o varios bis de paridad. A continuación vamos a revisar algunas de las técnicas más empleadas para corrección de errores. El bit de paridad siempre vale ‘1’. Cada bit se determina calculado la paridad de los bits de igual peso en cada uno de los bytes del mensaje. suma de comprobación y códigos de redundancia cíclica (CRC). Veámoslo con un ejemplo: Ejemplo 2: Si el emisor envía el carácter 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. Este hecho. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. para el carácter codificado en binario con el valor ‘0110 1111’ la paridad par valdría ‘0’ y la impar ‘1’. 2. Profesor: Manuel Jiménez Buendía. hace que este tipo de técnicas sea muy poco utilizado frente a los protocolos autodetectores o de corrección hacia atrás. Para ello el mensaje debe contener información redundante que permita recuperar la información a pesar de los datos erróneos. en los sistemas actuales la fiabilidad de la transmisión es tan alta que es improbable que se produzca más de un bit de error en el mismo byte. Tal es el caso del control de paridad. dependiendo de si se quiere obtener un bit de paridad por byte o un byte de comprobación completo para un bloque de datos: • • Paridad vertical (VRC = Vertical Redundancy Check). códigos Hamming).3 Sistemas autodetectores (corrección hacia atrás) Estos protocolos permiten al equipo receptor comprobar si se ha producido un error en el mensaje transmitido. Existen cuatro tipos de control de paridad: • • • • Par (Even). Transmisión de Datos Tema 3. Existen dos formas de aplicar el control de paridad. Ejemplo 3: Supongamos que se transmite el mensaje ‘HOLA’. Transmisión de Datos • Protocolos autodetectores.

por lo que la resta de polinomios equivale a una operación XOR. que se puede resumir en: • Se emplea aritmética de módulo 2 para las operaciones. siendo n la longitud de la ráfaga. Una ráfaga de errores se define como el número de bits entre dos bits erróneos sucesivos. ocho en b5. Para ello se sumarán los códigos ASCII correspondientes a cada carácter. Transmisión de Datos Tema 3. y es muy empleado en redes de comunicación de datos por su simplicidad. Este sistema presenta también algunos inconvenientes. el bit de paridad se puede obtener mediante la realización de operaciones XOR sobre los bits correspondientes (figura 6). 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 máximo para 8 bits (255) el resultado se trunca a 8 bits. no se detectan errores por alteración de orden en los bytes de la trama (la suma de comprobación para ‘ABCD’ es la misma que para ‘BADC’). si se produce un fallo sistemático en un bit varios fallos lo pueden hacer parecer correcto. Univ Politécnica de Cartagena. 11 12 . Los sistemas de detección anteriores son apropiados para aplicaciones en las que se producen errores aleatorios de un solo bit.3. Obtención de paridad mediante puertas XOR. Para ello se suman todos los bytes a transmitir en un único registro de 8. 1 2. Los códigos de redundancia cíclica utilizan polinomios generadores para la obtención del campo de comprobación. Univ Politécnica de Cartagena. Profesor: Manuel Jiménez Buendía. Transmisión de Datos Ejemplo 4: En paridad longitudinal (LRC) no se detectan errores por alteración del orden de los bytes (‘HOLA’ tendrá el mismo LRC que ‘OHLA’). Si la suma supera el valor máximo del registro. incluidos éstos. el último bit erróneo de una ráfaga y el primero de la siguiente deben estar separados n bits. denominado CRC o FCS (Frame Check Sequence) se puede realizar mediante operaciones XOR y desplazamientos.3. para determinar la longitud de la ráfaga. 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. Además. 16 o 32 bits.2 Suma de comprobación (Checksum) La suma de comprobación se emplea para obtener un campo de comprobación de errores para los diferentes datos que componen la trama. etc. 0 1 1 0 1 1 1 1 1 0 11001001 11110010 → Suma comprobación = 10111011 0 1 Que identificará como correcto. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. este sistema de detección es mucho más fiable que el control de paridad. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. por lo que nos limitaremos a describir su funcionamiento. el valor quedará truncado al número de bits empleado en el mismo. Profesor: Manuel Jiménez Buendía. el receptor recibirá: Este sistema de detección es muy sencillo.Tema 3. dependiendo del tamaño deseado para el campo de comprobación. Y en segundo. 0 No obstante. La teoría matemática en que se basan queda fuera del alcance de este libro. La obtención del campo de comprobación. 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 comprobación de 8 bits para el mensaje ‘ABCD’. Lo mismo ocurriría con cuatro errores en b6. 2. Cuando se presentan ráfagas de errores es necesario emplear técnicas más complejas. como se puede ver en el siguiente ejemplo: Ejemplo 5: Supongamos que calculamos la suma de comprobación de 8 bits para la trama de dos bytes: 01001001 01110010 → Suma comprobación = 10111011 Si se producen dos fallos en b7. En primer lugar.3 Códigos de redundancia cíclica Paridad Par: 0 1 Paridad Impar Figura 6.

el polinomio generador tiene un bit más que el número de bits del campo de CRC que queramos obtener. y el CRC-32 se emplea redes de área local (LAN). la recepción ha sido correcta. A continuación se ilustra un ejemplo de cálculo 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. se recibe T(x) + E(x) (mensaje más error). que representa el mensaje de datos al que se ha añadido 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. Profesor: Manuel Jiménez Buendía. que representa el campo de CRC. si no. Como dicho mensaje es divisible por G(x). CRC-16 y CRC-CCITT se utilizan mucho en redes de área extensa (WAN). y si G(x) tiene más de un término no puede dividir a E(x) y se detectan todos los errores de un bit. donde cada coeficiente representa un bit del mensaje: M(x) = bk·xk-1 + bk-1·xk-2 + … + b0·x0 La forma de representar el polinomio generador consiste en indicar las posiciones de los unos binarios como potencias de x. E(x)=xi. G(x) tiene n+1 bits. El polinomio generador es 11001 (G(x) = x4 + x3 + 1) . Todos los errores de 2 bits. Transmisión de Datos Tema 3. 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) = xn·M(x) – R(x). el receptor sólo tendrá que realizar la operación: T ( x) → R' ( x) G ( x) Si el resto obtenido es 0.Tema 3. por lo tanto. o Al haber restado R(x). T(x). el resto se debe a la componente de error E(x). Univ Politécnica de Cartagena. T(x) es divisible por el generador G(x). • Si hay error. El mensaje a enviar será: 10011001 (M(x) = x7 + x4 + x3 +1) (a) Para generar el FCS o CRC: 1. si el error es de un bit. es decir. Algunos de los polinomios normalizados que se utilizan en comunicación 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. representado por M(x). Para el cálculo del campo de comprobación de CRC (o FCS) se realizan las siguientes operaciones: • Añadir r ceros al final de del mensaje. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. puesto que determinará los tipos de errores que es posible detectar. operación de la que se G ( x) obtiene el resto R(x). Profesor: Manuel Jiménez Buendía. En general. La mayor parte de las ráfagas de errores mayor que n. Por ejemplo. vamos a ver: (a) Cómo generar el FCS/CRC. Todos los errores de bit en número impar. un polinomio generador de n bits detectará: • • • • • Todos los errores de 1 bit. 13 0 0 00 01 010 000 0100 1001 1 1 0 1 = Resto = FCS/CRC Trama = 10011001 Trama con ceros añadidos = 10011001 0000 Polinomio generador = 11001 Univ Politécnica de Cartagena. Todas las ráfagas de errores de longitud menor de n. que equivale a M(x) · x4 → 10011001 0000 2. Transmisión de Datos • El mensaje de k bits a transmitir se representa por un polinomio M(x) de grado k-1. siendo n el número de bits de CRC a generar. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. La elección de este polinomio. • Si no hay error se recibirá el mensaje transmitido. 14 . que equivale a multiplicar por xn: M(x) → xn · M(x) x n ⋅ M ( x) Dividir por el polinomio generador: → R ( x ) . se habrá producido un error. y como T(x) es divisible por G(x). Añadimos cuatro ceros a M(x). (b) Cómo comprobar el FCS en caso de recepción correcta y con ráfaga de error. si E(x) es divisible por G(x) el error no se detecta.

se habrán recibido las confirmaciones para los mensajes 3. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. cuando llegue ACK2 se envía el mensaje 6 y así sucesivamente con el resto de mensajes. Transmisión de Datos Luego la trama transmitida será T(x) = M(x)·x4 – R(x) → 10011001 1101 (incluyendo el FCS). Profesor: Manuel Jiménez Buendía. Profesor: Manuel Jiménez Buendía. Ventanas deslizante (tamaño 4). por ejemplo para el mensaje 2. en el momento que se reciba ACK del primer envío se transmitirá el siguiente paquete. la ventana se desplazará cuatro posiciones. que permiten enviar varios paquetes sin haber recibido el reconocimiento (ACK) de los anteriores. 16 . En estos sistemas. cuando se envía un paquete. Supongamos el caso de una transmisión con un enlace vía satélite. de modo que en el momento que llegue la del mensaje 2. Transmisión de Datos Tema 3. 4 y 5. En la figura 7 se ilustra este funcionamiento con una ventana de tamaño 4. Resto = 0 → No hay errores Resto ≠ 0 → Hay errores 2. Una vez enviados los paquetes de la ventana. una vez realizado el reenvío. Mientras tanto. 7 8 y 9. la ventana quedará bloqueada y se realizará el reenvío del mensaje 2 cuando venza un temporizador programado para detectar reconocimientos no recibidos (con un tiempo superior al de ida del mensaje más vuelta de ACK). y así sucesivamente. Departamento de Tecnología Electrónica Asignatura: Comunicaciones Industriales. y se pasará a enviar los mensajes 6. el receptor responde con un código de reconocimiento ACK (Acknowledge) o un código de no reconocimiento NAK (paquete rechazado por existencia de error en el mismo).4 Protocolos de Ventanas Deslizantes Los protocolos de ventanas deslizantes se utilizan para controlar el flujo de datos en protocolos de corrección hacia atrás (autodetectores). en la que cada envío puede tener retardos de varios segundos. que determina el número de mensajes a enviar sin haber recibido reconocimiento (ACK) del primero. puesto que todo ese tiempo se podría haber aprovechado para enviar una gran cantidad de datos. (b) A la recepción dividimos la trama por el polinomio generador: Recepción correcta Recepción con errores Se define un tamaño de ventana.Tema 3. Hasta que no llega ACK del primero no se envía el mensaje 5. El funcionamiento se describe a continuación: Univ Politécnica de Cartagena. siendo n el tamaño de la ventana. cuando se reciba ACK del segundo se enviará el siguiente. 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 Ráfaga 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. siempre manteniendo un máximo de n paquetes enviados en espera de confirmación. normalmente potencia de 2. en los que el retardo en la transmisión es elevado. si para cada paquete de datos que enviamos hemos de esperar confirmación la eficiencia de uso del canal será bajísima. En estos casos. El emisor envía los mensajes 1 al 4 sin esperar ACK. se emplean los protocolos de ventanas deslizantes. Si por alguna causa uno de ellos se perdiera o no llegara el reconocimiento. Cuando los retardos en la transmisión son importantes hay que establecer alguna modificación en esta mecánica. 15 Univ Politécnica de Cartagena.