7 votos

Ayuda en la identificación de suma de comprobación

Necesito ayuda para identificar el algoritmo de suma de comprobación en los siguientes paquetes, por favor.

Así, los paquetes formato es:

sd ?? dd dd dd ??

donde

s = empezar a picar d = datos (decimal codificado en binario) ? = desconocido - posiblemente de la suma de comprobación

Aquí hay cinco paquetes (número de transmitirse entre paréntesis) y el paquete enviado en el alambre hexagonal de la derecha.

(1112694): f1 f7 11 26 94 74

(5432432): f5 7c 43 24 32 a2

(6430116): f6 dc 43 01 16 48

(3254817): f3 d8 25 48 17 e9

(0042863): f0 ce 04 28 63 b2

He tratado de XOR y sumando, pero no parece funcionar. Los paquetes se transmiten a través de la UART.

cualquier ayuda apreciada!

16voto

Bernd Puntos 61

Tomar la primera fila de datos:

(1112694): f1 f7 11 26 94 74

Hacer una secuencia de bytes de números hexadecimales como:

0x94

0 x 26

0x11

0xF1

Ejecutar los bytes en ese orden a través de un CRC-CCITT (XModem) CRC algoritmo para llegar a un CRC de 0xF774. El byte alto de la convención, se pasa a la segunda posición del mensaje y el byte bajo de la convención, se va a la última posición del mensaje.

Esta misma técnica que funciona para cada uno de los mensajes de la muestra. He utilizado la calculadora en línea para mostrar el resultado como aquí:

enter image description here

El polinomio de la función de la CRC-CCITT algoritmo es como sigue:

enter image description here

Yo se lo dejo a usted para buscar y encontrar el código fuente de la CRC-CCITT y el algoritmo de entender los matices específicos de usar ese código en el antiguo XModem metodología. El 0x1021 polinomio es bien sabido y lo he usado por años en mis proyectos para todo, desde los protocolos de comunicación para los códigos de verificación en los conjuntos de datos almacenados en memorias eeprom serie y FRAM fichas. El uso de matices que entran en juego en cuanto a si el CRC de los campos del paquete preestablecido para algo como 0x0000 o 0xFFFF y si los preset campos también se pasa a través de la CRC calculadora para llegar a un resultado. Tenga en cuenta que hay una gran cantidad de información en línea.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X