Распиновка кан шины фольксваген

Добавил пользователь Дмитрий К.
Обновлено: 19.09.2024

Сегодня мы поговорим о методах расшифровки данных CAN шины на примере автомобиля VW Polo Sedan 2019 года выпуска. В интернете такие статьи часто называют Хаками CAN шины, но мне такое название не по душе.

В статье описаны методики поиска нужных данных в CAN шине автомобиля, примеры применения этих методик на VW Polo Sedan. В качестве оборудования для подключения к CAN шине используется Vega MTX. Еще чуть-чуть поговорим о телематике. Под катом много картинок по теме, несколько gif и видео.

Пару слов о себе.

Зовут меня Фокин Алексей, в данный момент я работаю в компании Вега Абсолют vega_absolute. Центральный офис в г. Новосибирск, но я работаю в г. Москва. Одно из наших направлений — телематика. Мы делаем оборудование для отслеживания коммерческого транспорта, каршерингов, такси и т.д. Моя работа заключается в том, что я собираю данные с автомобилей и превращаю их в настройки для нашего оборудования.

Теперь к автомобилю.

Подключение к CAN шине произведено в двух местах: за приборной панелью (шина 500 Kbit/s) и за магнитолой (100 Kbit/s). Так же есть одно дублирующее подключение — подключение к разъему OBDII непосредственно на самом разъеме (500 Kbit/s).

Из использованных инструментов: блок мониторинга транспорта Vega MTX, оснащенный CAN сканером. Для его настройки на ПК программа Конфигуратор 1.27.14.

Больше информации о подключении к автомобилю и о MTX можно получить из видео, которое будет в конце статьи.

При подключении ко всем CAN шинам мы увидим такую картину:


В этом потоке данных надо найти те биты и байты, которые отвечают за нужные нам параметры.

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

Телематика — тема для отдельной статьи, поэтому не будем тут подробно на этом останавливаться.


Сразу появляется вопрос — зачем нужно искать данные в потоке, если можно их увидеть через ELM327 или другие диагностические приборы?

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

Также следует понимать, что все приведенные ниже примеры актуальны только для Polo Sedan в комплектации connect. В других комплектация может не быть каких-то из приведенных датчиков, а для других марок и моделей автомобилей данные будут находится совершенно в других ID.

Обращаю внимание, что по умолчанию в Конфигураторе стоит отображение значений в HEX формате. В дальнейшем нам не раз придется переводить данные из HEX формата в десятичные значения. Легче всего это сделать с помощью встроенного в Windows 10 приложения Калькулятор. Переводим его в режим “программист” и у нас появляется выбор, в какой системе счисления вводить данные, и они дублируются в других системах счисления.

По методу поиска все датчики в автомобиле я разделяю на несколько типов:

  1. Бинарные датчики.
  2. Быстро меняющиеся датчики.
  3. Температурные датчики.
  4. Пробег автомобиля.
  5. Датчики уровня.
  6. Датчики индикации.
  7. Датчики с запросами.

1. Бинарные датчики

Начнем с самых простых датчиков, бинарных.

К этим датчикам относятся датчики дверей, ремни безопасности, тормоз (горят ли стоп сигналы), ручной тормоз, нажаты ли кнопки и т.д. Их значение помещается в 1 бит, то есть может быть 0 (дверь закрыта) или 1 (дверь открыта).

Поиск их прост, но требует внимательности. Для поиска двери водителя надо открывать/закрывать дверь и смотреть, что меняется в CAN шине.

Конфигуратор подсвечивает красным те данные, в которых были изменения в течении нескольких последних секунд.

2. Быстро меняющиеся датчики

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

Для начала разберемся с датчиками положения на примере датчика положения педали газа.

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

Как правило, при отпущенной педали газа значение этого датчика 0, и, по мере нажатия на педаль газа, увеличивается до какого либо значения. Такой параметр мы видим в первом CAN в ID 280. Пятый байт изменяется от 0 (педаль отпущена) до FA (педаль нажата “в пол”).

Если перевести FA из HEX в DEC, то получим число 250. Следовательно, чтобы получить нажатие на педаль газа в процентах (от 0 до 100) надо умножить наше значение на 0.4.

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

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

Дальше надо перевести данные из HEX в DEC.


Дальше надо оценить реальные обороты по тахометру, или по диагностическим приборам. В моем случае стрелка была, примерно на 1600 об/мин по тахометру.

Дальше делим данные из CAN в десятичном формате (6508) на обороты двигателя с тахометра (1600) получаем 4.0675. Учитывая погрешность определения оборотов на глаз, округляем делитель до 4. После этого надо проверить показания по нескольким точкам. Для этого педалью газа выставляем разные обороты двигателя и сверяем их с данными из CAN шины.

В конфигураторе можно подставить все коэффициенты в настройки датчика и в режиме реального времени смотреть за изменениями оборотов.

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

3. Температурные датчики

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

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

XX* 0.75 — 48
где XX — значение 1 байта из ID 288 в DEC.


по формуле можно подсчитать, что на скриншоте была температура

179 * 0.75 — 48 = 86.25 °C.

где 179 это переведенное в десятичную систему число B3 из первого байта ID 288.

Но это тяжелый случай, на многих авто температура ищется намного легче.

Так как в шине сложно передать отрицательное число, то производители в качестве 0 измерений принимают значение -40°C, -48°C или -58°C. Поэтому подключаем диагностику и смотрим, какое сейчас значение температуры. Прибавляем к этому значения 40 (48 или 58), и переводим в HEX. Ищем полученное число в потоке. Ждем когда температура машины изменится на один градус и сверяем с найденным значением. Если его значение тоже увеличилось на 1, значит это нужный нам датчик.

Важно не путать значения из CAN шины со значениями диагностических запросов. Если одновременно будете искать показания в шине и будет подключен диагностический прибор, то в шине появятся еще и ответы на диагностические запросы. Их можно определить по ID. Обычно все, что идет свыше 700 ID — диагностические запросы и ответы.

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

Можно для поиска температуры воспользоваться и другим методом: находим физически датчик температуры охлаждающей жидкости (ДТОЖ) на двигателе, отключаем его и подключаем к проводке автомобиля переменный резистор. Далее вращая резистор и следя за CAN шиной по методике поиска быстро меняющихся данных, можно найти показания температуры двигателя.

На практике таким методом не пользовался, так как ТОЖ всегда находилась или в потоке, или спрашивали машину запросом.

4. Пробег автомобиля

Один из самых важных параметров для телематики.

Для начала надо оценить, каких размеров мы ищем число. Если взять 2 байта (16 бит) данных, то в них максимум влезет число FF FF = 65 535. Автомобиль явно может проехать свыше 65 тысяч, значит пробег автомобиля должен быть минимум 24 бит длинной. Туда уже влезет 16 млн. км., что явно достаточно для пробега.

Но опять же, в разных автомобилях по разному. В Polo Sedan пробег пишется в км, в некоторых французах он передается с точностью до 100 метров. тогда число может занимать и 32 и больше бит.

Дальше для поиска следует взять пробег с приборной панели автомобиля и перевести его в HEX.


В нашем случае это 5732 км. Переводим его в HEX и получаем 16 64. Дальше поиском надо найти строку, где будет встречаться эта комбинация. Искать надо по одному байту, то есть сначала искать 16, потом в найденых вариантах смотреть, есть ли рядом с числом 16 еще и число 64. Число 64 может быть как слева, так и справа от числа 16. Так как пробег в этом автомобиле не большой, то, вероятнее всего, рядом с числом 64 так же будет 00. В Конфигураторе есть удобный поиск (CTRL + F), если пользуетесь другим инструментом, то придется искать вручную эти данные.

В нашем случае пробег найден в 520 ID


00 16 64 = 5732 км.

Для проверки желательно проехать еще несколько километров и проверить значение найденного датчика.

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

6. Датчики уровня

Второй наиболее важный датчик для телематики — датчик уровня топлива. Можно его найти или в потоке, что предпочтительно, или запросом (менее предпочтительно, но в некоторых авто по другому не получится).

Для начала надо найти показания уровня топлива в диагностическом приборе. У меня уровень топлива нашелся в комбинации приборов (17 блок). В комбинации приборов показания с датчика уровня идут в литрах.

Сейчас в автомобиле 21 литр топлива.


Переводим 21 из DEC в HEX и получаем число 15. Поиском пробуем найти его. В потоке находится данное число в ID 320. Если число не находится, то нужно попробовать искать значения на единицу больше или меньше. В некоторых авто топливо идет с точностью в пол литра, потому надо поискать значение в 2 раза больше.


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

Так же можно разобрать бензобак, вытащить ДУТ из бака и перемещать его, следя за показания CAN шины. Или же снять разъем с ДУТ и подключить туда переменный резистор. Вращая его и следя за изменениями можно найти датчик уровня топлива. Если решили разбирать, тогда уровень топлива следует искать по методике поиска быстро меняющихся датчиков.

Так же при поиске не следует брать во внимание данные с ID свыше 700. Это диагностические запросы. После отключения диагностического оборудования эти данные пропадут. Более подробно с запросами мы разберемся ниже.

К примеру ответ на запросы диагностического оборудования уровня топлива из приборной панели выглядит так.


Также уровень топлива (в процентах) можно найти в стандартных OBDII запросах, но на VAG группе они не всегда показывают верные данные. На Skoda Rapid и Skoda Oktavia при полном баке диагностика показывает уровень топлива 85 %.


6. Датчики индикации

Датчики индикации сильно похожи на бинарные датчики, и искать их следует по той же методике. К этим датчикам относятся разнообразные иконки на приборной панели. К примеру состояние значка Check Engine находится в первом байте ID 480. При включении зажигания в этом датчике 2С.


После запуска, когда погаснет значок Check Engine (CE) в этом датчике будут 00.


Теперь остается вопрос, какой именно бит отвечает за значок CE. Переводим 2C в BIN и получаем число 0010 1100.

Дальше копируем весь 480 ID, изменяем первый байт на 2C (0010 1100) и пробуем посылать этот пакет в автомобиль.

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

В моем случае я слал в заведенный авто (что делать не рекомендуется) и у меня на приборке моргает значок CE и EPC.

Дальше посылаем вместо 2C (0010 1100) 08 (0000 1000). На приборке начинает моргать CE. Следовательно 3 бит отвечает именно за эту иконку.

Если слать 04 (0000 0100), то моргает значок EPC.

7. Датчики с запросами

Не все данные можно найти в потоке. К примеру в дизельном VW Transporter T4 в потоке нет температуры двигателя. Ее нет и на приборке. Поэтому приходится автомобиль спрашивать об этих параметрах. То же самое относится к уровню топлива на Rio\Solaris.

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


А в ответ приходит ей:


Дальше копируем ID 714, отключаем диагностический прибор и пробуем послать в автомобиль запрос. Если в ID 77E приходит такой же ответ, какой был при подключенной диагностике, то мы получили пакет с уровнем топлива (4 байт. HEX 15 = DEC 21 ) 21 литр.

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

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

До написания данной статьи делал видео по этой теме. В видео есть больше информации по подключению к CAN шине автомобиля, работе с Конфигуратором и файловым сервером

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


В этой статье я расскажу как собрать свою уникальную виртуальную или цифровую панель приборов и получить данные с любых датчиков в автомобилях группы VAG (Volkswagen, Audi, Seat, Skoda).

Мною был собран новый CAN сниффер и CAN шилд для Raspberry Pi на базе модуля MCP2515 TJA1050 Niren, полученные с их помощью данные я применил в разработке цифровой панели приборов с использованием 7″ дисплея для Raspberry Pi. Помимо простого отображения информации цифровая панель реагирует на кнопки подрулевого переключателя и другие события в машине.

В качестве фреймворка для рисования приборов отлично подошел Kivy для Python. Работает без Иксов и для вывода графики использует GL.

  1. CAN сниффер из Arduino Uno
  2. Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)
  3. Разработка панели приборов на основе Raspberry Pi и 7″ дисплея
  4. Софт панели приборов на Python и Kivy (UI framework)
  5. Видео работы цифровой панели приборов на базе Raspberry Pi

CAN сниффер из Arduino Uno

Чтобы послушать, что отправляет VCDS в CAN шину я собрал сниффер на макетке из Arduino и модуля MCP2515 TJA1050 Niren.

Схема подключения следующая:

CanHackerV2 позволяет смотреть пролетающий трафик, записывать и проигрывать команды с заданным интервалом, что очень сильно помогает в анализе данных.


Подслушиваем запросы с помощью диагностической системы VAG-COM (VCDS)

Программно-аппаратный сканер VCDS предназначен для диагностики электронных систем управления, устанавливаемых на автомобилях группы VAG. Доступ ко всем системам: двигатель, ACP, АБС, климат-контроль, кузовая электроника и т.п., считывание и стирание кодов неисправностей, вывод текущих параметров, активация, базовые установки, адаптация, кодирование и т.п.


Подключив сниффер к линиям CAN_L и CAN_H в диагностическом шнурке я смог увидеть какие запросы делает VCDS и что отвечает авто.



Особенность авто группы VAG в том, что OBD2 разъем подключен к CAN шине через шлюз и шлюз не пропускает весь гуляющий по сети трафик, т.е. подключившись в OBD2 разъем сниффером вы ничего не увидите. Чтобы получить данные в OBD2 разъёме нужно отправлять шлюзу специальные запросы. Эти запросы и ответы видно при прослушивании трафика от VCDS. Например вот так можно получить пробег.

В VCDS можно получить информацию почти с любого датчика в машине. Меня в первую очередь интересовала информация, которой вообще нет на моей приборке, это:

  • температура масла
  • какая именно дверь открыта

Разработка панели приборов на основе Raspberry Pi и 7″ дисплея

В качестве аппаратной части я выбрал Raspberry Pi. Была идея использовать Android планшет, но показалось, что на Raspberry Pi будет проще и быстрее. В итоге докупил официальный 7″ дисплей, и сделал CAN шилд из модуля TJA1050 Niren.


OBD2 штекер использовал от старого ELM327 адаптера.


Используются контакты: CAN_L, CAN_H, +12, GND.


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


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


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


Софт панели приборов на Python и Kivy (UI framework)

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



Первая версия панели приборов

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



Вторая версия панели приборов

Продолжив поиски более современного дизайна я обратил внимание какие цифровые приборки делают автопроизводители и постарался сделать что-то похожее.



Третья версия панели приборов

Ранее, я никогда не разрабатывал графические приложения под Linux поэтому не знал с чего начать. Вариант на вебе простой в разработке, но слишком много лишних компонентов: иксы, браузер, nodejs, хотелось быстрой загрузки. Попробовав Qt PySide2 я понял, что это займет у меня много времени, т.к. мало опыта. Остановился на Kivy — графический фреймворк для Python, простой в понимании с полной библиотекой графических элементов и дающий возможность быстро создать мобильный интерфейс.

Kivy позволяет запускать приложение без Иксов, прямо из консоли, в качестве рендера используется OpenGL. Благодаря этому полная загрузка системы может происходить за 10 секунд.

Алгоритм работы следующий, используется 3 потока:

  1. В главном потоке работаем с графическими элементы (спидометр, тахометр, часы, температуры и др) на экране
  2. Во втором потоке каждые 5 мс делаем опрос следующего датчика
  3. В третьем потоке слушаем CAN шину, получив ответ парсим его и обновляем соответствующий графический элемент

Проект цифровой панель приборов открытый. Рад буду предложениям и комментариям!


Цель этой статьи — рассказать о моём опыте модификации автомобиля и экспериментах с шиной CAN.

Сначала я решил добавить фронтальную камеру в свой 2017 Chevrolet Cruze. Поскольку у автомобиля уже есть заводская камера заднего вида, то на высоком уровне нужно было выяснить две вещи:

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

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

У Chevrolet две разные шины данных. Первая — это стандартная CAN, быстрая (500 Кбит/с) и надёжная, она используется для критических данных. Вторая — то, что GM называет LAN (GMLAN), более старая и медленная шина (33,3 Кбит/с), которая используется для данных, не связанных с безопасностью.

Мне нужен был способ прослушивать трафик по CAN, то есть снифер. Для этой цели невероятно полезно устройство PCAN.



Peak Can

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

Самая простая точка доступа — разъём OBD2. Я подключил Peak Can к шине GMLAN, запустил программное обеспечение — и сразу началось прослушивание трафика.

Впрочем, я не планировал постоянно ездить с ноутбуком. Нужен был способ автоматизировать эти функции — и здесь пригодилась Arduino. Возможность напрямую получать питание 12V в сочетании с большим количеством ресурсов и поддержки в интернете сделала этот выбор очевидным.

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



Модуль mcp2515 (сверху), Arduino Uno (посередине), модуль реле (снизу)

После добавления и настройки соответствующих библиотек Arduino установил связь с автомобилем.

Прослушивание трафика через Arduino

Распознавание однократного нажатия кнопки

После долгого уикенда изучения функции millis и отладки кода я успешно запрограммировал распознавание двойного нажатия.

Распознавание двойного нажатия

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

Двойное нажатие + команды

Теперь у меня была возможность включать и выключать дисплей, но оставалась одна проблема — что насчёт камеры заднего вида? Мне нужно было, чтобы они с фронтальной камерой работали вместе, словно их так настроили на заводе.

На блок-схеме я изобразил, как я это представляю.


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

  • Модуль передней камеры: водитель включил или выключил его?
  • Дисплей камеры: изображение на дисплее включено или выключено?
  • Задний ход: автомобиль в реверсе или нет?

В конце концов, я добился успеха!

Активный мониторинг

Теперь я смог реализовать операционную логику, которая контролирует реле.

Управление через реле

На протяжении всего процесса я всё больше узнавал об Arduino и заметил, что версия Nano способна делать всё, что нужно, при этом у неё меньший размер и более низкая цена. Она идеально подходит для постоянной установки в автомобиль. Я разработал модель и распечатал на 3D-принтере корпус для размещения компонентов в качестве компактного блока для установки.



3D корпус


Наконец настал день, когда я увидел результаты. Хотя нужно ещё повозиться с таймингом, но было приятно видеть, что модуль корректно работает.

Включение/выключение режима парковки, включение/выключение фронтальной камеры, автоматическое переключение на камеру заднего вида и автоматическое переключение обратно

В целом, этот опыт меня многому научил и открыл глаза на возможности интеграции непосредственно с шиной CAN. Довольно удивительно, чего можно достичь соединением по двум проводам.


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

Чтобы между блоками управления автомобиля происходил беспрепятственный обмен данными, они объединены в сети различными шинами данных.
Диагностический интерфейс шины данных связывает между собой следующие шины:

- CAN-шина привод
- CAN-шина комфорт
- CAN-шина Infotainment
- CAN-шина Kombi
- CAN-шина диагностика

Диагностический интерфейс шины данных J533 находится, под комбинацией приборов над педалью газа.

Внешний вид блока:

119237_01.jpg

Расширеная индификация блока:

119237_02.jpg

119237_03.jpg

119237_04.jpg

119237_05.jpg

119237_06.jpg

119237_07.jpg

119237_08.jpg

119237_09.jpg

119237_10.jpg

данный блок gateway поддерживает CAN шину версии 1.6, поэтому при замене на магнитоллы III поколения (RCD 310, RCD 510, RNS 510, RNS 310. ), которые поддерживают протокол CAN шины 2.0, будьте готовы к глубокому разряду аккумулятора за ночь.
Из-за этой несовместимости, появляется ошибка и блоки управления не переходят в спящий режим. При этом ток потребления может достигать 2 А.

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

Корректно проблема с несовместимостью версий CAN шины решается заменой на gateway 2.0

Цитата из Росстеча.
По ней видно, что с индекса L выпускается can-gateway 2.0
Так же данный блок поддерживает блок парктроника с визуализацией в штатных магнитоллах III поколения и даже адаптивный круиз контроль:

119237_11.jpg

Coding
Coding (through Index F)
Byte 00 Bit 0 [01] Engine Electronics
Byte 00 Bit 1 [02] Transmission Electronics
Byte 00 Bit 2 [03] Brake Electronics (ABS)
Byte 00 Bit 3 [00] Steering Angle Sensor (G85)
Byte 00 Bit 4 [15] Airbags
Byte 00 Bit 5 [44] Steering Assist
Byte 00 Bit 6 [55] Xenon Range
Byte 00 Bit 7 [22] All Wheel Drive
Byte 01 Bit 0 [09] Central Electronics
Byte 01 Bit 1 [46] Central Convenience
Byte 01 Bit 2 [42] Door Electronics (Driver)
Byte 01 Bit 3 [52] Door Electronics (Passenger)
Byte 01 Bit 4 [62] Door Electronics (Rear Left)
Byte 01 Bit 5 [72] Door Electronics (Rear Right)
Byte 01 Bit 6 [36] Seat Memory (Driver)
Byte 01 Bit 7 [65] Tire Pressure Monitoring
Byte 02 Bit 0 [16] Steering Wheel Electronics
Byte 02 Bit 1 [08] Climate Control
Byte 02 Bit 2 [76] Parking Aid
Byte 02 Bit 3 [7D] Auxiliary Heating
Byte 02 Bit 4 [18] Auxiliary Heater
Byte 02 Bit 5 [26] Auto Roof
Byte 02 Bit 6 [69] Trailer
Byte 02 Bit 7 [06] Seat Memory (Passenger)
Byte 03 Bit 0 [3D] Special Function
Byte 03 Bit 1 [47] Sound System
Byte 03 Bit 2 [75] Telematics
Byte 03 Bit 3 [37] Navigation
Byte 03 Bit 4 [57] TV-Tuner
Byte 03 Bit 5 [0F] Radio (digital)
Byte 03 Bit 6 [56] Radio (analog)
Byte 03 Bit 7 [77] Telephone
Byte 04 Bit 0 [17] Instrument Cluster
Byte 04 Bit 1 [25] Immobilizer
Byte 04 Bit 2 [19] CAN-Gateway
Byte 04 Bit 3 [1C] Position Sensing
Byte 04 Bit 4 [5D] Operations
Byte 05 Manufacturer/Model
Byte 06 Options


Coding (from Index F through Index K)
Byte 00 Bit 0 [01] Engine Electronics
Byte 00 Bit 1 [02] Transmission Electronics
Byte 00 Bit 2 [03] Brake Electronics (ABS)
Byte 00 Bit 3 [00] Steering Angle Sensor (G85)
Byte 00 Bit 4 [15] Airbags
Byte 00 Bit 5 [44] Steering Assist
Byte 00 Bit 6 [55] Xenon Range
Byte 00 Bit 7 [22] All Wheel Drive
Byte 01 Bit 0 [09] Central Electronics
Byte 01 Bit 1 [46] Central Convenience
Byte 01 Bit 2 [42] Door Electronics (Driver)
Byte 01 Bit 3 [52] Door Electronics (Passenger)
Byte 01 Bit 4 [62] Door Electronics (Rear Left)
Byte 01 Bit 5 [72] Door Electronics (Rear Right)
Byte 01 Bit 6 [36] Seat Memory (Driver)
Byte 01 Bit 7 [65] Tire Pressure Monitoring
Byte 02 Bit 0 [16] Steering Wheel Electronics
Byte 02 Bit 1 [08] Climate Control
Byte 02 Bit 2 [76] Parking Aid
Byte 02 Bit 3 [7D] Auxiliary Heating
Byte 02 Bit 4 [18] Auxiliary Heater
Byte 02 Bit 5 [26] Auto Roof
Byte 02 Bit 6 [69] Trailer
Byte 02 Bit 7 [06] Seat Memory (Passenger)
Byte 03 Bit 0 [3D] Special Function
Byte 03 Bit 1 [47] Sound System
Byte 03 Bit 2 [75] Telematics
Byte 03 Bit 3 [37] Navigation
Byte 03 Bit 4 [57] TV-Tuner
Byte 03 Bit 5 [0F] Radio (digital)
Byte 03 Bit 6 [56] Radio (analog)
Byte 03 Bit 7 [77] Telephone
Byte 04 Bit 0 [17] Instrument Cluster
Byte 04 Bit 1 [25] Immobilizer
Byte 04 Bit 2 [19] CAN-Gateway
Byte 04 Bit 3 [1C] Position Sensing
Byte 04 Bit 4 [5D] Operations
Byte 04 Bit 5 [14] Suspension Electronics
Byte 04 Bit 6 [4C] Tire Pressure Monitoring II
Byte 04 Bit 7 [11] Engine Electronics II
Byte 05 Bit 0 [10] Park/Steering Assistant
Byte 05 Bit 1 [63] Easy Entry Driver Side
Byte 05 Bit 2 [73] Easy Entry Passenger Side
Byte 06 Manufacturer/Model
Byte 07 Options


Coding (from Index L)
Byte 00 Bit 0 [01] Engine Electronics
Byte 00 Bit 1 [11] Engine Electronics II
Byte 00 Bit 2 [02] Transmission Electronics
Byte 00 Bit 3 [03] Brake Electronics (ABS)
Byte 00 Bit 4 [53] Parking Brake
Byte 00 Bit 5 [04] Steering Angle Sensor (G85)
Byte 00 Bit 6 [44] Steering Assist
Byte 00 Bit 7 [15] Airbags
Byte 01 Bit 0 [55] Xenon Range
Byte 01 Bit 1 [22] All Wheel Drive
Byte 01 Bit 2 [13] Distance Regulation
Byte 01 Bit 3 [14] Suspension Electronics
Byte 01 Bit 4 [4C] Tire Pressure Monitoring II
Byte 01 Bit 5 [10] Park/Steering Assist
Byte 01 Bit 6 [32] Differential Locking
Byte 01 Bit 7 [17] Instrument Cluster
Byte 02 Bit 0 [25] Immobilizer
Byte 02 Bit 1 [09] Central Electronics
Byte 02 Bit 2 [46] Central Convenience
Byte 02 Bit 3 [42] Door Electronics (Driver)
Byte 02 Bit 4 [52] Door Electronics (Passenger)
Byte 02 Bit 5 [62] Door Electronics (Rear Left)
Byte 02 Bit 6 [72] Door Electronics (Rear Right)
Byte 02 Bit 7 [36] Seat Memory (Driver)
Byte 03 Bit 0 [65] Tire Pressure Monitoring
Byte 03 Bit 1 [16] Steering Wheel Electronics
Byte 03 Bit 2 [08] Climate Control
Byte 03 Bit 3 [76] Park Assist
Byte 03 Bit 4 [7D] Auxiliary Heating
Byte 03 Bit 5 [26] Auto Roof
Byte 03 Bit 6 [69] Trailer
Byte 03 Bit 7 [06] Seat Memory (Passenger)
Byte 03 Bit 0 [3D] Special Function
Byte 04 Bit 1 [6D] Trunk Electronic
Byte 04 Bit 2 [63] Easy Entry Driver Side
Byte 04 Bit 3 [73] Easy Entry Passenger Side
Byte 04 Bit 4 [47] Sound System
Byte 04 Bit 5 [75] Telematic/Emergency Call
Byte 04 Bit 6 [37] Navigation
Byte 04 Bit 7 [57] TV-Tuner
Byte 05 Bit 0 [0F] Radio (digital)
Byte 05 Bit 1 [56] Radio (analog)
Byte 05 Bit 2 [77] Telephone
Byte 05 Bit 3 [18] Auxiliary Heater
Byte 05 Bit 4 [1C] Position Sensing
Byte 05 Bit 5 [5D] Operations
Byte 05 Bit 6 [6C] Rear View Camera
Byte 05 Bit 7 [59] Tow Protection
Byte 06 Bit 0 [4F] Central Electronics II
Byte 06 Bit 1 [19] CAN-Gateway (Standard)
Byte 06 Bit 2 [3C] Lane Change Assist
Byte 06 Bit 3 [5C] Lane Maintenance Assist
Byte 07 Manufacturer/Model
Byte 08 Options

CAN (Controller-Area-Network) это нечто вроде локальной сетки для контроллеров различных узлов автомобиля. CAN-шин несколько: для силового агрегата (двигатель, коробка, ABS/ESP, подушки, приборка), для комфорта и/или информационно-командная шина (сам блок комфорта, климат, двери, радио и навигация).

А поскольку они работают на разных частотах и с разной скоростью, то для их объединения и служит CAN-Gateway.


Расположение контактов J533 - диагностического интерфеиса шины данных:

Контакт 1 Клемма 30, предохранитель F24 в коммутационном блоке
Контакт 2 как контакт 1
Контакт 3 не используется
Контакт 4 K- провод (не используется)
Контакт 5 Шина данных Комфорт, CAN-Low
Контакт 6 Шина данных Привод, CAN-Low
Контакт 7 не используется
Контакт 8 Шина данных комбинации приборов, CAN-Low
Контакт 9 Диагностика CAN, CAN-Low
Контакт 10 Шина данных Infotainment, CAN-Low
Контакт 11 клемма 31 (минус АКБ)
Контакт 12 клемма 31 (минус АКБ)
Контакт 13 Проводка активации комбинации приборов
Контакт 14 Клемма 15
Контакт 15 Шина данных Комфорт, CAN-High
Контакт 16 Шина данных Привод, CAN-High
Контакт 17 не используется
Контакт 18 Шина данных комбинации приборов, CAN-High
Контакт 19 Диагностика CAN, CAN-High
Контакт 20 Шина данных Infotainment, CAN-High

Here is the pinout of the gateway:
Gateway

PIN 1 + 2: +12Volt
PIN 11 + 12: Ground
PIN 14: switched 12Volt (Clamp 15)
PIN 9: Diagnostic CAN Low --> To OBD Port
PIN 19: Diagnostic CAN High --> To OBD Port
PIN 10: Infotainment CAN Low --> Between RNS and CAN Adaptor to black/yellow cable (if my cable set is used)
PIN 20: Infotainment CAN High --> Between RNS and CAN Adaptor to black/white cable (if my cable set is used)

Схема включения can gateway блока J533

(Volkswagen Touran 2,0 TDI)


Еще один вариант распиновки:


Contact assignment of the data bus diagnostic interface Gateway -J533-
1 - Battery „+“ (terminal 30)
2 - Battery „+“ (terminal 30)
3 - not assigned
4 - not assigned
5 - Convenience CAN bus Low
6 - Drive CAN bus Low
7 - not assigned
8 - Dash panel insert CAN bus Low
9 - Diagnosis CAN bus Low
10 - Infotainment CAN bus Low
11 - Earth „-“ (terminal 31)
12 - Earth „-“ (terminal 31)
13 - Dash panel insert time input
14 - Terminal 15
15 - Convenience CAN bus High
16 - Drive CAN bus High
17 - not assigned
18 - Dash panel insert CAN bus High
19 - Diagnosis CAN bus High
20 - Infotainment CAN bus High

Gateway update flash (version)

The Gateway (aka. Diagnostic Interface for Databus OR CAN-Gateway) is responsible for passing Messages from one Control Module to another, older versions of the Gateways were not compatible and caused the Databus to stay active even with the Ignition turned OFF which resulted in excessive Battery Draw and failure. To identify if your Gateway is compatible, check the (Software) Part Number and the Software Version of the Control Module shown in the Identification provided by VCDS (for example in an Auto-Scan).

In this Example the Software Part Number is 1K0-907-530-K and the Software Version is 0178, now check the following List if your Gateway is considered NOT compatible - all part numbers NOT listed here can be considered compatible.

Control Module Part Number Software Version Compatible Notes
1K0-907-530-A 0020 No Update available
1K0-907-530-B 0050/0070 No Update available
1K0-907-530-C 0080 No Update available
1K0-907-530-D 0100 No Update available
1K0-907-530-E 0110 No Update available
1K0-907-530-F 0120 No Update available
1K0-907-530-G 0130/0140 No Update available
1K0-907-530-H 0150 No Update available
1K0-907-530-J 0160 No Update available
1K0-907-530-K 0021 No Replacement only
1K0-907-530-K 0170 No Update available
1K0-907-530-K 0178 Yes -
1K0-907-530-P 0191/0192 No Replacement only


All Modules / Part Numbers that are NOT listed in the Table above are considered to be compatible. Those Part Numbers & Software Versions listed with the Note "Update available" can be updated to 1K0-907-530-K @ 0178, this often saves Money/Work which a Replacement of the Module would cause. The Update is NOT available in the US, all Rest of World VW (see TPI 2017949, 2018155, 2022606), Seat and Skoda Dealers should have access to it.

Для новых блоков с ext CAN 7N0 907 530 AN

Контакт 1 Клемма 30, предохранитель F24 в коммутационном блоке
Контакт 2 LIN bus
Контакт 3 не используется
Контакт 4 K- провод (не используется)
Контакт 5 Шина данных Комфорт, CAN-Low
Контакт 6 Шина данных Привод, CAN-Low
Контакт 7 Can Ext (CAN-Low)
Контакт 8 Шина данных комбинации приборов, CAN-Low
Контакт 9 Диагностика CAN, CAN-Low
Контакт 10 Шина данных Infotainment, CAN-Low
Контакт 11 клемма 31 (минус АКБ)
Контакт 12 клемма 31 (минус АКБ)
Контакт 13 Проводка активации комбинации приборов
Контакт 14 Клемма 15
Контакт 15 Шина данных Комфорт, CAN-High
Контакт 16 Шина данных Привод, CAN-High
Контакт 17 Can Ext (CAN-High)
Контакт 18 Шина данных комбинации приборов, CAN-High
Контакт 19 Диагностика CAN, CAN-High
Контакт 20 Шина данных Infotainment, CAN-High

Платформа PQ35 гейтвея 7N0 907 530 :
H + R + AB + AF > AK
S + AC + AG > AL ( MKE )
T + AD + AH > AM ( нет MKE )
G (нет замен) ( Extended CAN / MKE )
AA + AE + AJ > AN ( Extended CAN / MKE )

Распиновка ODIS'a

Выводы диагностического интерфейса шин данных-J533

Конт. 01 = питание кл. 30
Конт. 02 = шина LIN 1
Конт. 03 = не используется
Конт. 04 = не используется
Конт. 05 = шина CAN-комфорт, провод Low
Конт. 06 = шина CAN-привод, провод Low
Конт. 07 = шина CAN-Extended, провод Low
Конт. 08 = шина CAN-комбинация приборов, провод Low
Конт. 09 = шина CAN-диагностика, провод Low
Конт. 10 = Шина CAN Infotainment Low
Конт. 11 = масса, кл. 31
Конт. 12 = шина LIN 2
Конт. 13 = не используется
Конт. 14 = питание кл.15
Конт. 15 = шина CAN Комфорт High
Конт. 16 = шина CAN привод High
Конт. 17 = шина CAN Extended High
Конт. 18 = шина CAN комбинация приборов High
Конт. 19 = шина CAN диагностика High
Конт. 20 = шина CAN Infotainment High

Читайте также: