Как рассчитывается контрольная сумма?

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Как рассчитывается контрольная сумма?

Сообщение Alexeus »

Есть электронный блок, он передает пакет информации (наверное по SPI интерфейсу, но я программно AVRкой тактую и считываю данные).

В пакете всегда 6 байт. 5 байт информация, а 6й контрольный. Выглядит так (hex):
29, 10, 12, 4D, 06, [E2 контрольный]. Сумма 6 байт = 80 (b10000000)
29, 11, 53, 50, 00, [A3 контрольный]. Сумма 6 байт = 80 (b10000000)
2A, 11, 53, 58, 1A, [80 контрольный]. Сумма 6 байт = 80 (b10000000)
29, 18, 12, 4D, 06, [D9 контрольный]. Сумма 6 байт = 7F (b01111111)

Помогите пожалуйста понять как рассчитывается контрольная сумма в данном конкретном случае, это какой то стандарт или что...
Не понятно также, почему сумма с проверочным байтом может отличаться, хотя там есть некоторая закономерность.
Спасибо!
Последний раз редактировалось Alexeus Чт фев 25, 2021 12:15:59, всего редактировалось 2 раза.
Реклама
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

Re: Как рассчитывается контрольная сумма?

Сообщение Аlex »

Совпадает ли 6-ой байт всегда, когда первые 5 одни и те же?
Может, это вовсе и не контрольная сумма :roll:

PS: Ну, а вообще, алгоритм может быть совсем любой. Даже каким-то своим.
PSPS: 2 варианта мало для анализа.
Реклама
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Re: Как рассчитывается контрольная сумма?

Сообщение Alexeus »

"Совпадает ли 6-ой байт всегда, когда первые 5 одни и те же?"
Вот на это я не обращал внимание, но скорее всего да.

В подавляющем большинстве вариаций байт, сумма последнего байта с предыдущими 5ю даёт 80, гораздо реже дает 7F.
1en2
Собутыльник Кота
Сообщения: 2804
Зарегистрирован: Вс фев 02, 2020 09:12:37

Re: Как рассчитывается контрольная сумма?

Сообщение 1en2 »

7F и 80 - это может быть циклический перенос со старшего разряда.....
Реклама
Эиком - электронные компоненты и радиодетали
jcxz
Мудрый кот
Сообщения: 1731
Зарегистрирован: Вт авг 15, 2017 10:51:13

Re: Как рассчитывается контрольная сумма?

Сообщение jcxz »

[uquote="Alexeus",url="/forum/viewtopic.php?p=3987433#p3987433"]В подавляющем большинстве вариаций байт, сумма последнего байта с предыдущими 5ю даёт 80, гораздо реже дает 7F.[/uquote]Какой-то самопальный колхоз.
Возможно туда ещё суммируется некая неявная инфа о кадре: в одних случаях она == 80h, в других =81h. А правильный результат должен быть ==0.
Например - какой-то набор битов-флагов (бит-карта):
там где результат ==80h, установлен только 7-й бит в бит-карте;
там где результат ==7Fh, установлены 0-й и 7-й бит в бит-карте.

ЗЫ: А вообще - может быть что угодно. Спрашивайте разработчика.

Добавлено after 53 seconds:
[uquote="1en2",url="/forum/viewtopic.php?p=3987513#p3987513"]7F и 80 - это может быть циклический перенос со старшего разряда.....[/uquote]
Не может быть. Воспользуйтесь калькулятором.
Реклама
Аватара пользователя
КРАМ
Друг Кота
Сообщения: 25327
Зарегистрирован: Чт янв 10, 2008 22:01:02
Откуда: Московская область, Фрязино

Re: Как рассчитывается контрольная сумма?

Сообщение КРАМ »

[uquote="Alexeus",url="/forum/viewtopic.php?p=3987415#p3987415"]Есть электронный блок, он передает пакет информации (наверное по SPI интерфейсу, но я программно AVRкой тактую и считываю данные).[/uquote]
Скорее всего это CRC8. Причем с неизвестным полиномом и начальным значением.
Реклама
Ответить

Вернуться в «Разные вопросы по МК»