Например TDA7294

Форум РадиоКот • Просмотр темы - расчет контрольной суммы (требуется помощь)
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Ср янв 07, 2026 09:59:51

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 318 ]     ... , , , 7, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 15:16:19 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8899
Откуда: .ru
Рейтинг сообщения: 0
итого...
в интернете...
-сначала идёт преамбула... для синхронизации приёмника.
-потом идет адрес.
-потом идет длина пакета.
-потом идут данные.
-в конце CRC.
:tea:

у нас...
-синхронизации нет. скорость устанавливается вручную))
-потом идет адрес. 1B 02 - адрес у всех одинаковый. т.к. устройство у нас одно.))
-потом идет длина пакета... в битах... байтах.. октетах... попугаях...))
-потом идут данные.
-в конце КС.

длина пакета:
1B 02 04 DE 02 00 00 0A 12 E1
1B 02 05 DD 03 00 00 0B 00 25 CC
1B 02 06 DC 06 00 00 60 00 00 45 54
1B 02 09 D9 04 00 00 0B 03 7F F1 6F 00 28 E4
1B 02 0C D6 1B 00 00 6A 00 00 00 00 00 00 00 00 03 77
1B 02 0D D5 07 00 00 60 03 00 E7 07 05 1C 14 16 0A B7 99
1B 02 2D B5 21 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE 68 8C
...
где:
04 DE = 10 байт.
05 DD = 11 байт.
06 DC = 12 байт.
09 D9 = 15 байт.
0C D6 = 18 байт.
0D D5 = 19 байт.
2D B5 = 51 байт.
:tea:
какая интересная закономерность))
:roll:
мы можно вычислить длину пакета для любого количества байт...

00 E2 = 6 байт.
01 E1 = 7 байт.
02 E0 = 8 байт.
03 DF = 9 байт.
04 DE = 10 байт.
05 DD = 11 байт.
06 DC = 12 байт.
07 DB = 13 байт.
08 DA = 14 байт.
09 D9 = 15 байт.
0A D8 = 16 байт.
0B D7 = 17 байт.
0C D6 = 18 байт.
0D D5 = 19 байт.
0E D4 = 20 байт.
0F D3 = 21 байт.
...
...
2B B7 = 49 байт.
2C B6 = 50 байт.
2D B5 = 51 байт.
...
и т.д.
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 15:27:07 
Встал на лапы

Зарегистрирован: Сб авг 09, 2025 22:19:34
Сообщений: 114
Рейтинг сообщения: 0
итого...
в интернете...
-сначала идёт преамбула... для синхронизации приёмника.
-потом идет адрес.
-потом идет длина пакета.
-потом идут данные.
-в конце CRC.
:tea:

у нас...
-синхронизации нет. скорость устанавливается вручную))
-потом идет адрес. 1B 02 - адрес у всех одинаковый. т.к. устройство у нас одно.))
-потом идет длина пакета... в битах... байтах.. октетах... попугаях...))
-потом идут данные.
-в конце КС.

длина пакета:
1B 02 04 DE 02 00 00 0A 12 E1
1B 02 05 DD 03 00 00 0B 00 25 CC
1B 02 06 DC 06 00 00 60 00 00 45 54
1B 02 09 D9 04 00 00 0B 03 7F F1 6F 00 28 E4
1B 02 0C D6 1B 00 00 6A 00 00 00 00 00 00 00 00 03 77
1B 02 0D D5 07 00 00 60 03 00 E7 07 05 1C 14 16 0A B7 99
1B 02 2D B5 21 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE 68 8C
...
где:
04 DE = 10 байт.
05 DD = 11 байт.
06 DC = 12 байт.
09 D9 = 15 байт.
0C D6 = 18 байт.
0D D5 = 19 байт.
2D B5 = 51 байт.
:tea:
какая интересная закономерность))
:roll:
мы можно вычислить длину пакета для любого количества байт...

00 E2 = 6 байт.
01 E1 = 7 байт.
02 E0 = 8 байт.
03 DF = 9 байт.
04 DE = 10 байт.
05 DD = 11 байт.
06 DC = 12 байт.
07 DB = 13 байт.
08 DA = 14 байт.
09 D9 = 15 байт.
0A D8 = 16 байт.
0B D7 = 17 байт.
0C D6 = 18 байт.
0D D5 = 19 байт.
0E D4 = 20 байт.
0F D3 = 21 байт.
...
...
2B B7 = 49 байт.
2C B6 = 50 байт.
2D B5 = 51 байт.
...
и т.д.
:tea:

...так точно. подмечено.
пересмотрел свои талмуты с другими необубликованными логами команд
так точно.
...но после длинны пакет везде типа счетчик ( след . лог +1) обязательно
а уже дальше попугаи .
но это не приближает к алгоритму КС
....и еще хотел бы заметить ИМХО . что как мне кажется , тут надо делать упор не на какое то супер шифрование от взлома
нет,,, априори . весь комплекс большой, имет в этом плане достаточно защит и без того.
тут надо понимать высчитывается КС( CRC , горшок) исключительно для проверки целостности и правильности посылки,
т.к. здесь ошибки передачи недопустимы от слова Совсем.
любое неточное перемещения ЧЕРЕВАТО. посланная команда должна исполниться как "ЧАСЫ ходят"
даже если на них сидит КОТ.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 16:40:58 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8899
Откуда: .ru
Рейтинг сообщения: 0
почему не приближает... приближает)) только медленно... ))
взлом секретного кода не может быть быстрым))
:tea:
адрес + длина пакета = заголовок пакета.

заголовок пакета удовлетворяет условию: адрес + длина пакета = FF.

1B 02 80 62 00 03 00 C0 C9 72
1B + 02 + 80 + 62 =FF

1B 02 04 DE 01 00 00 FF 04 FA
1B + 02 + 04 + DE = FF

1B 02 06 DC 14 00 00 59 00 00 84 0E
1B + 02 + 06 + DC = FF

1B 02 0C D6 1B 00 00 6A 00 00 00 00 00 00 00 00 03 77
1B + 02 + 0C + D6 = FF

1B 02 2D B5 21 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE 68 8C
1B + 02 + 2D + B5 = FF
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 17:12:21 
Вымогатель припоя

Карма: 2
Рейтинг сообщений: -5
Зарегистрирован: Сб авг 09, 2025 22:08:28
Сообщений: 601
Рейтинг сообщения: 0
Забавно. Это ограничивает максимально возможную длину пакета значением FE (я бы так сделал), а третий байт является контролем целостности адреса и длины?


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 17:18:48 
Встал на лапы

Зарегистрирован: Сб авг 09, 2025 22:19:34
Сообщений: 114
Рейтинг сообщения: 0
почему не приближает... приближает)) только медленно... ))
взлом секретного кода не может быть быстрым))
:tea:
адрес + длина пакета = заголовок пакета.

заголовок пакета удовлетворяет условию: адрес + длина пакета = FF.

1B 02 80 62 00 03 00 C0 C9 72
1B + 02 + 80 + 62 =FF

1B 02 04 DE 01 00 00 FF 04 FA
1B + 02 + 04 + DE = FF

1B 02 06 DC 14 00 00 59 00 00 84 0E
1B + 02 + 06 + DC = FF

1B 02 0C D6 1B 00 00 6A 00 00 00 00 00 00 00 00 03 77
1B + 02 + 0C + D6 = FF

1B 02 2D B5 21 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE 68 8C
1B + 02 + 2D + B5 = FF
:tea:

ПОЛУЧАЕТСЯ..
что третий и четвёртый байты всегда E2


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 17:24:21 
Вымогатель припоя

Карма: 2
Рейтинг сообщений: -5
Зарегистрирован: Сб авг 09, 2025 22:08:28
Сообщений: 601
Рейтинг сообщения: 0
Не всегда. только для определённого адреса. Адрес может быть как один для устройства, так и несколько, я бы не привязывался к мысли о E2


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 17:30:13 
Встал на лапы

Зарегистрирован: Сб авг 09, 2025 22:19:34
Сообщений: 114
Рейтинг сообщения: 0
Не всегда. только для определённого адреса. Адрес может быть как один для устройства, так и несколько, я бы не привязывался к мысли о E2


.. Я в толмутах логов другого не встречал( констант)


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 17:31:13 
Мучитель микросхем
Аватар пользователя

Карма: 8
Рейтинг сообщений: 105
Зарегистрирован: Ср сен 02, 2015 07:47:20
Сообщений: 423
Рейтинг сообщения: 0
Код:
1B  02  09   D9 04 00 00 0B 03 7F F1 6F  00  28 E4
SOF EP SIZE [<======== 9 BYTES =======>] ??  CHSUM

1B  02  05   DD 05 00 00 0F  00  37 B4
SOF EP SIZE [<= 5 BYTES ==>] ??  CHSUM

1B  02  06   DC 06 00 00 60 00  00  45 54
SOF EP SIZE [<=== 6 BYTES ===>] ??  CHSUM

1B  02  0D   D5 07 00 00 60 03 00 E7 07 05 1C 14 16  0A  B7 99
SOF EP SIZE [<============= 13 BYTES =============>] ??  CHSUM

1B  02  04   DE 08 00 00  C0  E0 56
SOF EP SIZE [< 4 BYTES >] ??  CHSUM

Теперь я склоняюсь, что формат пакета вот такой:
Код:
1B  02  09  D9  04 00 00 0B 03 7F F1 6F 00  28 E4
SOF EP SIZE CP [<======== 9 BYTES =======>] CHSUM

1B  02  05  DD  05 00 00 0F 00  37 B4
SOF EP SIZE CP [<= 5 BYTES ==>] CHSUM

1B  02  06  DC  06 00 00 60 00 00  45 54
SOF EP SIZE CP [<=== 6 BYTES ===>] CHSUM

1B  02  0D  D5  07 00 00 60 03 00 E7 07 05 1C 14 16 0A  B7 99
SOF EP SIZE CP [<============= 13 BYTES =============>] CHSUM

1B  02  04  DE  08 00 00 C0  E0 56
SOF EP SIZE CP [< 4 BYTES >] CHSUM

Потому что комплемент суммы SOF, EP и SIZE устанавливается всегда. Ну а собственно, сама команда должна быть внутри тела пакета.

_________________
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 6 декабря 2025 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 18:03:21 
Встал на лапы

Зарегистрирован: Сб авг 09, 2025 22:19:34
Сообщений: 114
Рейтинг сообщения: 0
Забавно. Это ограничивает максимально возможную длину пакета значением FE (я бы так сделал), а третий байт является контролем целостности адреса и длины?

так получается
а длинна посылки одной команды для движения , даже сразу по трём осям , вполне себе FE
тут надо вспомнить что пултик управления девайсом работает на TS80C32
возможно конечно управления по другому входу RS485 от комплекса , но все входа всё равно идут на 16С54
главное целостность ну и время .

Добавлено after 29 minutes 3 seconds:
Код:
1B  02  09   D9 04 00 00 0B 03 7F F1 6F  00  28 E4
SOF EP SIZE [<======== 9 BYTES =======>] ??  CHSUM

1B  02  05   DD 05 00 00 0F  00  37 B4
SOF EP SIZE [<= 5 BYTES ==>] ??  CHSUM

1B  02  06   DC 06 00 00 60 00  00  45 54
SOF EP SIZE [<=== 6 BYTES ===>] ??  CHSUM

1B  02  0D   D5 07 00 00 60 03 00 E7 07 05 1C 14 16  0A  B7 99
SOF EP SIZE [<============= 13 BYTES =============>] ??  CHSUM

1B  02  04   DE 08 00 00  C0  E0 56
SOF EP SIZE [< 4 BYTES >] ??  CHSUM

Теперь я склоняюсь, что формат пакета вот такой:
Код:
1B  02  09  D9  04 00 00 0B 03 7F F1 6F 00  28 E4
SOF EP SIZE CP [<======== 9 BYTES =======>] CHSUM

1B  02  05  DD  05 00 00 0F 00  37 B4
SOF EP SIZE CP [<= 5 BYTES ==>] CHSUM

1B  02  06  DC  06 00 00 60 00 00  45 54
SOF EP SIZE CP [<=== 6 BYTES ===>] CHSUM

1B  02  0D  D5  07 00 00 60 03 00 E7 07 05 1C 14 16 0A  B7 99
SOF EP SIZE CP [<============= 13 BYTES =============>] CHSUM

1B  02  04  DE  08 00 00 C0  E0 56
SOF EP SIZE CP [< 4 BYTES >] CHSUM

Потому что комплемент суммы SOF, EP и SIZE устанавливается всегда. Ну а собственно, сама команда должна быть внутри тела пакета.

HardWareMan
я публиковал логи с доп. ПК с прогой для настройки на нём.
у посылок пульта возможны некоторые отличия.
хотя они должны быть в целом одинаковы -ИМХО


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 19:56:42 
Мучитель микросхем
Аватар пользователя

Карма: 8
Рейтинг сообщений: 105
Зарегистрирован: Ср сен 02, 2015 07:47:20
Сообщений: 423
Рейтинг сообщения: 0
Младший байт суммы получается правильным. Даже в коллизионных случаях. Не понимаю, почему не получается старший байт. Копаю дальше, на полный штык, уже 2 секрета расчёта суммы нашёл, что высветило 1 байт.
Код:
Загружено 57 пакетов.
1B 02 80 ! 62 : [FF 03 00 C0]                            : C9 72 ?? 00C9
1B 02 80 ! 62 : [00 03 00 C0]                            : C9 72 ?? 00C9
1B 02 04 ! DE : [FF 00 00 C0]                            : C0 7E ?? 00C0
1B 02 04 ! DE : [00 00 00 C0]                            : C0 7E ?? 00C0
1B 02 04 ! DE : [01 00 00 FF]                            : 04 FA ?? 0004
1B 02 04 ! DE : [02 00 00 0A]                            : 12 E1 ?? 0012
1B 02 05 ! DD : [03 00 00 0B 00]                         : 25 CC ?? 0025
1B 02 09 ! D9 : [04 00 00 0B 03 7F F1 6F 00]             : 28 E4 ?? 0028
1B 02 05 ! DD : [05 00 00 0F 00]                         : 37 B4 ?? 0037
1B 02 06 ! DC : [06 00 00 60 00 00]                      : 45 54 ?? 0045
1B 02 0D ! D5 : [07 00 00 60 03 00 E7 07 05 1C 14 16 0A] : B7 99 ?? 00B7
1B 02 04 ! DE : [08 00 00 C0]                            : E0 56 ?? 00E0
1B 02 04 ! DE : [09 00 00 C0]                            : E4 51 ?? 00E4
1B 02 04 ! DE : [0A 00 00 C0]                            : E8 4C ?? 00E8
1B 02 04 ! DE : [0B 00 00 C0]                            : EC 47 ?? 00EC
1B 02 04 ! DE : [0C 00 00 C0]                            : F0 42 ?? 00F0
1B 02 04 ! DE : [0D 00 00 C0]                            : F4 3D ?? 00F4
1B 02 04 ! DE : [0E 00 00 C0]                            : F8 38 ?? 00F8
1B 02 04 ! DE : [0F 00 00 C0]                            : FC 33 ?? 00FC
1B 02 04 ! DE : [10 00 00 C0]                            : 01 2E ?? 0001
1B 02 04 ! DE : [11 00 00 C0]                            : 05 29 ?? 0005
1B 02 04 ! DE : [12 00 00 C0]                            : 09 24 ?? 0009
1B 02 04 ! DE : [13 00 00 C0]                            : 0D 1F ?? 000D
1B 02 06 ! DC : [14 00 00 59 00 00]                      : 84 0E ?? 0084
1B 02 06 ! DC : [15 00 00 58 00 00]                      : 87 0B ?? 0087
1B 02 06 ! DC : [16 00 00 5A 00 00]                      : 93 FB ?? 0093
1B 02 04 ! DE : [17 00 00 10]                            : 6C 6C ?? 006C
1B 02 04 ! DE : [18 00 00 30]                            : 90 27 ?? 0090
1B 02 06 ! DC : [19 00 00 68 00 00]                      : CF AE ?? 00CF
1B 02 04 ! DE : [1A 00 00 33]                            : 9B 17 ?? 009B
1B 02 0C ! D6 : [1B 00 00 6A 00 00 00 00 00 00 00 00]    : 03 77 ?? 0003
1B 02 06 ! DC : [1C 00 00 69 00 00]                      : E4 95 ?? 00E4
1B 02 04 ! DE : [1D 00 00 C0]                            : 35 EC ?? 0035
1B 02 04 ! DE : [1E 00 00 C0]                            : 39 E7 ?? 0039
1B 02 04 ! DE : [1F 00 00 C0]                            : 3D E2 ?? 003D
1B 02 04 ! DE : [20 00 00 30]                            : B0 FE ?? 00B0
1B 02 2D ! B5 : [21 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : 68 8C ?? 0068
1B 02 04 ! DE : [22 00 00 7A]                            : 03 60 ?? 0003
1B 02 04 ! DE : [23 00 00 30]                            : BC EF ?? 00BC
1B 02 2D ! B5 : [24 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : EF 02 ?? 00EF
1B 02 04 ! DE : [25 00 00 7A]                            : 0F 51 ?? 000F
1B 02 04 ! DE : [26 00 00 30]                            : C8 E0 ?? 00C8
1B 02 2D ! B5 : [27 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : 77 77 ?? 0077
1B 02 04 ! DE : [28 00 00 7A]                            : 1B 42 ?? 001B
1B 02 04 ! DE : [29 00 00 30]                            : D4 D1 ?? 00D4
1B 02 2D ! B5 : [2A 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : FE EC ?? 00FE
1B 02 04 ! DE : [2B 00 00 7A]                            : 27 33 ?? 0027
1B 02 04 ! DE : [2C 00 00 30]                            : E0 C2 ?? 00E0
1B 02 2D ! B5 : [2D 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : 86 62 ?? 0086
1B 02 04 ! DE : [2E 00 00 7A]                            : 33 24 ?? 0033
1B 02 04 ! DE : [2F 00 00 30]                            : EC B3 ?? 00EC
1B 02 2D ! B5 : [30 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : 0E D7 ?? 000E
1B 02 04 ! DE : [31 00 00 7A]                            : 3F 15 ?? 003F
1B 02 04 ! DE : [32 00 00 30]                            : F8 A4 ?? 00F8
1B 02 2D ! B5 : [33 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : 95 4D ?? 0095
1B 02 04 ! DE : [34 00 00 7A]                            : 4B 06 ?? 004B
1B 02 04 ! DE : [35 00 00 30]                            : 05 95 ?? 0005

_________________
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 6 декабря 2025 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 19:58:32 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8899
Откуда: .ru
Рейтинг сообщения: 0
далее... идёт идентификатор.

1B 02 04 DE 00 00 00 C0 C0 7E
1B 02 04 DE 01 00 00 C0 C4 79
1B 02 04 DE 02 00 00 C0 C8 74
1B 02 04 DE 03 00 00 C0 CC 6F
...

1B 02 80 62 00 03 00 C0 C9 72
1B 02 80 62 01 03 00 C0 CD 6D
1B 02 80 62 02 03 00 C0 D1 68
1B 02 80 62 03 03 00 C0 D5 63
...
идентификатор это обычный счётчик.
в идентификаторе как и КС обратный порядок байт.
:tea:

вот тут вопрос... а заголовок участвует в расчёте КС ?
из этих пакетов не ясно...

надо взять два одинаковый пакета но с разным заголовком...

1B 02 04 DE 00 00 00 C0 C0 7E
1B 02 80 62 00 00 00 C0 ?? ??

и будет ясно))
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 20:25:40 
Мучитель микросхем
Аватар пользователя

Карма: 8
Рейтинг сообщений: 105
Зарегистрирован: Ср сен 02, 2015 07:47:20
Сообщений: 423
Рейтинг сообщения: 0
Вот коллизионные варианты:
Код:
1B 02 80 ! 62 : [FF 03 00 C0] : C9 72 ?? 00C9
1B 02 80 ! 62 : [00 03 00 C0] : C9 72 ?? 00C9
1B 02 04 ! DE : [FF 00 00 C0] : C0 7E ?? 00C0
1B 02 04 ! DE : [00 00 00 C0] : C0 7E ?? 00C0

Отмечу, что размер 0x80, что не правильно (в прошивке проверяются размеры на лимит в 0x78), я думаю, что старший бит в размере это флаг. Пока придумал, что 80 это 4 (судя по размеру посылки). Младший байт контрольной суммы вычисляется корректно. Старший пока копаю.

_________________
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 6 декабря 2025 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вс авг 24, 2025 22:10:12 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8899
Откуда: .ru
Рейтинг сообщения: 0
ну если идентификатор и КС имеют обратный порядок байт... то смею предположить что и размер пакета имеет обратный порядок байт.
а если сделать смелое предположение...)) то в пакете все байты имеют обратный порядок байт.
и тогда считать КС надо исходя из этого.
:tea:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вт авг 26, 2025 14:11:05 
Мучитель микросхем
Аватар пользователя

Карма: 8
Рейтинг сообщений: 105
Зарегистрирован: Ср сен 02, 2015 07:47:20
Сообщений: 423
Рейтинг сообщения: 0
Похоже, что тут 3 контрольные суммы размером в 1 байт. Первая - проверяет заголовок, дополняя его до FF (байт после размера). Вторая - контрольная сумма данных пакета (предпоследний байт, учитывает только данные после контрольной суммы заголовка и до контрольной суммы данных). И третья сумма это сумма всего пакета данных без анализа по факту приёма (последний байт в посылке). И все 3 считаются по-разному, первая, правда, проверяется по ходу просмотра принятых данных в кольцевом буфере UART, сразу как только найден синхробайт 0x1B. Теперь понятно, почему у меня корректным получается только 1 байт контрольной суммы данных.
СпойлерКручу в своей виртуалке, подсовывая данные в нужные места руками.
Изображение


Вложения:
Снимок.PNG [101.05 KiB]
Скачиваний: 222

_________________
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 6 декабря 2025 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вт авг 26, 2025 14:15:43 
Вымогатель припоя

Карма: 2
Рейтинг сообщений: -5
Зарегистрирован: Сб авг 09, 2025 22:08:28
Сообщений: 601
Рейтинг сообщения: 0
Странно, зачем так. Три каких-то уровня, получается.
Но круто, что разобрались!


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вт авг 26, 2025 14:49:06 
Встал на лапы

Зарегистрирован: Сб авг 09, 2025 22:19:34
Сообщений: 114
Рейтинг сообщения: 0
Похоже, что тут 3 контрольные суммы размером в 1 байт. Первая - проверяет заголовок, дополняя его до FF (байт после размера). Вторая - контрольная сумма данных пакета (предпоследний байт, учитывает только данные после контрольной суммы заголовка и до контрольной суммы данных). И третья сумма это сумма всего пакета данных без анализа по факту приёма (последний байт в посылке). И все 3 считаются по-разному, первая, правда, проверяется по ходу просмотра принятых данных в кольцевом буфере UART, сразу как только найден синхробайт 0x1B. Теперь понятно, почему у меня корректным получается только 1 байт контрольной суммы данных.
СпойлерКручу в своей виртуалке, подсовывая данные в нужные места руками.
Изображение


круто очень.
может ли такой алгоритм быть применён для стопроц. верной проверки целостности, учитывая ответственность прибора.
тем не менее это высший пилотаж в разборе полёта
надо разбираться , для практического применения .
как описывал выше ( обрезать передаваемый лог, сформированный спец. прогой для исключения ненужных команд )
а прога настройки формирует лог к примеру перемещения, но с возратом в исходную позицию, что и не надо.
снимаю шляпу...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вт авг 26, 2025 19:11:04 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8899
Откуда: .ru
Рейтинг сообщения: 0
снимаю шляпу...

рано.
приведите пример расчёта КС.
:tea:
Первая - проверяет заголовок, дополняя его до FF (байт после размера).

надо взять два одинаковый пакета но с разным заголовком...

1B 02 04 DE 00 00 00 C0 C0 7E
1B 02 80 62 00 00 00 C0 ?? ??

и будет ясно))

ответа не услышали))
:tea:
Вторая - контрольная сумма данных пакета (предпоследний байт, учитывает только данные после контрольной суммы заголовка и до контрольной суммы данных). И третья сумма это сумма всего пакета данных без анализа по факту приёма (последний байт в посылке). И все 3 считаются по-разному...

последние два байта связаны... "хитрым" образом))
1B 02 80 62 0C 03 00 C0 F9 36 +3FB
1B 02 80 62 0D 03 00 C0 FD 31 +3FB
1B 02 80 62 0E 03 00 C0 02 2C +3FB = 1 01 2C (переполнение счётчика) > перенос 1 > 02 2C
1B 02 80 62 0F 03 00 C0 06 27 +3FB
1B 02 80 62 10 03 00 C0 0A 22 +3FB

:tea:


Последний раз редактировалось roman.com Вт авг 26, 2025 19:12:31, всего редактировалось 1 раз.

Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вт авг 26, 2025 19:12:06 
Мучитель микросхем
Аватар пользователя

Карма: 8
Рейтинг сообщений: 105
Зарегистрирован: Ср сен 02, 2015 07:47:20
Сообщений: 423
Рейтинг сообщения: 0
[
надо взять два одинаковый пакета но с разным заголовком...

1B 02 04 DE 00 00 00 C0 C0 7E
1B 02 80 62 00 00 00 C0 ?? ??

и будет ясно))

ответа не услышали))

Присмотритесь: viewtopic.php?p=4741186#p4741186

_________________
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 6 декабря 2025 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вт авг 26, 2025 19:14:47 
Друг Кота

Карма: -1
Рейтинг сообщений: 86
Зарегистрирован: Вт мар 13, 2012 12:16:13
Сообщений: 8899
Откуда: .ru
Рейтинг сообщения: 0
:dont_know:


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: расчет контрольной суммы (требуется помощь)
СообщениеДобавлено: Вт авг 26, 2025 19:59:41 
Мучитель микросхем
Аватар пользователя

Карма: 8
Рейтинг сообщений: 105
Зарегистрирован: Ср сен 02, 2015 07:47:20
Сообщений: 423
Рейтинг сообщения: 1
Ну, вот и всё. Задача решена. Был не прав: контрольки всего 2: первая на заголовке, как описано выше, вторая на данные, считается от 0000. Вот результаты расчёта, алгоритм, внезапно, простой, но со своей изюминкой. Ниже исходные данные и рассчитанная сумма после ??. Видно, что в посылке она идёт "вперёд ногами", т.е. little endian. Было интересно размять мозги, всем спасибо, все свободны.
Код:
Загружено 57 пакетов.
1B 02 80 ! 62 : [FF 03 00 C0] : C9 72 ?? 72C9
1B 02 80 ! 62 : [00 03 00 C0] : C9 72 ?? 72C9
1B 02 04 ! DE : [FF 00 00 C0] : C0 7E ?? 7EC0
1B 02 04 ! DE : [00 00 00 C0] : C0 7E ?? 7EC0
1B 02 04 ! DE : [01 00 00 FF] : 04 FA ?? FA04
1B 02 04 ! DE : [02 00 00 0A] : 12 E1 ?? E112
1B 02 05 ! DD : [03 00 00 0B 00] : 25 CC ?? CC25
1B 02 09 ! D9 : [04 00 00 0B 03 7F F1 6F 00] : 28 E4 ?? E428
1B 02 05 ! DD : [05 00 00 0F 00] : 37 B4 ?? B437
1B 02 06 ! DC : [06 00 00 60 00 00] : 45 54 ?? 5445
1B 02 0D ! D5 : [07 00 00 60 03 00 E7 07 05 1C 14 16 0A] : B7 99 ?? 99B7
1B 02 04 ! DE : [08 00 00 C0] : E0 56 ?? 56E0
1B 02 04 ! DE : [09 00 00 C0] : E4 51 ?? 51E4
1B 02 04 ! DE : [0A 00 00 C0] : E8 4C ?? 4CE8
1B 02 04 ! DE : [0B 00 00 C0] : EC 47 ?? 47EC
1B 02 04 ! DE : [0C 00 00 C0] : F0 42 ?? 42F0
1B 02 04 ! DE : [0D 00 00 C0] : F4 3D ?? 3DF4
1B 02 04 ! DE : [0E 00 00 C0] : F8 38 ?? 38F8
1B 02 04 ! DE : [0F 00 00 C0] : FC 33 ?? 33FC
1B 02 04 ! DE : [10 00 00 C0] : 01 2E ?? 2E01
1B 02 04 ! DE : [11 00 00 C0] : 05 29 ?? 2905
1B 02 04 ! DE : [12 00 00 C0] : 09 24 ?? 2409
1B 02 04 ! DE : [13 00 00 C0] : 0D 1F ?? 1F0D
1B 02 06 ! DC : [14 00 00 59 00 00] : 84 0E ?? 0E84
1B 02 06 ! DC : [15 00 00 58 00 00] : 87 0B ?? 0B87
1B 02 06 ! DC : [16 00 00 5A 00 00] : 93 FB ?? FB93
1B 02 04 ! DE : [17 00 00 10] : 6C 6C ?? 6C6C
1B 02 04 ! DE : [18 00 00 30] : 90 27 ?? 2790
1B 02 06 ! DC : [19 00 00 68 00 00] : CF AE ?? AECF
1B 02 04 ! DE : [1A 00 00 33] : 9B 17 ?? 179B
1B 02 0C ! D6 : [1B 00 00 6A 00 00 00 00 00 00 00 00] : 03 77 ?? 7703
1B 02 06 ! DC : [1C 00 00 69 00 00] : E4 95 ?? 95E4
1B 02 04 ! DE : [1D 00 00 C0] : 35 EC ?? EC35
1B 02 04 ! DE : [1E 00 00 C0] : 39 E7 ?? E739
1B 02 04 ! DE : [1F 00 00 C0] : 3D E2 ?? E23D
1B 02 04 ! DE : [20 00 00 30] : B0 FE ?? FEB0
1B 02 2D ! B5 : [21 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : 68 8C ?? 8C68
1B 02 04 ! DE : [22 00 00 7A] : 03 60 ?? 6003
1B 02 04 ! DE : [23 00 00 30] : BC EF ?? EFBC
1B 02 2D ! B5 : [24 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : EF 02 ?? 02EF
1B 02 04 ! DE : [25 00 00 7A] : 0F 51 ?? 510F
1B 02 04 ! DE : [26 00 00 30] : C8 E0 ?? E0C8
1B 02 2D ! B5 : [27 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : 77 77 ?? 7777
1B 02 04 ! DE : [28 00 00 7A] : 1B 42 ?? 421B
1B 02 04 ! DE : [29 00 00 30] : D4 D1 ?? D1D4
1B 02 2D ! B5 : [2A 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : FE EC ?? ECFE
1B 02 04 ! DE : [2B 00 00 7A] : 27 33 ?? 3327
1B 02 04 ! DE : [2C 00 00 30] : E0 C2 ?? C2E0
1B 02 2D ! B5 : [2D 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : 86 62 ?? 6286
1B 02 04 ! DE : [2E 00 00 7A] : 33 24 ?? 2433
1B 02 04 ! DE : [2F 00 00 30] : EC B3 ?? B3EC
1B 02 2D ! B5 : [30 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : 0E D7 ?? D70E
1B 02 04 ! DE : [31 00 00 7A] : 3F 15 ?? 153F
1B 02 04 ! DE : [32 00 00 30] : F8 A4 ?? A4F8
1B 02 2D ! B5 : [33 00 00 69 A5 69 00 00 00 00 00 4C 04 00 00 4C 04 00 00 4B 06 00 00 00 01 FF FF 7F FE 00 00 00 01 FF FF 7F FE 00 00 00 02 FF FF 7F FE] : 95 4D ?? 4D95
1B 02 04 ! DE : [34 00 00 7A] : 4B 06 ?? 064B
1B 02 04 ! DE : [35 00 00 30] : 05 95 ?? 9505

_________________
Репозиторий STM32: https://cloud.mail.ru/public/2i19/Y4w8kKEiZ
Актуальность репозитория: 6 декабря 2025 года
Если чего-то не хватает с сайта st.com - пишите, докачаю.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 318 ]     ... , , , 7, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y