Comprobación de errores
L
errores durante las comunicaciones se detectan utilizando CRC-16. (control cíclico de redundancia,
OS
método de suma de control).
El resultado del cálculo de la suma de control se almacena en una palabra de datos (16 bit), cuyo valor inicial
es FFHH. El valor de esta palabra se modifica utilizando OR exclusivo y SHIFT junto con el paquete de datos
que deberá ser enviado (dirección del esclavo, código de función, datos) y el valor fijo A0001H. Al final del
cálculo la palabra de datos contiene el valor de la suma de control.
La suma de control se calcula de la siguiente forma:
1. El valor inicial de la palabra de datos de 16 bit, que se utiliza para el cálculo, debe establecerse en FFFFH.
2. Se debe realizar una operación OR exclusiva con el valor inicial y la dirección del esclavo.
3. El resultado se desplaza a la derecha hasta que el bit de desbordamiento se convierte en 1.
4. Cuando el bit se convierte en 1, debe realizarse una operación OR exclusiva con el resultado del paso 3 y el
valor fijo A001H.
5. Tras 8 operaciones de desplazamiento (cada vez que el bit de desbordamiento se convierte en 1, debe
realizarse un OR exclusiva como en el paso 4), realizar una operación OR exclusiva con el resultado de las
operaciones anteriores y el siguiente paquete de información (código de función de 8 bits). De nuevo el
resultado de esta operación deberá desplazarse 8 veces y si fuese necesario deberá interconectarse con el
valor fijo A001H utilizando una operación OR exclusiva.
6. Los mismos pasos deberán realizarse con los datos, en primer lugar con el bit más alto y a continuación
con el bit más bajo hasta que todos los datos estén procesados.
7. El resultado de estas operaciones es la suma de control. Consiste en un bit alto y uno bajo.
-92
6