[an error occurred while processing this directive]
Лет много назад делал контроллер для болгарского 5 мегабайтного винчестера. Используя 32 бит полином ECC Рида-Соломона
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено A_K_B 28 февраля 2003 г. 18:17
В ответ на: Коллеги! Я думаю многие знают алгоритм вычисления CRC. Вот сижу разбираюсь с чужой прогой(+) отправлено bialix 28 февраля 2003 г. 13:44

Потребовалось 4 8 битовых регистра и несколько корпусов XOR. Все считалось параллельно во время пересылки данных по 8 битовой шине. Исправление 11 битовой ошибки делалось аппаратно-программно - было не кратно 8 и MC высчитывал позицию начального бита ошибки в памяти с которым надо был сделать XOR насчитанный в рег полинома. Без громоздких таблиц и сдвигов. Для любого CRC/ECC можно найти простой паралельный алгоритм, если подумать. К сожалению склероз замучал и конкретно ничего не посоветую - кроме наблюдения за "1" при сдвиге в модели полинома. Похоже математики упустили из виду решение.

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

Ответы



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

E-mail: info@telesys.ru