Está en la página 1de 8

Control de errores

Un circuito de comunicacin de datos puede ser tan corto, de unos cuantos pies o, tan largo, de varios miles de millas; el medio de transmisin puede ser tan sencillo, como pedazo de cable o, tan complejo, como un sistema de microondas, satlite o fibra ptica. Por lo tanto, debido a las caractersticas, no ideales que estn asociadas con cualquier sistema de comunicacin, es inevitable que ocurran errores y es necesario desarrollar e implantar procedimientos para el control de errores. El control de errores puede dividirse en dos categoras generales: Deteccin de errores y Correccin de errores.

Deteccin de errores

La deteccin de errores es simplemente el proceso de monitorear la informacin recibida y determinar cuando un error de transmisin ha ocurrido. Las tcnicas de deteccin de errores no identifican cual bit (o bits) es errneo, solamente indica que ha ocurrido un error. El propsito de la deteccin de errores no es impedir que ocurran errores, pero previene que los errores no detectados ocurran. Como reacciona un sistema a los errores de transmisin, depende del sistema y vara considerablemente. Las tcnicas de deteccin de errores ms comunes usados para los circuitos de comunicacin de datos son: Redundancia, Codificacin de cuenta exacta, Paridad, Chequeo de redundancia vertical y Longitudinal, y Chequeo de redundancia cclica.

Redundancia.- La Redundancia involucra transmitir cada carcter dos veces. Si el mismo carcter no se recibe dos veces sucesivamente, ha ocurrido un error de transmisin. El mismo concepto puede usarse para los mensajes. Si la misma secuencia de caracteres no se recibe dos veces sucesivamente, en exactamente el mismo orden, ha ocurrido un error de transmisin.

Codificacin de cuenta exacta.- Con la codificacin de cuenta exacta, el nmero de unos, en cada carcter, es el mismo. Cada carcter tiene tres unos en el y, por lo tanto, una cuenta sencilla de la cantidad de unos recibidos, en cada carcter, determina si ha ocurrido un error de transmisin.

Paridad.- La paridad es probablemente el esquema de deteccin de error, mas sencillo, usado para los sistemas de comunicacin de datos y se usa con cheque de redundancia vertical y horizontal. Con la paridad, un solo bit (llamado bit de paridad) se agrega a cada carcter para forzar el total de nmeros unos en el carcter, incluyendo el bit de paridad, para que sea un numero impar (paridad impar) o un numero par (paridad par). Por ejemplo, el cdigo ASCII para la letra C es 43 hex o P1000011 binario, con el bit P representando el bit de paridad. Hay tres unos en el cdigo, no contando el bit de paridad. Si se usa la paridad impar, el bit P se hace un 0, manteniendo el nmero total de unos en tres, un nmero impar. Si se usa la paridad par, el bit P se convierte en 1 y el nmero total de unos es cuatro, un nmero par.

Observando ms de cerca la paridad, puede verse que el bit de paridad es independiente del nmero de ceros en el cdigo y no es afectado por pares de unos. Para la letra C, si todos los bits 0 se descartan, el cdigo de P1_____11. Para la paridad impar, el bit P, aun es un 0 y para la paridad par, el bit P aun es un 1. Si los pares de unos, tambin se excluyen, el cdigo es o P1_______, P______1, o P_____1_. Nuevamente, para la paridad impar, el bit P es un 0, y para la paridad par, el bit P es un 1.

La definicin de paridad es equivalencia o igualdad. Una compuerta lgica que determina cuando todas sus entradas son iguales, es la compuerta XOR. Con una compuerta XOR, si todas las entradas son iguales (ya sea todos ceros o todos unos) la salida es un 0. Si todas las entradas son iguales no son iguales, la salida es un 1. Esencialmente, ambos circuitos pasan por un proceso de comparacin eliminando los ceros y pares de unos. El circuito utiliza una comparacin secuencial (serial), mientras que el circuito utiliza una comparacin combinada (paralela). Con el generador de paridad b0 usa XOR con b 1, la salida usa XOR con b2, etc. La salida de la ltima operacin XOR se compara con un bit polarizado. Si se desea la paridad par, el bit polarizado se convierte en 0 lgico. Si se desea la paridad impar, el bit polarizado se hace 1 lgico La salida del circuito es el de paridad, el cual se agrega al cdigo de caracteres. Con el generador de paridad paralelo, las comparaciones se hacen en capas o niveles. Los pares de bits (b0 y b1, b2 y b3, etc.) usan XOR. Los resultados de las salidas XOR de primer nivel se utilizan entonces juntos. El proceso continua, hasta que solo un bit permanece, el cual usa XOR con el bit polarizado. Nuevamente, si se desea la paridad par, el bit polarizado se hace 0 lgico y si se desea la paridad impar, el bit polarizado se hace 1 lgico.

Un chocador de paridad usa el mismo procedimiento que un generador de paridad, excepto que la condicin de lgica de la ultima comparacin se usa para

determinar si una violacin de paridad ha ocurrido (para la paridad impar un 1 indica un error y un 0 indica que no hay error; para la paridad par, un 1 indica un error y un 0 indica que no hay error).

La ventaja principal de la paridad es la simplicidad. La desventaja es que cuando un numero par de bits se recibe errneamente, el checador de paridad no lo detendr (o sea, si las condiciones de lgica de 2 bits se cambian, la paridad permanece igual). Consecuentemente, la paridad en un periodo largo de tiempo, detectara solos el 50% de los errores de transmisin (esto asume una probabilidad igual, que un numero de bits, par o impar, podra estar en error).

Comprobacin de paridad.- El esquema mas sencillo para detectar errores consiste en aadir un BIT de paridad al final del bloque de datos. (Por ejemplo si hay un nmero par de BITS 1, se le aade un BIT 0 de paridad y si son impares, se le aade un BIT 1 de paridad). Un ejemplo tpico es la transmisin de caracteres, en la que se aade un BIT de paridad por cada carcter IRA de 7 BITS. El valor de este BIT se determina de tal forma que el carcter resultante tenga un numero impar de unos (paridad impar) o un numero par (paridad par). As por ejemplo si el transmisor esta transmitiendo una G en IRA (1110001) y se utiliza paridad impar, se aadir un 1 y se transmitir 11100011. el receptor examina el carcter recibido y , si el numero total de unos es impar supondr que no ha habido errores. Si un BIT o cualquier numero impar de BITS se invierte errneamente durante la transmisin entonces el receptor detectara un error. Ntese que si dos o cualquier numero par de BITS se invierten debido a un error, aparecer un error no detectado. Generalmente, se utiliza paridad par para la transmisin sncrona y paridad impar para la asncrona. La utilizacin de BITS de paridad no es infalible, ya que los impulsos de ruido son a veces lo suficientemente largos como para destruir mas de un BIT, especialmente a velocidades de transmisin altas. Pero puede ocurrir que el propio BIT de paridad sea cambiado por el ruido o incluso que ms de un BIT de datos sea cambiado , con lo que el sistema de deteccin fallar .

Chequeo de redundancia vertical y horizontal.- El Chequeo de redundancia vertical (VRC), es un esquema de deteccin de errores que usa la paridad para determinar si un error de transmisin ha ocurrido dentro de un carcter. Por lo tanto, el VRC a veces se llama paridad de carcter. Con el VRC, cada carcter tiene un bit de paridad agregado a el, antes de la transmisin. Puede usar paridad par o impar. El ejemplo mostrado bajo el tema paridad involucrando el carcter de ASCII C, es un ejemplo de cmo se usa el VRC.

El chequeo de redundancia horizontal y longitudinal (HRC o LRC), es un esquema de deteccin de errores que utiliza la paridad para determinar si un error de transmisin ha ocurrido en un mensaje y, por lo tanto, a veces es llamado paridad de mensaje. Con el LRC cada posicin de bit tiene un bit de paridad. En otras palabras, b0 de cada carcter en el mensaje usa XOR con b0 de todos los dems caracteres en el mensaje. De manera semejante, b1, b2, y as sucesivamente, utilizan XOR con sus bits respectivos de todos los dems caracteres en el mensaje. Esencialmente, el LRC es el resultado de usar XOR con los caracteres que componen un mensaje, mientras que el VRC es el uso de XOR en los bits con un solo carcter. Con el LRC, solo la paridad par ser usada.

La secuencia del bit en el LRC se calcula en el transmisor, antes de enviar la informacin, despus se transmite como si fuera el ltimo carcter del mensaje. En el receptor, LRC se recalcula en los datos y el LRC recalculado se compara con el LRC transmitido con el mensaje. Si son iguales, se asume que ningn error de transmisin ha ocurrido. Si son diferentes, un error de transmisin debe haber ocurrido. El ejemplo siguiente muestra como el VRC y el LRC son determinados.

EJEMPLO: Determine el VRC y el LRC para el siguiente mensaje codificado ASCII: THE CAT (el gato). Utilice la paridad impar para el VRC y paridad par para el LRC.

SOLUCION Carcter Hex LSB Cdigo ASCII b0 b1 b2 b3 b4 b5 b6 b7 T 54 0 0 1 0 1 0 1 0 H 48 0 0 0 1 0 0 1 1 E 45 1 0 1 0 0 0 1 0 Sp 20 0 0 0 0 0 1 0 0 C 43 1 1 0 0 0 0 1 0 A 41 1 0 0 0 0 0 1 1 T 54 0 0 1 0 1 0 1 0 LRC 2F 1 1 1 1 0 1 0 0

MSB VRC

El LRC es 2FH o 00101111 binario. En ACII, este es el carcter /.

El bit VRC para cada carcter se calcula en direccin vertical y los bits del LRC se calculan en direccin horizontal. Este es el mismo esquema que fue usado con las primeras cintas de papel para teletipo y tarjetas de perforacin y subsecuentemente en las aplicaciones de comunicacin de datos actuales.

El grupo de caracteres que componen el mensaje (es decir, el gato) a menudo se llama bloque de informacin. Por lo tanto, la secuencia del bit para el LRC frecuentemente se llama carcter de chequeo de bloque (SCC) o una secuencia de chequeo de bloque (BCS). El BCS es mas apropiado, porque el LRC no tiene funcin como un carcter (o sea, no es un carcter alfa/numrico, grafico o enlazado con datos); el LRC es simplemente una secuencia de bits usada para la deteccin de errores.

Histricamente, LRC detecta entre 75% y 98% de todas las transmisiones de errores. El LRC no detectara errores de transmisin cuando un nmero par de caracteres tienen un error en la misma posicin del bit. Por ejemplo, si b 4 en dos diferentes caracteres esta en error, el LRC aun es valido, aunque hayan ocurrido mltiples errores de transmisin.

Si los VRC y LRC se usan simultneamente, la nica vez que un error no se detecta es cuando un numero par de bits, en un numero par de caracteres, estuviera en un error y las mismas posiciones del bit, en cada carcter, estn en error, lo cual no es muy probable que suceda. El VRC no identifica cual bit esta en error en un carcter, y el LRC no identifica cual carcter tiene un error en el. Sin embargo, para los errores de bit sencillo, el VRC usado junto con el LRC, identifica cual bit esta en un error. De otra manera, los VRC y LRC solo identifican que un error ha ocurrido.

Revisin de redundancia cclica.- Probablemente, el esquema ms confiable para la deteccin de errores es el chequeo de redundancia cclica (CRC). Con CRC, aproximadamente el 99.95% de todos los errores de transmisin se detectan. El CRC se usa generalmente con cdigos de 8 bits, tales como EBCDIC o cdigos de 7 bits, cuando no se usa paridad. Dado un bloque o mensaje de kBITS, el transmisor genera una secuencia de n-BITS denominada secuencia de comprobacin de la trama FCS (Frame Check Secuence), de tal manera que la trama resultante con n+ k BITS sea divisible por algn numero predeterminado. El

receptor entonces dividir la trama recibida por ese numero y si no hay residuo en la divisin se supone que no ha habido errores. Este proceso puede hacerse bien por software o bien por un circuito hardware (mas rpido).

En E.U., el cdigo Cremas comn es el CRC-16, el cual es idntico al estndar internacional, CCITT V.41. Con el CRC-16, se utilizan 16 bits para el BCS. Esencialmente, el carcter CRC es el sobrante de un proceso de divisin. Un mensaje de datos polinomico G(x) se divide por una funcin de polinomico del generador P(x), el cociente se descarta, y el residuo se trunca en 16 bits y se agrega al mensaje como el BCS. Con la generacin de CRC, la divisin no se logra con un proceso de divisin aritmtica estndar. En vez de usar una resta comn, el residuo se deriva de una operacin de XOR. En el receptor, el flujo de datos y el BCS se dividen por la misma funcin de generacin P(x). Si ningn error de transmisin ha ocurrido, el residuo ser cero. El polinomio generado para CRC-16 es

P(x) = x16 + x12 + x5 + x0

En donde x0 = 1

El nmero de bits en el cdigo CRC es igual al exponente ms alto del polinomio generado. Los exponentes identifican las posiciones del bit que contiene un 1. Por lo tanto, b16, b12, y b0 son todos unos y todas las dems posiciones de bits son ceros. La Fig. muestra el diagrama a bloques para un circuito que genera un CRC-16 BCS, para el estndar CCITT V.41. Observe que para cada posicin de bit del polinomio generado es donde hay un 1 se coloca una compuerta excepto por x0.

Ejemplo 13-2 Determine el BCS para los siguientes polinomios generadores de datos y CRC.

Datos G(x) = x7 + x5 + x4 + x2 + x1 + x0

10110111

CRC P(x) = x5 + x4 + x1 + x0

110011

Solucin: 5.

Primero G(x) es multiplicado por el nmero de bits en el cdigo CRC,

x5 (x7 + x5 + x4 + x2 + x1 + x0) = x12 + x10 + x9 + x7+ x6 + x5 = 1011011100000

Despus divida el resultado por P(x)

11010111 110011| 1011011100000 110011 111101 110011 111010 110011 100100 110011 101110 110011 111010 110011 01001 = CRC

El CRC se agrega a los datos para dar el siguiente flujo de datos transmitido.

G(x) 10110111

CRC 01001

En el receptor, los datos transmitidos son nuevamente divididos por P(x).

11010111 110011| 1011011100001 110011 111101 110011 111010 110011 100110 110011 101010 110011 110011 110011 000000 = residuo = 0 Ningn error ocurrido

También podría gustarte