polinomio generador CRC para almacenamiento de memoria flash de datos

1

He estado enfrentando un problema sobre cómo implementar el sistema de administración de parámetros de configuración de software integrado. Significa cómo implementar un módulo de software que será responsable del almacenamiento de, por ejemplo, las ganancias del controlador PI o algunos niveles de protección de comparación en la memoria flash externa y recuperarlos de la memoria flash externa. Una de las preguntas con respecto a este problema es qué polinomio generador debo usar para el cálculo de CRC. Los parámetros serán sin excepción valores de 16 bits. ¿Es el polinomio CRC16, es decir, \ $ x ^ {16} + x ^ {15} + x ^ {2} + 1 \ $ buena opción para eso? Gracias por cualquier idea.

    
pregunta Steve

1 respuesta

1

El tamaño / tipo de los datos y el tamaño de la palabra CRC realmente no tienen nada que ver entre sí. Al calcular el CRC, serializa los datos (conviértalos en un flujo de bits o bytes) de todos modos.

Un CRC más grande es mejor para detectar una clase más grande de errores, especialmente errores de multibit. Pero, por supuesto, se necesita más memoria para almacenar CRC más grandes. Consideraciones como esta deberían estar impulsando tu decisión.

También debe pensar cuándo y cómo cambian los datos, y qué debe hacer para actualizar el CRC cuando esto suceda. En un sistema integrado, también debe pensar qué sucede si se interrumpe alguno de los pasos del proceso, por ejemplo, por una pérdida inesperada de energía.

Si puede agregar más detalles sobre su aplicación específica a su pregunta, puedo escribir una respuesta más específica.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas