Как расчитать CRC?

Программируемая логика - это не так уж и сложно. Разберемся вместе.
Ответить
Аватара пользователя
ipiter
Встал на лапы
Сообщения: 82
Зарегистрирован: Пн май 03, 2010 02:19:08
Откуда: Москва
Контактная информация:

Как расчитать CRC?

Сообщение ipiter »

Здравствуйте!
Я для микроконтроллера пишу реализацию расчёта контрольной суммы.
Составил два алгоритма для расчёта CRC8.
подскажите пожалуйста, какой алгоритм из двух правильный?
с уважением, Питер.
Вложения
crc.JPG
(129.5 КБ) 520 скачиваний
Программист ПЛИС
Реклама
misyachniy
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт июл 02, 2013 09:17:49

Re: Как расчитать CRC?

Сообщение misyachniy »

Ищется в интернете онлайн калькулятор CRC проганяется несколько последовательностей и сравнивается с предложенными алгоритмами.
Реклама
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7359
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Re: Как расчитать CRC?

Сообщение uldemir »

СпойлерЗачем так сложно? В ПЛИС есть логические элементы и CRC считается сдвиговыми регистрами. Например в моём термометре считается CRC для далласовского датчика:

Код: Выделить всё

crc <= (crc(0) xor datain) & crc (7 downto 5) & (crc(4) xor crc(0) xor datain) & (crc(3) xor crc(0) xor datain) & crc(2 downto 1);
Может, не изящно написано, зато работает. Данные подаются последовательно, побитно (с термодатчика они так и считываются).
Тфу ты блин!
ipiter писал(а):Я для микроконтроллера пишу реализацию расчёта
Ничего у вас не получится, если даже раздел для темы правильный выбрать не можете.
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Как расчитать CRC?

Сообщение Jack_A »

"Правильного", "стандартного" нет. Они разные, и все правильные :)
https://ru.wikipedia.org/wiki/Циклическ ... точный_код
Как советует misyachniy, если есть CRC от конкретного устройства, нужно проанализировать его на совпадение с предполагаемым алгоритмом.
В свое время я использовал генерацию CRC16 табличным методом, памяти ха'вает чуть больше, но работает мгновенно. Правда, у меня связывались мои блоки с моими же, так что друг друга они понимали по любому. Слизанное с Вики описание алгоритма с блеском прошло в научный отчет, добавляя ему наукообразности . :)) Для отладки сделал куркулятор CRC. Но это все для СRС16.
Noch einmal :
https://ru.wikibooks.org/wiki/Реализаци ... _код#CRC-8
Реклама
Эиком - электронные компоненты и радиодетали
Ответить

Вернуться в «ПЛИС»