[an error occurred while processing this directive]
История про CRC-8
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
миниатюрный аудио-видеорекордер mAVR

Отправлено Oldring 25 июля 2002 г. 12:14
В ответ на: Ответ: практика показывает что CRC это минимум отправлено Serg Sidorov 24 июля 2002 г. 18:43

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

С некого прибора писались небольшие блоки раз в секунду в систему сбора на flash (не мою). Заказчик получал данные и обрабатывал самостоятельно, декодируя их моей программой. Когда у блока был неправильный CRC, писалось, что CRC неправильный и блок невозможно декодировать. По просьбе заказчика это было опционально - можно было сбойные блоки просто игнорировать, чтобы надписи о редких неправильных блоках не засоряли таблицу.

И вот однажды заказчик мне пожаловался, что в собранной информации мало записей и, что самое главное и самое неприятное, - он подозревает, что что-то случилось с прибором, так как в правильных блоках записана какая-то чушь.

Все оказалось очень просто. Сломалась система сбора - принятые байты заменялись случайными. А для CRC-8 вероятность пропуска ошибочного блока в такой ситуации составляет порядка 1/256. Разумеется, заказчик всегда обрабатывал данные в режиме игнорирования ошибочных блоков :).

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru