+1

Конфликт по CAN шине c Techstream.

Grigoriy 4 years ago updated by KULISHZP 4 years ago 7

Проблема возникает во время сеанса диагностики с помощью j2534 совместимого адаптера в диагностическом ПО Toyota Techstream ( далее по тексту TIS ). В данном случае используется адаптер Dialink https://almisoft.ru/J2534.htm

Все тесты проводились совместно с разработчиком данного адаптера.

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

Экспериментальным путём было выявлено, что на обрывы влияет наличие сконфигурированной на обмен по CAN шине s96bt. Обрывы прекратились как только в настройках StarLine Master  были деактивированы выходы отвечающие за обмен по CAN и LIN.  

Скорее всего, проблема возникает в связи с особенностью работы TIS в паре с протоколом can ISO-15765-4, а именно в способе получения данных от различных ECU автомобиля в виде асинхронного потока с периодическими поддерживающими запросами.

TIS отправляет запрос на получение данных PID в режиме потоковой передачи, после чего ECU начинает передачу ответа и продолжает её до момента истечения таймера, который обновляется при получении поддерживающих запросов, в среднем 1 раз в 2500ms. Возможно, s96bt втискивает свои запросы в общий поток, тем самым вызывая сбой потоковой передачи.

На стороне адаптера видно, что обрыв происходит из-за ошибки в блоке данных поступившего по can шине.  

Так же необходимо учесть, что некоторые блоки ECU не поддерживают режим потоковой передачи и отдают данные только по прямым запросам. С такими блоками обрывы не наблюдаются.

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

Всё вышеописанное касается автомобиля Toyota Prius PHV RHD, 2012 г.в. 

Здравствуйте.

Прошу проверить работу диагностики когда сигнализация будет в Сервисном режиме.

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

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

Верно ли я понял, что в Сервисном режиме сигнализация мешает работе оборудования Techstream?

+1

Спасибо за сообщение. Информацию переслал разработчикам. Для теста прошу Вас выключить в настройках CAN в сигнализации чтение кодов ошибок сигнализации.

+1

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

Проверил несколько раз. Этот способ однозначно помогает избавиться от обрывов в соединении адаптер->ECU

Нужно и у себя проверить. Месяца три назад кабель работал, а недели две назад пробовал - не получается даже подключиться! В настройках сигнализации однозначно что-то за это время делал.