Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Общетехнические вопросы

Общетехнические вопросы Общие вопросы аналоговой и цифровой электроники.

Ответ
 
Опции темы Опции просмотра
Старый 30.10.2018, 11:14   #1
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 36
Сообщений: 539
Вес репутации: 349/42
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию снова, взлом серийного (неизвестного) Протокола - Yenet1200

Всем Привет.

Опять взламываю системы ЧПУ, надо расшифровать протокол! Похож на Манчестер, только в этот раз гальванически развязан через трансформатор.


Я систему практически взломал, и контрольную сумму вроде тоже.
80% пакетов работают и система мне отвечает правильно, как и должна. но есть один нюанс, где я не могу понят как работает система.
Те пакеты которые не работают, это пакеты у которых прибавляются 1 максимально 2 бита на весь пакет (это sync (0xDF) и 0x44 frame), типа bitstuffing.
Но я не вижу эту заглушку(я вижу что прибавляются 1 до 2 бита, но где не понятно), мое мнение это удлинение пакета происходит на контрольной сумме, типа контрольная сумма плавающая. от 16 до 18 бит.


Frame формат, по этой расшифровке работают 80 % всех пакетов:
Preamble (16Bit = 0x5555), flag (8bit = 0x7E), address (8bit), control (8bit), information (128bit = byte0 - byte15), CRC (16bit), flag (8bit = 0x7E)


есть идее как это работает?
Миниатюры
sync frame - crc fail - +2Bit.png   addr 0x41 frame - crc good - +0Bit.png   addr 0x42 frame - crc good - +0Bit.png   addr 0x43 frame - crc good - +0Bit.png   addr 0x44 frame - crc fail - +1Bit.png  


Последний раз редактировалось Gera82; 30.10.2018 в 11:25.
Gera82 вне форума   Ответить с цитированием
Старый 30.10.2018, 11:15   #2
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 36
Сообщений: 539
Вес репутации: 349/42
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию Re: Цнова, взлом серийного (неизвестного) Протокола - Yenet1200

шестая фотка, как формуется поток данных.
Миниатюры
transmission - sync, 0x41...0x4F.png  
Gera82 вне форума   Ответить с цитированием
Старый 30.10.2018, 12:20   #3
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 36
Сообщений: 539
Вес репутации: 349/42
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию Re: снова, взлом серийного (неизвестного) Протокола - Yenet1200

Мной сформированные пакеты, те которые красные не работают, система не отвечает, так как пакет удлиняется на 1 или 2 бита (в оригинальных потоке), в моих пакетах удлинения на один или два бита нету, не могу понять по какому критерию их удлинить и пересчитать CRC

Код:
 sendData(0xDF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //5-Packet, FRC = CRC (16 bit): 0x850; crc_2 0 2128
delay_us(U_SEKUNDEN);

sendData(0x41,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //6-Packet, FRC = CRC (16 bit): 0x20A4; crc_2 1 8356
delay_us(U_SEKUNDEN);

sendData(0x42,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //7-Packet, FRC = CRC (16 bit): 0x219C; crc_2 2 8604
delay_us(U_SEKUNDEN);

sendData(0x43,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //8-Packet, FRC = CRC (16 bit): 0xD97B; crc_2 3 55675
delay_us(U_SEKUNDEN);

sendData(0x44,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //9-Packet, FRC = CRC (16 bit): 0x43EC; crc_2 4 17388
delay_us(U_SEKUNDEN);

sendData(0x45,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //10-Packet, FRC = CRC (16 bit): 0xDB0B; crc_2 5 56075
delay_us(U_SEKUNDEN);

sendData(0x46,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //11-Packet, FRC = CRC (16 bit): 0xDA33; crc_2 6 55859
delay_us(U_SEKUNDEN);
Gera82 вне форума   Ответить с цитированием
Старый 01.11.2018, 11:07   #4
_WIL_
Senior Member
 
Регистрация: 26.11.2009
Адрес: Беларусь
Сообщений: 709
Вес репутации: 1181/51
_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of_WIL_ has much to be proud of
По умолчанию Re: снова, взлом серийного (неизвестного) Протокола - Yenet1200

Цитата:
Сообщение от Gera82 Посмотреть сообщение
Мной сформированные пакеты, те которые красные не работают, система не отвечает, так как пакет удлиняется на 1 или 2 бита (в оригинальных потоке), в моих пакетах удлинения на один или два бита нету, не могу понять по какому критерию их удлинить и пересчитать CRC

Код:
 sendData(0xDF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //5-Packet, FRC = CRC (16 bit): 0x850; crc_2 0 2128
delay_us(U_SEKUNDEN);

sendData(0x41,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //6-Packet, FRC = CRC (16 bit): 0x20A4; crc_2 1 8356
delay_us(U_SEKUNDEN);

sendData(0x42,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //7-Packet, FRC = CRC (16 bit): 0x219C; crc_2 2 8604
delay_us(U_SEKUNDEN);

sendData(0x43,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //8-Packet, FRC = CRC (16 bit): 0xD97B; crc_2 3 55675
delay_us(U_SEKUNDEN);

sendData(0x44,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //9-Packet, FRC = CRC (16 bit): 0x43EC; crc_2 4 17388
delay_us(U_SEKUNDEN);

sendData(0x45,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //10-Packet, FRC = CRC (16 bit): 0xDB0B; crc_2 5 56075
delay_us(U_SEKUNDEN);

sendData(0x46,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00); //11-Packet, FRC = CRC (16 bit): 0xDA33; crc_2 6 55859
delay_us(U_SEKUNDEN);
А оригинальный пакет в таком виде показать можете? В картинках лень битики считать. Удлинение оригинального пакета действительно наводит на мысли о байт стаффинге.

Последний раз редактировалось _WIL_; 01.11.2018 в 11:21.
_WIL_ вне форума   Ответить с цитированием
Старый 01.11.2018, 23:50   #5
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 36
Сообщений: 539
Вес репутации: 349/42
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию Re: снова, взлом серийного (неизвестного) Протокола - Yenet1200

Я уже разобрался, спасибо за совет. Как только 5 единиц приходят, то добавляется нолик
В последним проекте была похожая проблема.
Gera82 вне форума   Ответить с цитированием
Старый 03.11.2018, 18:33   #6
Gera82
Senior Member
 
Аватар для Gera82
 
Регистрация: 13.08.2009
Адрес: Frankfurt / Новосибирск
Возраст: 36
Сообщений: 539
Вес репутации: 349/42
Gera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the roughGera82 is a jewel in the rough
По умолчанию Re: снова, взлом серийного (неизвестного) Протокола - Yenet1200

Как мне организовать bitstuffing железом? программно то я сделал на дсПык33еп, но к сожалению я не успеваю обрабатывать, хочу попробовать на PiC32MZ может быть буду успевать.
Сейчас делаю так;
1. 24 байта дроблю на биты
2. Перебираю биты, проверяю на 5 единиц, добавляю нолики.
3.Обработанные биты собираю в массив.
4. Потом отсылаю этот массив.

Это все занимает кучу времени, может быть можно по другому решить это проблему? Программно?

А вообще я думаю лучше взять fpga или cpld, но знаний нет, что я програмировал это были pal16v8.
Gera82 вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +3, время: 21:31.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot