1

Тема: Canny 7.2 duo и j1939

Здравствуйте Всем.
Я новичёк в этой теме.

Поставлена задача обеспечить удаленное управление акселератором ам Урал.
Подключаю canny в режиме сниффера к авто, хочу увидеть данные о положении дроссельной заслонки для последующего написания программы управления, но увы таких данных не видно, есть данные о положении педали акселератора (2 ячейки видимо с 2х резисторов данные идут) и более подходящего не обнаружил. Отправка данных в эти ячейки обратно в can через командную строку монитора ни к чему не приводит.

Странно то, что не видно и много другого: Открытых-закрытых дверей и замков, поворотников и включения круиз-контроля.


Прошу толкнуть в нужную сторону.

2

Re: Canny 7.2 duo и j1939

Согласно J1939, положение заслонки может быть расположено в сообщении с ID=0xXXFEF2YY,  где XX и YY значения, зависящие от приоритета и адресата сообщения. Положение в сообщении - байт 6 (начиная отсчет с 0 - предпоследний байт), длина 1 байт.
Положение педали газа может находиться в сообщении с ID=0xXXF003YY. В сообщении расположено в байте 1 (начиная с 0), длина 1 байт. Тут же, в байте 3, может находиться значение положения "удаленной" педали газа.
Эти величины измеряются от 0 до 100% с шагом 0,4% (значение 1 (dec), дает 0,4%, значение 10 (dec) - 4%... 250 (dec) - 100%).
В любом случае, по стандарту J1939, сообщения CAN имеют расширенные ID. Для отправки из командной строки CAN(LIN)monitor сообщения со расширенным ID необходимо это указать. Подробнее об этом можно прочитать в разделе HELP самой утилиты или в wiki.
Данных о положении дверей, замков и т.п. может в шине просто не быть (наличие/отсутствие соответствующих электронных блоков).
Сообщения о положении педали газа должны следовать в шине 1 раз в 50мс.
Контроллеры CANNY 7.2 duo имеют 2 CAN интерфейса и могут работать в режиме шлюза или выступать в качестве эмулятора какого-либо электронного блока.
Обратите внимание, что реализация подобных проектов (вмешательство в работу двигателя автомобиля) может быть небезопасна.

3 (26-05-2020 15:53:46 отредактировано Declarius)

Re: Canny 7.2 duo и j1939

Прошу помощи у знатоков протокола j1939

Задача: Удаленное управление акселератором автомобиля Урал.

Просканировал can шину и увидел изменения в ячейках при нажатии на педаль газа:

При заглушенном двигателе:

0cf00300 С1 00 78 FF FF FF FF FF
0cf00400 F8 7D A9 00 00 00 F0 A1

После запуска двигателя на ХХ

(700 об.м)
0cf00300 С1 00 16 FF FF FF FF FF
0cf00400 F0 7D 88 E0 15 00 F3 88

После нажатия на педаль газа:

(900 об.м)
0cf00300 С0 2C 17 FF FF FF FF FF
0cf00400 F1 87  87 30 1C 00  F3 87

(1500 об.м)
0cf00300 С0 44 17 FF FF FF FF FF
0cf00400 F1 88 89 08 2F 00 F3 89

Прошу помощи разобраться в этих данных....

Вижу, что при нажатии на педаль газа 0байт 300 ячейки меняется с C1 на С0 (Видимо сообщение о активации педали газа) и 1байт увеличивает значение по мере нажатия на педаль (Данные о положении педали газа), 2й байт непонятен.
А с 400й ячейкой непонятно все.

Пробовал отправить с командной строки
Данные вида:
0cf00300 0xC0 0x35 0x19 0xff 0xff 0xff 0xff 0xff eff repeat 500
в мониторе данные идут через строчку с данными при ХХ, двигатель никак не реагирует.

Есть предположение, что данные 300й и 400й ячеек связаны и для имитации нажатия на педаль газа нужно обе ячейки подменять.....

4

Re: Canny 7.2 duo и j1939

Неплохое описание по J1939 можно найти тут: https://gurtam.com/files/ftp/CAN/j1939-71.pdf
Частично информация по приведенным ID дана в сообщении 2 данной темы.
Попытка отправки сообщений электронных блоков, уже представленных в шине, параллельно с ними, скорее всего не приведет к результату, т.к. блоки автомобиля отправляют свои состояния периодически и перебить их путем отправки их сообщений с другими данными не получится.

5

Re: Canny 7.2 duo и j1939

Денис, CANNY пишет:

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

Я подключил к автомобилю OBDII тестер с возможностью проверки блоков автомобиля и в его меню нашел пункт "педаль газа" которой он отлично управляет находясь в системе вместе с самой педалью.
Данные can шины такие же как при механическом нажатии педали газа.

6

Re: Canny 7.2 duo и j1939

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

7

Re: Canny 7.2 duo и j1939

Благодарю Денис за файл с описанием протокола.

Пошустрил документ, сделал выборку данных и увидел, что can монитор не отображает требуемые мне ячейки.
Из этого возникает вопрос, а монитор canny отображает все данные протокола J1939?
Ощущаю себя смотрящим в маленькую щелку потока данных.

8

Re: Canny 7.2 duo и j1939

Declarius пишет:

...монитор canny отображает все данные протокола J1939?

CAN(LIN) monitor отображает все данные присутствующие в шине.
Если какие-либо данные не отображаются, то их может просто не быть. Протокол не подразумевает обязательное наличие всех данных J1939 в шине, их набор зависит от наличия или отсутствия тех или иных электронных блоков и определяется производителем техники, исходя из его потребностей.