ecu id 7e8 что это

Хакаем CAN шину авто. Мобильное приложение вместо панели приборов

Я продолжаю изучать CAN шину авто. В предыдущих статьях я голосом открывал окна в машине и собирал виртуальную панель приборов на RPi. Теперь я разрабатываю мобильное приложение VAG Virtual Cockpit, которое должно полностью заменить приборную панель любой модели VW/Audi/Skoda/Seat. Работает оно так: телефон подключается к ELM327 адаптеру по Wi-Fi или Bluetooth и отправляет диагностические запросы в CAN шину, в ответ получает информацию о датчиках.

По ходу разработки мобильного приложения пришлось узнать, что разные электронные блоки управления (двигателя, трансмиссии, приборной панели и др.) подключенные к CAN шине могут использовать разные протоколы для диагностики, а именно UDS и KWP2000 в обертке из VW Transport Protocol 2.0.

Программный сниффер VCDS

Чтобы узнать по какому протоколу общаются электронные блоки я использовал специальную версию VCDS с программным сниффером в комплекте. В этот раз никаких железных снифферов на Arduino или RPi не пришлось изобретать. С помощью CAN-Sniffer можно подсмотреть общение между VCDS и автомобилем, чтобы затем телефон мог прикинуться диагностической утилитой и отправлять те же самые запросы.

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

Протокол UDS

ecu id 7e8 что этоДиагностические данные от двигателя по протоколу UDS (Skoda Octavia A7)

В моей машине (Skoda Octavia A5) приборка использует UDS протокол, это дало мне легкий старт разработки, т.к. данные были в простом формате Single Frame SF (фрейм, вся информация которого умещается в один CAN пакет) и большинство значений легко поддавались расшифровке. Volkswagen не дает документацию на формат значений, поэтому формулу расшифровки для каждого датчика приходилось подбирать методом логического мышления. Про UDS протокол очень хорошо и с подробным разбором фреймов написано на canhacker.ru.

ecu id 7e8 что этоРазбор UDS пакета в формате Single Frame

Пример запроса и ответа температуры моторного масла:

Запрос температуры моторного масла:

Ответ температуры моторного масла:

Первая версия мобильного приложения VAG Virtual Cockpit умела подключаться только к приборной панели по UDS.

VW Transport Protocol 2.0

Т.к. KWP2000 использует сообщения переменной длины, а CAN шина позволяет передавать сообщения не больше 8 байт, то VW TP 2.0 разбивает длинное сообщение KWP2000 на части при отправке по CAN шине и собирает заново при получении.

ecu id 7e8 что этоДиагностические данные от двигателя по протоколу KWP2000 (Skoda Octavia A5)

ЭБУ двигателя моей машины использует протокол VW TP 2.0, поэтому мне пришлось изучить его. Видимо Volkswagen разрабатывала транспортный протокол не только для работы по надежной CAN шине, но и для менее надежных линий связи, иначе нет объяснения для чего требуется такая избыточная проверка целостности данных. Главным источником информации по VW TP 2.0 является сайт https://jazdw.net/tp20.

Разбор протокола VW TP 2.0 на примере подключения к первой группе двигателя:

200 01 C0 00 10 00 03 01

201 00 D0 00 03 40 07 01

740 A0 0F 8A FF 32 FF

Настраиваем ЭБУ на отправку сразу 16 пакетов и выставляем временные параметры

300 A1 0F 8A FF 4A FF

Получили положительный ответ

740 10 00 02 10 89

Получили первый ACK

300 10 00 02 50 89

Мы отправили первый ACK, что получили ответ

740 11 00 02 21 01

Получили второй ACK

300 22 00 1A 61 01 01 C8 13

300 23 05 0A 99 14 32 86 10

300 24 FF BE 25 00 00 25 00

300 15 00 25 00 00 25 00 00

Отправляем ACK. Прибывляем к нашему предыдущему ACK количество полученных пакетов 0xB1 + 0x4 = 0xB5

Запрос KeepAlive, что мы еще на связи

740 A1 0F 8A FF 4A FF

Мы разрываем связь

ЭБУ в ответ тоже разрывает связь

Во второй версии мобильного приложения VAG Virtual Cockpit появилась возможность диагностировать двигатель и трансмиссию по протоколу VW TP 2.0.

Диагностический адаптер ELM327

Для меня некоторое время было вопросом, как получить данные из CAN шины и передать на телефон. Можно было бы разработать собственный шлюз с Wi-Fi или Bluetooth, как это делают производители сигнализаций, например Starline. Но изучив документацию на популярный автомобильный сканер ELM327 понял, что его можно настроить с помощью AT команд на доступ к CAN шине.

ecu id 7e8 что этоКопия диагностического сканера ELM327 Не все ELM327 одинаково полезны

Оригинальный ELM327 от компании elmelectronics стоит порядка 50$, в России я таких не встречал в продаже. У нас продаются только китайские копии/подделки, разного качества и цены 10-30$. Бывают полноценные копии, которые поддерживают все протоколы, а бывают и те которые умеют отвечать только на несколько команд, остальные игнорируют, такие адаптеры не имеют доступ к CAN шине. Я например пользуюсь копией Viecar BLE 4.0, который поддерживает 100% всех функций оригинала.

Для работы с протоколом UDS через ELM327 нужно указать адреса назначения, источника и разрешить длинные 8 байтные сообщения, по умолчанию пропускается максимум 7 байт.

Последовательность ELM327 AT команд для работы с UDS по CAN шине:

Для работы с протоколом KWP2000 через ELM327 нужно только указать адреса назначения и источника.

Последовательность ELM327 AT команд для работы с VW TP 2.0 по CAN шине:

Мобильное приложение VAG Virtual Cockpit

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

Сниффером собрать трафик от диагностической утилиты VCDS

Изучить работу протоколов UDS, VW TP 2.0, KWP2000

Настроить диагностический сканер ELM327 на работу с UDS и VW TP 2.0

Изучить новый для меня язык программирования Swift

ecu id 7e8 что этоМобильное приложение VAG Virtual Cockpit для iOS

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

На данный момент приложение показывает следующие параметры:

Приборная панель

Двигатель

Трансмиссия (температура)

1) Какая дверь открыта
2) Скорость
3) Обороты
4) Температура масла
5) Температура ОЖ
6) Топливо в баке в л.
7) Запас хода в км.
8) Средний расход
9) Время в машине
10) Пробег
11) Температура за бортом

1) Обороты
2) Массовый расход воздуха
3) Температура забора воздуха
4) Температура выхлопа (рассчитанная)
5) Критический уровень масла
6) Уровень масла
7) Наддув турбины (реальный)
8) Наддув турбины (ожидаемый)
9) Пропуски зажигания в цилиндрах
10) Углы откатов зажигания в цилиндрах

1) ATF AISIN (G93)
2) DSG6 (G93)
3) Блок управления DSG6 (G510)
4) Масло диска сцепления DSG6 (G509)
5) Мехатроник DSG7 (G510)
6) Процессор DSG7
7) Диск сцепления DSG7

Я стремлюсь чтобы приложение поддерживало как можно больше моделей автомобилей. Пока что поддерживаются производители: Volkswagen, Skoda, Seat, Audi. На разных комплектациях могут отображаться не все параметры, но это поправимо.

Сейчас я провожу тестирование версии 3.0. Приложение доступно только на iOS, после релиза 3.0 перейду к разработке версии для Android.

Если интересно потестировать и есть желание принять участие в проекте, то установить приложение можно по ссылке. Также я веду бортжурнал на drive2.ru, где делюсь полезной информацией и новостями о VAG Virtual Cockpit.

Источник

Протокол UDS

Протокол UDS – это “язык” на котором общается диагностическое оборудование. Протокол UDS может работать на различных физических шинах: K-Line, CAN, Ethernet, FlexRay. В этой статье мы рассмотрим механизм работы протокола UDS на шине CAN, как самый распространенный вариант в настоящее время. Рассматривать вопрос будем с практической точки зрения для быстроты восприятия материала. Подробно протокол описан в стандарте ISO-15765.

По протоколу UDS возможно не только считать\стереть коды ошибок – DTC, но и запросить текущие параметры датчиков и блоков управления (ECU), а так же давать команды исполнительным механизмам (например открыть\закрыть центральный замок).
Кроме того с помощью этого протокола осуществляется прошивка блоков управления.

В своей базе протокол UDS строится на транспортном протоколе TP. Транспортном не в смысле его применения на транспорте, а в том смысле что протокол предназначен для транспортировки данных по некоторому каналу передачи.

Описание транспортного протокола TP

Фрейм транспортного протокола строится по следующей схеме:
ecu id 7e8 что это

TA – Target Address или адрес получателя фрейма
SA – Source address или адрес отправителя фрейма
PCI – Поле в котором кодируется количество передаваемых байт и тип фрейма.

В реализации протокола UDS работающего поверх CAN шины адрес источника не указывается в заголовке фрейма, а адресом получателя является CAN ID всего фрейма.
Например в CAN сообщении 0x7E0 02 09 02 00 00 00 00 00 00 адресатом будет блок управления двигателем, адрес которого равен =0x7E0.

Типы фреймов

Single Frame SF – Однократный фрейм. Фрейм вся информация которого умещается в один CAN пакет.
ecu id 7e8 что это

First Frame FF – Первый фрейм из серии фреймов
ecu id 7e8 что это

Поле PCI занимает два байта: Нулевой и первый. 7 бит первого байта и 3 первых бита нулевого байта определяют длину сообщения – максимум 2048 байта.
Четвертый бит нулевого байта равный 1 указывает на то что это First Frame.

Пример: 0x7E8 10 14 49 02 01 57 41 55
PCI = 10 14. First frame. Длина поля данных 0x14 или 20 байт.
DATA: 49 02 01 57 41 55 – шесть байт
Таким образом после этого фрейма должно быть отправлено еще 2 фрейма с нагрузкой по 7 байт данных на каждый, чтобы получилось суммарно 20 байт.

Consecutive Frame CF – последующий фрейм. Каждый фрейм следующий за First Frame от одного отправителя.
ecu id 7e8 что это

Поле PCI занимает нулевой байт. Старшая половина байта =0x2 и указывает на то что перед нами CF фрейм. Младшая половина указывает порядковый номер CF фрейма от 0x0 до 0xF.
Пример: 0x7E8 21 5A 5A 5A 38 45 37 37
PCI=0x21. Тип фрейма – CF, номер фрейма =1

Flow control Frame – FC – фрейм управления потоком. Отправляется получателем в ответ на First Frame
ecu id 7e8 что это

FC фрейм служит для управления потоком в случае если используется поток фреймов First Frame-Consicutive Frames.
PCI занимает три байта: Нулевой, первый, второй.
Заголовок 0x3 в заголовке поля PCI указывает что это FC фрейм.
Flow Status говорит отправителю First Frame о статусе получателя 00- Готов к приему CF фреймов, 01- Жди, 02 – Переполнение.
Block Size определяет количество СF фреймов которые готов принять получателю. В некоторых может быть равно нулю и протокол все равно будет работать.
Minimum Separation Time в миллисекундах, задает минимальное время между передаваемыми CF фреймов.

Пример 1: 0x7E0 30 02 00 00 00 00 00 00
FC фрейм.
Готов принять 2 CF фрейма.
С минимальным временем между CF фреймами = 0 миллисекунд.

Пример 2: 0x778 30 08 05 AA AA AA AA AA
FC фрейм
Готово принять 8 CF фреймов
С минимальной задержкой 5 миллисекунд

Такой же пример на конкретных данных.
ID Отправителя = 0x7CE
ID Получателя = 0x7C6
Отправитель передает массив данных размером 0xB5 или 181 байт получателю. На изображении представлен НЕ весь массив!
ecu id 7e8 что это

Фрейм UDS

Фреймы диагностического протокола UDS строятся поверх транспортных фреймов и выглядят так:
ecu id 7e8 что это

Где – SID – идентификатор сервиса. (запрос DTC, запрос текущих параметров, команды…)
PID\LEV – Номер запрашиваемого параметра или номер вызываемой функции.

Пример
Запрос
CAN DLC=8 DATA: 03 22 22 06 00 00 00 00
SID = 0x22
PID = 22 06
Положительный ответ
CAN ID=0x77E DLC=8 DATA: 04 62 22 06 9A 00 00 00
SID+0x40 = 0x62
PID = 22 06
Response parameter =0x9A

Подробный разбор конкретных примеров использования протокола UDS

Пример 1. Запрос VIN номера

1 Диагностический прибор: DLC=8 DATA: 02 09 02 00 00 00 00 00
2 Ответ автомобиля: DLC=8 DATA: 10 14 49 02 01 57 41 55 “WAU”
3 Диагностический прибор: DLC=8 DATA: 30 02 00 00 00 00 00 00
4 Ответ автомобиля: DLC=8 DATA: 21 5A 5A 5A 38 45 37 37 “ZZZ8E77”
5 Ответ автомобиля: DLC=8 DATA: 22 41 30 37 37 37 37 32 “A077772”


Запрос от диагностического прибора
ID=0x7E0 DLC=8 DATA: 02 09 02 00 00 00 00 00

Ответ ECU: DLC=8 DATA: 10 14 49 02 01 57 41 55

Запрос от диагностического прибора ID=0x7E0 DLC=8 DATA: 30 02 00 00 00 00 00 00

Байт 0: 0x30 – Flow control. Команда блоку управления выдать все байты данных запрашиваемого параметра блоком из двух CF фреймов с минимальной задержкой 0 миллисекунд.

Ответ ECU: DLC=8 DATA: 21 5A 5A 5A 38 45 37 37
Ответ ECU: DLC=8 DATA: 22 30 37 37 37 37 37 32

Затем блок управления отдает все байты данных запрашиваемого параметрах, которые упакованы в необходимое число CF фреймов. В описываемом примере таких фрейма два.

Байт 0: 0x21, 0x22 – номера CF фреймов в серии.

Байты 1…7: Байты данных запрашиваемого параметра.

Пример 2. Запрос уровня топлива

Рассмотрим более простой пример – запрос уровня топлива по протоколу UDS у панели приборов автомобиля VW Touareg NF.

1 Диагностический прибор: DLC=8 DATA: 03 22 22 06 00 00 00 00
2 Ответ автомобиля: ID=0x77E DLC=8 DATA: 04 62 22 06 9A 00 00 00

Запрос от диагностического прибора ID=0x714 DLC=8 DATA: 03 22 22 02 00 00 00 00

Ответ ECU: DLC=8 DATA: 04 62 22 06 9A 00 00 00

Пример 3. Команда активации исполнительного механизма

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

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

Таблица сервисов доступных в протоколе UDS

В таблице представлены сервисы которые заложены в протокол. Не все блоки управления поддерживают полный набор сервисов.

Источник

Ecu id 7e8 что это

ecu id 7e8 что это

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

Описание:
Приложение для диагностики и контроля автомобиля через адаптер ELM327.

Возможности программы:
1) Настраиваемая приборная панель с множеством экранов. Выводите те данные, которые вам нужны в том виде, который вам удобен.
2) Чтение ошибок (быстрое и углубленное).
3) Сброс ошибок (быстрый и углубленный).
4) Наблюдение за результатами самодиагностики ЭБУ.
5) Чтение стоп-кадров (состояние параметров двигателя в момент регистрации ошибки)
6) Проверка готовности автомобиля к тестам экологичности выхлопа.
7) Поддержка всех автомобилей, совместимых со стандартом OBD2 (перейдите по адрес carscanner.info, чтобы получить больше информации).
8) Car Scanner включает в себя заранее настроенные профили подключения для самых разных автомобилей.
Некоторые профили подключения предоставят вам дополнительные возможности (особенно для автомобилей Toyota, Mitsubishi, GM, Opel, Vauxhal, Chevrolet, Nissan, Infinity, Renault, Hyundai, Kia, Mazda).
9) Режим приборной панели можно использовать как проектор на лобовое стекло вашего автомобиля. Получите бесплатно то, что раньше было доступно только премиальным автомобилям!
10) Вы можете производить точные замеры разгона с помощью Car Scanner!
11) Car Scanner умеет записывать отображаемые данные для последующего анализа.
12) Car Scanner может следить за расходом топлива и вести подробную статистику расхода топлива и трат на топливо.
13) Кодирование автомобилей VAG на платформах MQB и PQ26 и MLB-EVO. Так как поступает очень много вопросов, подчеркиваю: в данный момент поддерживаются ТОЛЬКО АВТОМОБИЛИ НА ПЛАТФОРМАХ MQB и PQ26. Другие марки и платформы пока что не поддерживаются. Пожалуйста, не надо спрашивать у меня «а когда будет ххх?». Я не знаю. Будет тогда, когда будет готово.

ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: список отображаемых параметров различен для каждого автомобиля и на 100% зависит не от программы Car Scanner, а от блока управления автомобилем.

Для работы программы необходим адаптер, совместимый с ELM327.

Требуется Android: 5.0 и выше
Русский интерфейс: Да

Google Play: https://play.google.com/store/apps/details?id=com.ovz.carscanner
ВНИМАНИЕ! Я РЕКОМЕНДУЮ СКАЧИВАТЬ ПРИЛОЖЕНИЕ ИМЕННО ИЗ GOOGLE PLAY! GOOGLE PLAY САМ ВЫБЕРЕТ НАИБОЛЕЕ ПОДХОДЯЩИЙ ВАРИАНТ ДЛЯ ВАШЕГО ТЕЛЕФОНА.
Huawei AppGallery (для владельцев Huawei/Honor без сервисов Google): https://appgallery.cloud.huawei.com/ag/n/app/C102007367

Бета-тестирование для доступа к еще не опубликованным версиям программы: https://play.google.co…ing/com.ovz.carscanner

Скачать:
версия 1.86.8
ecu id 7e8 что этоcom.ovz.carscanner-armeabi-v7a.apk ( 88.2 МБ )

Редактор пидов в формате CSP: ecu id 7e8 что этоCarScannerPidEditorV2.zip ( 472.54 КБ )

Редактор кодировок (для версий 1.76.0 и выше): ecu id 7e8 что этоCarScannerPublicCodingEditor_v0.2.zip ( 264.06 КБ )

Источник

CombiLoader Модуль Bosch M(E)7.9.7 OBD

Добро пожаловать на ChipTuner Forum.

Опции темы

Bosch M(E)7.9.7 Модуль предназначен для записи FLASH-памяти ЭБУ Bosch MSE3.0, M7.8, M7.9.7, M7.9.7.1(M7.9.7+), ME7.9.7 и ME7.9.7.1 через диагностический разъём.

Модуль существует в двух версиях:

· работающий через адаптер Загрузчика, использующий К-линию для обмена с ЭБУ
· работающий через интерфейс J2534, использующий К-линию или шину CAN для обмена с ЭБУ. При этом К-линия должна быть подключена к адаптеру J2534.

В остальном функциональность модулей идентична.

винипух

винипух

I need to clone ecu from Great Wall H6 is ME7 (I think ME7.8) with mcu ST10F275 eeprom is 95080.

Then I used module Bosch M (E) 7.9.7 (J2534) to write the mcu file from original ecu to the new_ecu.

I chose canbus, but it is not possible to detect the ecu ID, so I chose Kline and was able to read the ecu ID.

I tried to write the file, but the security access only reaches 47% and I get the Invalid ECU answer error.

So, I removed the protection (addional) and immediately connected the ecu in boot mode without disconnecting the power for the ecu to read it using the BSL module and it was not possible.

I am using Dialink and this pinout:

3, 80: ECU ground
13: Cut-off voltage
12: Non-cut-off voltage
71: K-line
43: Enabling programming (only used if there is an additional resistor inside the ECU, no external resistor required)
63: Power supply after the main relay (not used)
81: CAN L
62: CAN H

Источник

Строки инициализации ELM327

Некоторые автомобили не на 100% совместимы с OBD2, но программа Torque может связываться с ними, если адаптер ELM327 настроен определенным образом.
Строка инициализации позволяет вручную настроить адаптер ELM327 для связи с такими транспортными средствами. Если вы не можете соединиться с блоком управления автомобиля в автоматическом режиме, возможно вам потребуется ввод строки инициализации.

Как добавить строку инициализации в программу диагностики

Итак, давайте разберемся, как заставить адаптер ELM327 работать с нужной нам строкой инициализации.

ecu id 7e8 что это ecu id 7e8 что этоecu id 7e8 что это

Подключение ЯНВАРЬ 5.1

Для подключения к блоку управления ЯНВАРЬ 5.1 необходимо:

Подключение ЯНВАРЬ 7.2

Для подключения к блоку управления ЯНВАРЬ 7.2 необходимо:

Документацию по командам инициализации можно посмотреть в ELM_Docs

Перечень строк инициализации ELM327

Готовые наборы PID для Torque

PID (параметр идентификации данных) – код, посылаемый блоку управления ECU, однозначно определяемый параметр, который должен тот вернуть. Для разных автомобилей могут отличаться даже по годам.

Теперь надо разобраться как редактировать, просматривать и добавлять дополнительные PIDы в программу Torque.

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

2. Скачанный набор PIDов помещаем в папку .torque/extendedpids. Папка .torque находится в корне карты памяти или памяти телефона. Обращаем внимание, что эта папка является скрытой и чтобы получить к ней доступ необходимо включить отображение скрытых папок. На скриншотах все действия с файлами производятся файловом менеджере ES проводник, у вас может быть установлен другой.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *