82

Помогите разобрать протокол

Возникла необходимость прочитать и имитировать данные, посылаемые датчиком в ЭБУ. Датчик измеряет 4 параметра и шлёт их по шине LIN с нестандартной скоростью в ЭБУ. ЭБУ, в свою очередь, отображает полученные данные в ПО на компе.

Вопрос как считать поток и как вычленить нужные данные я решил. Промерял осциллом единичный бит, посчитал частоту.

Помогите разобрать протокол Электроника, Нужна помощь в ремонте, Arduino

Выяснил, скорость 8000 бод. Считал поток в терминал, вычленил ID отключая разные исполнительные девайсы, висящие на шине. Нашёл нужный мне ID, который давал данные при подключенном датчике, и не давал при отключенном.

Далее написал прошивку, которая отвечает на запрос ЭБУ вместо датчика. В ПО присутствие эмулятора видно (начинают появляться данные), корректность получаемых данных тоже подтверждена. Формат пакета стандартный LIN: синхра(0х55), ID (в моём случае 47), 4 байта данных, контрольная сумма один байт. Если просчитатся с контролькой и отправить некорректную, то датчик в ПО отваливается. Отсюда-данные передаются и воспринимаются ЭБУ и ПО корректно.

И вот тут затык. Из 4 байтов данных два средних байта не влияют на данные, отображаемые ПО. А малейшее изменение первого и последнего меняют три параметра, отображаемые ПО, один параметр постоянно болтается в ноле. На него 1 и 4 байт не влияют.

Как такое может быть? Как четырьмя тетрадами можно закодировать минимум три трёхзначных параметра, два с дробной частью до десятых и два до сотых? Четвёртый параметр тоже шевелится посредством реального датчика, но этот снимок я не сделал.

Провёл несколько экспериментов, полученные данные свёл в таблицу. Жёлтый столбик данные датчика, зелёный отображаемые в ПО.

Помогите разобрать протокол Электроника, Нужна помощь в ремонте, Arduino

TECHNO BROTHER

2K пост13.5K подписчика

Правила сообщества

1-Мы А-политическое сообщество. 2-Запрещено оскорбление: Администрации Пикабу, сообщества, участников сообщества а также родных, близких выше указанных.

3-Категорически запрещается разжигание межнациональной розни или действий, направленных на возбуждение национальной, расовой вражды, унижение национального достоинства, а также высказывания о превосходстве либо неполноценности пользователей по признаку их отношения к национальной принадлежности или политических взглядов. Мат - Нежелателен. Учитесь выражать мысли без матерщины

Вы смотрите срез комментариев. Показать все
0
Автор поста оценил этот комментарий

Запустите поделие с константными температурами и давлениями на 5 минут, запишите лог обмена, лог должен быть поделен на месседжи, контрольки и хидеры можно убрать. Измените ОДНО значение (любое), снова запишите лог. Можно выслать eulle@yandex.ru.

раскрыть ветку (4)
2
Автор поста оценил этот комментарий

спасибо за желание помочь. Вопрос пока отложил в пачку "сделать никогда". Вышел из положения костылем: раскурочил сломанный датчик, вместо сенсоров давления поставил многооборотные резисторы, термисторы один оставил как есть, второй тоже заменил на резистор. Выставил нужные мне показатели и запустил всю систему.

В общем случае, конкретно вопрос эмуляции датчика не решён, но работать дальше уже возможно.

Хотел сделать универсальный инструмент, который мог повторить каждый из обычной ардуинки или дешёвого МК, но, видимо, не вывез. "Не получилось, не фартануло".

Лог с костылём вместо датчика снял, но яснее ничего не стало. Как он выставляет данные непонятно.

раскрыть ветку (3)
Автор поста оценил этот комментарий

Вы что хотели то тогда? Похвастаться? Мы таки даже не поняли чем. Но на всякий случай восхитились.

раскрыть ветку (2)
2
Автор поста оценил этот комментарий

меньше всего я хотел объясняться с людьми, которые обязательно везде ищут какой-то подвох, тайный смысл, двойное дно. Хотел чтоб более грамотные помогли разобрать как датчик передаёт данные. Время шло, я не спал, копал в нужную мне сторону, не докопал, нашёл другое решение.

раскрыть ветку (1)
Автор поста оценил этот комментарий

А так это олимпиада, прастити, сразу не заметно.. не хотели объясняться - не создавали бы пост. А так у вас ни названия сенсора ни названия эбу, лохи сами догаются, так? Ну вот вам и напихают, и не раз.

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку