ANEXO 1. ALGORITMO CRC TIPO "CRC16".
1. – POLINOMIO GENERADOR.
El polinomio usado es:
16
15
2
X + X + X + 1 = 18005H
Para calcular el CRC, se invierte el polinomio, omitiendo el bit menos significativo.
POLINOMIO CRC16 : 1 1000 0000 0000 0101 = 18005H
POLINOMIO DE TRABAJO : 1010 0000 0000 0001 = A001H.
2. - ALGORITMO.
"DATO" es el byte recibido o que se desea transmitir.
"CRC16" es una palabra de 16 bits. El resultado de la operación se deja asimismo en CRC16. Si el crc
recibido se incluye en el algoritmo, el resultado final será cero.
CRC16=0FFFFH
CRC16 XOR DATO = CRC16
N = 0
SHIFT CRC16 RIGHT:
0
CRC16
CY=1?
NO
N=N +1
NO
N > 7 ?
CY
SI
CRC XOR A001H
SI
¿FINAL DE MENSAJE?
NO
TOMAR NUEVO DATO
CRC
SI
END
TTIM_E.DOC
VER 1.3 2012-05
14 de 19