1

Тема: Извлечение данных наддува из OBDII VAG

Приветствую всех.
Наконец то подключил контроллер к авто.
Подключил к диагностическому разъёму OBDII.
Как я понял, там у меня то же скоростная шина на 500 кbit/s.
Одновременно к диагностическому разъёму OBDII, подключился сканером VAG VCD.

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

Вот лог этих данных

Странно, но значения что по первому, что по второму запросу были в одном адресе.

Затем, я решил оба значения одновременно посмотреть.

Вложений в сообщении

Иконка вложения Заданное+Фактическое.png 62.97 кб, скачивался 53 раз, последний раз 2018-07-22 

Иконка вложения Заданное+Фактическое.txt 37.73 кб, скачивался 114 раз, последний раз 2018-07-22 

Иконка вложения Заданное.png 56.8 кб, скачивался 50 раз, последний раз 2018-07-22 

Иконка вложения Заданное.txt 39.6 кб, скачивался 105 раз, последний раз 2018-07-22 

Иконка вложения Фактическое.png 51.53 кб, скачивался 50 раз, последний раз 2018-07-22 

Иконка вложения Фактическое.txt 20.08 кб, скачивался 117 раз, последний раз 2018-07-22 

2

Re: Извлечение данных наддува из OBDII VAG

В итоге, я так и не понял где и что находится.

Не пинайте сильно, но пока не могу понять до конца всего принципа работы с контроллером.
Надеюсь на Вашу помощь.

1) Какие мне данные взять для своей диаграммы по Контролю наддува? (исходя из вышеизложенных значений)
2) Как правильно отфильтровать ненужное и вставить в диаграмму?
3) Почему без запроса с моего сканера, в Can шине тишина, нет вообще никаких данных?


PS: Попробовал проанализировать полученные данные:
0x7e8  0x05  0x62  0x11 0xF1  0x17  0x0E  0x55  0x55   72866  .b....UU - Заданное

0x7e8  0x05  0x62  0x11  0xF0  0x32  0x60  0x55  0x55   175446   .b..2`UU - Фактическое

Нашел различия.

Вложений в сообщении

Иконка вложения up-n-down1.cfd 1.71 кб, скачивался 106 раз, последний раз 2018-07-22 

3

Re: Извлечение данных наддува из OBDII VAG

Приплыл

Вложений в сообщении

Иконка вложения Заданное.cfd 1.39 кб, скачивался 108 раз, последний раз 2018-07-22 

4

Re: Извлечение данных наддува из OBDII VAG

oniava пишет:

В итоге, я так и не понял где и что находится.

Не пинайте сильно, но пока не могу понять до конца всего принципа работы с контроллером.
Надеюсь на Вашу помощь.

1) Какие мне данные взять для своей диаграммы по Контролю наддува? (исходя из вышеизложенных значений)
2) Как правильно отфильтровать ненужное и вставить в диаграмму?
3) Почему без запроса с моего сканера, в Can шине тишина, нет вообще никаких данных?

К принципу работы с контроллером здесь относится только второй ворос. Это подробно и с примерами рассмотрения документации: http://wiki.canny.ru/index.php?title=CA … %D1%80_CAN
Определитесь с данными, которые вы хотите обработать в диаграмме и пробуйте добавть сооьветствующую обработку в свою диаграмму. При возникновения затруднений с этим - спрашивайте.
Всё остальное - про автомобиль, а не про контроллер.

5

Re: Извлечение данных наддува из OBDII VAG

Приплыл

Модераторское: Предупреждение за флуд.

Пожалуйста, максимально развернуто задавайте ваши вопросы.

6

Re: Извлечение данных наддува из OBDII VAG

Сделал пока так.
Сможете подправить где неправильно?

Вложений в сообщении

Иконка вложения Заданное1.cfd 1.62 кб, скачивался 120 раз, последний раз 2018-07-23 

7

Re: Извлечение данных наддува из OBDII VAG

В общем все правильно. Кое-что лишнее. Кое-чего не хватает.
Фильтры на сообщения CAN устанавливаются только по ID. В данном случае это не расширенный ID и нужно использовать только фильтр по IDL.
2 раза проверять наличие данных CAN в одном выражении нет смысла, а вот проверка того, что это ответ именно на посланный запрос не повредит, т.е. проверить все байты данных (D0,D1,D2,D3) на соответствие ожидаемому ответу. Обратите внимание на перестановку местами байт данных в сообщении: в регистрах указываются D3:D2 и D5:D4. Немного подправленный вариант во вложении.

Вложений в сообщении

Иконка вложения Заданное1a.cfd 1.66 кб, скачивался 122 раз, последний раз 2018-07-23 

8

Re: Извлечение данных наддува из OBDII VAG

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

В общем все правильно. Кое-что лишнее. Кое-чего не хватает.
Фильтры на сообщения CAN устанавливаются только по ID. В данном случае это не расширенный ID и нужно использовать только фильтр по IDL.
2 раза проверять наличие данных CAN в одном выражении нет смысла, а вот проверка того, что это ответ именно на посланный запрос не повредит, т.е. проверить все байты данных (D0,D1,D2,D3) на соответствие ожидаемому ответу. Обратите внимание на перестановку местами байт данных в сообщении: в регистрах указываются D3:D2 и D5:D4. Немного подправленный вариант во вложении.

Спасибо Денис.
Значит надо было мне реализовывать проверку ещё старших байтов, до байтов с данными, где содержится моё сообщение.
У меня два входных сигнала с Кан шины.
По аналогии добавил второй сигнал, но смущает регистр установки фильтра приема CAN-IDL0 b CAN-IDL1.
CAN IDL1 - в моем случае то же добавляется?

Вложений в сообщении

Иконка вложения Заданное1a.cfd 3.14 кб, скачивался 99 раз, последний раз 2018-07-23 

9

Re: Извлечение данных наддува из OBDII VAG

А если три сообщения Кан принять надо?
Еще и такое, данные состояния кнопки на руле.

Клавиша руля

Вложений в сообщении

Иконка вложения клавиша руля .png 33.19 кб, скачивался 53 раз, последний раз 2018-07-23 

10

Re: Извлечение данных наддува из OBDII VAG

У меня получилось так, но всё равно смущает регистр установки фильтра приема CAN-IDL0, CAN-IDL1 и CAN-IDL2.
Правильно ли я их добавил?

Вложений в сообщении

Иконка вложения Заданное1B.cfd 4.62 кб, скачивался 101 раз, последний раз 2018-07-23 

11

Re: Извлечение данных наддува из OBDII VAG

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

12

Re: Извлечение данных наддува из OBDII VAG

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

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

Поправил Денис, если правильно понял.
верно?

Вложений в сообщении

Иконка вложения Заданное1B.cfd 4.43 кб, скачивался 108 раз, последний раз 2018-07-23 

13

Re: Извлечение данных наддува из OBDII VAG

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

При применяемом подходе устанавливать фильтры нет смысла, т.к. нагрузка на шину небольшая и обмен данными идет по схеме запрос-ответ (только на посланный запрос будет получен ответ) и со строгим соответствием ответа запросу.

А вот здесь Денис немного не понял.
Получается, чтобы подслушать в Кан-шине нужные мне данные, я должен сначала  туда же сообщение отправить, что бы вызвать эти данные?
В моем случае, запросом для ЗАДАННОГО являться:

     0x7e0  0x03 0x22 0x11 0xF1 0x55 0x55 0x55 0x55 175421    ."..UUUU

Для запросом для ФАКТИЧЕСКОГО являться:

     0x7e0  0x03 0x22 0x11 0xF0 0x55 0x55 0x55 0x55 25827    ."..UUUU

Правильно я понял?

14

Re: Извлечение данных наддува из OBDII VAG

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

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

Поправил Денис, если правильно понял.
верно?

Вложений в сообщении

Иконка вложения Заданное1C.cfd 4.46 кб, скачивался 108 раз, последний раз 2018-07-23 

15

Re: Извлечение данных наддува из OBDII VAG

oniava пишет:

...Получается, чтобы подслушать в Кан-шине нужные мне данные, я должен сначала  туда же сообщение отправить, что бы вызвать эти данные?

В данном случае да. Это диагностический протокол, строящийся по принципу запрос-ответ.

oniava пишет:

...В моем случае, запросом для ЗАДАННОГО являться:
     0x7e0  0x03 0x22 0x11 0xF1 0x55 0x55 0x55 0x55 175421    ."..UUUU
Для запросом для ФАКТИЧЕСКОГО являться:
      0x7e0  0x03 0x22 0x11 0xF0 0x55 0x55 0x55 0x55 25827    ."..UUUU

Да это запросы. И на каждый приходят соответствующие ответы:
0x7e0  0x03 0x22 0x11 0xF1 0x55 0x55 0x55 0x55 - запрос заданного;
0x7e8  0x05 0x62 0x11 0xF1 0xХХ 0xХХ 0x55 0x55 - ответ со значением заданного, где ХХ - значения.
0x7e0  0x03 0x22 0x11 0xF0 0x55 0x55 0x55 0x55 - запрос фактического;
0x7e8  0x05 0x62 0x11 0xF0 0xХХ 0xХХ 0x55 0x55 - ответ со значением фактического, где ХХ - значения.

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

16

Re: Извлечение данных наддува из OBDII VAG

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

В данном случае да. Это диагностический протокол, строящийся по принципу запрос-ответ.

Денис, а если подключиться не в диагностическую Кан шину?
Странно, на скорости 500 kbit/s, должна быть скоростная шина.
Но в моем авто, эта шина есть и на диагностическом разъеме и на блоке интерфейса данных.
На блоке  интерфейса данных, она называется - главная скоростная шина.
Даже цвет проводов в шине такой же как и в диагностической.
Но действительно, подключившись к диагностическому разъему, пока я запрос не отправил, была тишина.
По сути, в ней должны уже быть сообщения, так как авто было заведено и данные должны были быть уже.
Подключение к блоку интерфейса данных, я не выполнил еще, увлекся приемом сообщений из диагностической колодки.
По сути, если попробую изменить подключение и и в окне Кан монитора я увижу нужные мне кодификаторы сообщений,  то мне отправка сообщений в Кан шину, мне уже будет не нужна.
Правильно я предположил Денис?

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

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

По поводу кнопки руля.
У меня была задача, найти сигнал к Кан шине именно с определенной кнопки на руле.
При нажатии и удержании этой кнопки на руле, у меня должна была появляться "единичка", для запуска другой части диаграммы.
После опускании кнопки на руле, сбрасывалось состояние на "нуль".
Поэтому, решил сделать без запоминание через  D-триггер.

Возможно и я ошибаюсь Денис в своих предположениях.
Пока это мои догадки.

17

Re: Извлечение данных наддува из OBDII VAG

Именно по этому в самом начале мы и не могли рекомендовать шину для подключения при решении исходной задачи. Может оказаться что нужных данных, кроме как в диагностической шине, нет. Это нужно пробовать подключаться и смотреть. Кроме того в общем потоке данных нужная информация наверняка будет представлена в других ID и т.п.
При обычном подключении к CAN и активности шины в CAN(LIN) мониторе сразу будет идти поток данных. В этом случае запросов отправлять не нужно.
По кнопке руля. Все та же ситуация с запросами-ответами. Нужно использовать D-триггер для запоминания состояния кнопки до прихода следующего сообщения, сообщающего ее статус. Актуальность данных в регистрах CAN гарантируется только при наличии 1 в регистре принятых данных CAN. При этом одни и те же регистры используются для передачи в диаграмму данных при получении и других CAN-сообщений. В исходном варианте диаграммы состояние кнопки будет актуально только при получении соответствующего ответа на запрос.

18

Re: Извлечение данных наддува из OBDII VAG

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

Кроме того в общем потоке данных нужная информация наверняка будет представлена в других ID и т.п.

А как я смогу найти тогда эти данные и проверить, что это они?

На всякий случай начал прорабатывать отправку моих сообщений в Кан шину.
С учетом, что в моём случае при отправке сообщений:
0x7e0  0x03 0x22 0x11 0xF1 0x55 0x55 0x55 0x55 - запрос заданного;
0x7e0  0x03 0x22 0x11 0xF0 0x55 0x55 0x55 0x55 - запрос фактического;

у обоих запросов:
IDL - постоянный;
D0 и D1 - постоянные;
D4 и D5 - постоянные;
D6 и D7 - постоянные;

Остаются байты, которые меняются в запросах:
D2 и D3 - 0x11 0xF1 и 0x11 0xF0.

Периодичность отправки сообщений сделал 1 раз в 100 мсек.

Диаграмма получилась такая.

Посмотрите Денис.

А вот если еще запрос на кнопку руля отправлять, тут сложнее наверное.
Я могу одновременно 2 разных запроса отправлять?

Вложений в сообщении

Иконка вложения Отправка сообщений.cfd 1.12 кб, скачивался 112 раз, последний раз 2018-07-23 

19

Re: Извлечение данных наддува из OBDII VAG

Не установлена длинна отправляемых данных - регистр ERL. Его можно установить равным 8 - все 8 байт будут отправляться в запросе, хотя значащих всего 4. А в остальном подход верный.
По сути это уже 2 различных запроса просто с одинаковым ID. Можно расширить этот подход и до отправки нескольких разных ID (см. пример 4).

20

Re: Извлечение данных наддува из OBDII VAG

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

см. пример 4

Я правильно понял, в данном примере происходит отправка 8 разных сообщений по очереди  с интервалом 500 мс.?

21

Re: Извлечение данных наддува из OBDII VAG

1 раз в секунду отправляются 8 сообщений с разными ID, разной длины и разного содержания. Небольшая модификация диаграммы примера 4 позволяет отправлять от 1 до 8 различных сообщений.

22

Re: Извлечение данных наддува из OBDII VAG

Попробую на примере №4 свои сообщения отправлять.

Денис, ERL это количество изменяемых байт в в отправленном сообщении?

23

Re: Извлечение данных наддува из OBDII VAG

Есть регистр чтения ERL и регистр установки ERL (см. драйвер CAN).
Один используется для проверки длины принятого сообщения и некоторой дополнительной информации, а другой для установки длины отправляемого сообщения.

24

Re: Извлечение данных наддува из OBDII VAG

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

Один используется для проверки длины принятого сообщения и некоторой дополнительной информации, а другой для установки длины отправляемого сообщения.

Тогда получается, при чтении сообщений с Кан шины мне еще надо добавить !Регистр чтения CAN ERL = 8"?
В моей диаграмме, я получается упустил это...

25

Re: Извлечение данных наддува из OBDII VAG

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

(см. пример 4).

По аналогии с Вашим примером Денис, получилось так:

Вложений в сообщении

Иконка вложения Отправка сообщений1.cfd 3.53 кб, скачивался 104 раз, последний раз 2018-07-23