5. Ejemplo de Cálculo de CRC

Obtenido del Stalling.

Ejemplo 6.6.

La arquitectura de este circuito se explica mejor considerando un caso particu- lar, como el ejemplo que se muestra en la Figura 6.5. En este ejemplo se usa:}

 Datos D=1010001101 =>  D(X) = X9  +  X + X3  + X2  + 1

Divisor P = 110101 => P(X)=X5 + X4 + X2 + 1

definidas anteriormente.

En la Figura  se muestra la realización del registro de desplazamiento. El proceso co- mienza con la puesta a cero de todo el registro (todo ceros). El mensaje, o dividendo, se intro- duce a continuación, bit a bit, comenzado por el bit más significativo. La Figura 6.5b es una tabla que muestra el funcionamiento paso a paso por cada bit de entrada. Cada fila de la tabla muestra los valores almacenados en los cinco elementos de memoria del registro de desplaza- miento. Las filas muestran, además, los valores que aparecerán en las salidas de los tres circui- tos exclusive-OR. Finalmente, en cada columna se muestra el valor del siguiente bit de entrada, disponible para el siguiente paso.

Nótese que la operación exclusive-or afectará a C4, C2 y C0 en el siguiente desplazamiento. Esto es idéntico al procedimiento de división binaria mencionado anteriormente. El procedi- miento continúa para todos los bits del mensaje. Para generar la salida se usan dos conmutado- res. Los bits correspondientes a los datos de entrada se introducen poniendo los dos conmutado- res a la posición A. A resultas, tras 10 pasos, los bits de entrada se introducirán en el registro de desplazamiento, a la vez que serán generados a la salida. Tras proceder el último bit, el registro de desplazamiento contendrá el resto (la FCS) (mostrado en cajas sombreadas). Tan pronto co- mo el último bit de datos entra en el registro de desplazamiento, los dos conmutadores se ponen en la posición B. Esto causa dos efectos:

1. Todas las puertas exclusive-or se convierten en simples elementos de paso, es decir, no cambia ningún bit.

2. Al seguir desplazando el registro, se generarán los 5 bits correspondientes a la CRC.

En el receptor se utiliza la misma lógica. Cada bit de un bloque de M se introducirá en el regis- tro de desplazamiento. Si no ha habido errores, el registro de desplazamiento debería contener el patrón de bits R al final de M. Los bits transmitidos de R empiezan a llegar y el efecto consis- tirá en que, cuando concluya la recepción, el registro debe contener todas las posiciones igual a cero.