Лучшая 8-битная дополнительная контрольная сумма для пакета, защищенного CRC8 - PullRequest
3 голосов
/ 02 ноября 2011

Я смотрю на разработку низкоуровневого протокола радиосвязи и пытаюсь решить, какой тип контрольной суммы / crc использовать.Аппаратное обеспечение обеспечивает CRC-8;каждый пакет имеет 6 байтов служебной информации в дополнение к данным.Одна из целей проектирования - минимизировать накладные расходы на передачу.Для некоторых типов данных CRC-8 должен быть достаточным, для других типов необходимо было бы дополнить это, чтобы избежать принятия ошибочных данных.

Если я иду с однобайтовым дополнением, что будетплюсы и минусы использования CRC8 с многочленом, отличным от аппаратного CRC-8, в сравнении с арифметической контрольной суммой или чем-то еще?Как насчет двухбайтового дополнения?Был бы CRC-16 хорошим выбором, или, учитывая существование CRC-8, было бы что-то еще лучше?

1 Ответ

2 голосов
/ 22 ноября 2011

В 2004 году Филипп Купман из CMU опубликовал статью о выборе наиболее подходящего CRC, http://www.ece.cmu.edu/~koopman/crc/index.html

В этом документе описывается процесс выбора полинома для встроенных сетевых приложений и предлагается набор хороших общихцелевые полиномы.Набор из 35 новых полиномов в дополнение к 13 ранее опубликованным полиномам обеспечивает хорошую производительность для 3-16-битных CRC при длинах слов данных до 2048 битов.

Эта статья должна помочь вам проанализировать, насколько эффективноэтот 8-битный CRC на самом деле и насколько больше защиты вы получите от других 8-битных.Некоторое время назад это помогло мне выбрать 4-битный CRC и 4-битный заголовок пакета в пользовательском протоколе между FPGA.

...