Показать сообщение отдельно
Старый 21.01.2017, 15:28   #327
payalne
Новый Пользователь
 
Регистрация: 19.01.2017
Возраст: 35
Регион: 63, 163
Сообщений: 1
payalne is on a distinguished road
По умолчанию

Приветствую. Прошу помощи.



Делаю небольшой бортовой компьютер на базе ардуины и дисплея 20х04 символов. Задача простая - вывод температуры двигателя, обороты, напряжение и прочая ламбуда взамен стандартных часов на nissan avenir w11.
Поискал протоколы на примере мультитроникса. нашел на сайте http://vdiag.net/
Цитата:
Сниффинг протокола Ниссан с Multitronics от el66
На днях мне на стол попал неисправный ECU от Nissan Bluebird с двигателем QG18DD (Neo Di). Я, конечно
же, сразу попытался его сконнектить со своим мультиком, дабы также вытащить из него процедуры
общения. Проанализировав снятые при этом осциллограммы и логи, позволю себе здесь высказать свои
мысли об устройстве ниссановского протокола, работающего с К-line.
1. Инициализация. Мультитроникс в ниссане, как и в тойоте использует fast init, где сначала на 25мс
устаналивается низкий уровень на к-линии, потом на 25мс высокий. Сразу же после этих 25мс, на
скорости 10400бод, мультик передает запрос на коннект.
2. Запрос выглядит так: 81-10-FC-81-0E. В отличии от тойты (кроме скорости), байты во фрейме следуют
друг за другом, без межбайтных промежутков. Формат байта такой же: 0-низкий уровень, 1-высокий, один
нулевой стартовый бит, далее байт данных, один единичный стоповый бит.
3. ECU отвечает через 36мс такой последовательностью: 83-FC-10-C1-5D-8F-3C. Таким образом, KW1=5D,
KW2=8F. Еще, адрес сканера здесь устанавливается FC (замечу, что для тойоты мультик ставил адрес F0),
адрес ECU = 10 (в тойоте 13).
4. Дальше, через паузу 400 мс мультик формирует запрос одного из текущих параметров. У меня он
выглядит так: 85-10-FC-22-11-01-04-01-CA.
5. ECU отвечает на этот запрос довольно быстро (примерно через 1мс). Ответ выглядит так: 84-FC-10-62-
11-01-8A-8E. После получения ответа, все следующие запросы мультик формирует уже через 12мс.
6. Всего мультик передает 7 типов запросов по циклу.
Приведу здесь один цикл всех запросов.
TxD(Эхо):85 10 FC 22 11 01 04 01 CA
RxD: 84 FC 10 62 11 01 8A 8E
TxD(Эхо):85 10 FC 22 11 02 04 01 CB
RxD: 84 FC 10 62 11 02 00 05
TxD(Эхо):85 10 FC 22 12 01 04 01 CB
RxD: 85 FC 10 62 12 01 00 00 06
TxD(Эхо):85 10 FC 22 12 06 04 01 D0
RxD: 85 FC 10 62 12 06 00 00 0B
TxD(Эхо):85 10 FC 22 12 09 04 01 D3
RxD: 85 FC 10 62 12 09 00 00 0B
TxD(Эхо):85 10 FC 22 11 18 04 01 E1
RxD: 84 FC 10 62 11 18 00 1B
TxD(Эхо):81 10 FC A3 30
RxD: 9A FC 10 E3 08 01 00 00 01 15 00 12 17 00 06 05 00 01 80 00 01 20 00 01 90 00 01 21 00 31
дальше, запросы/ответы повторяются, начиная с первого.
Первый запрос (22 11 01 04 01) – это запрос температуры. Это почти единственный ПИД, параметр
которого мне удалось достоверно расшифровать – это температура двигателя (значение 8A, в данном
случае соответствует температуре 88град). Что интересно, в отличие от протоколов тойоты и J1979,
формула расчета здесь немного другая: T[градС]=КОД-50 (в J1979 T[градС]=КОД-40).
Второй запрос (22 11 02 04 01) – это запрос скорости. Формула расчета здесь тоже отличается от тойоты
и J1979. У меня получилось V[км\ч]=КОДх2
Следующие 4 запроса пока расшифровать не удалось, для этого надо подключать контроллер в
автомобиль и мониторить обмен.
Последний запрос - это запрос кодов аварий. Т.к. контроллер отключен от всех датчиков, он
зафиксировал 8 неисправностей, коды: 0100, 0115, 1217, 0605, 0180, 0120, 0190, 0121.
А вот еще один процесс от ниссана - стирание кодов неисправностей:
TxD: 81 10 FC 14 A1
RxD: 81 FC 10 54 E1
Собственно нужные пиды нашел в xml файлах tecu.
Но когда начал снифферить общение tecu III с ECU увидел совсем другое.
Напряжение:
Цитата:
0000112222: Open COM5 Baud=10400 RTO=10
0000113862: 00
0000113925: 81 10 FC 81 0E
0000113989: 83 FC 10 C1 5D 8F 3C


0000114293: 05 AC 81 02 11 03 48
02 EC 81 6F

0000114341: 04 21 81 04 01 AB
0000114357: 03 61 81 B2 97
0000114389: 04 21 81 04 01 AB
0000114405: 03 61 81 B3 98
0000114437: 04 21 81 04 01 AB
03 61 81 B3 98
0000114485: 04 21 81 04 01 AB
0000114501: 03 61 81 B4 99
0000114533: 04 21 81 04 01 AB
0000114549: 03 61 81 B3 98
0000114581: 04 21 81 04 01 AB
03 61 81 B3 98
0000114629: 04 21 81 04 01 AB
0000114645: 03 61 81 B3 98
0000114677: 04 21 81 04 01 AB
0000114693: 03 61 81 B2 97
0000114725: 04 21 81 04 01 AB
03 61 81 B2 97
0000114773: 04 21 81 04 01 AB
0000114789: 03 61 81 B4 99

0000116021: 01 82 83
01 C2 C3
0000118131: Close COM5
температура:
Цитата:
0000067894: Open COM5 Baud=10400 RTO=10
0000069960: 00
0000070024: 81 10 FC 81 0E
0000070071: 83 FC 10 C1 5D 8F 3C

0000070407: 05 AC 81 02 11 01 46
02 EC 81 6F

0000070455: 04 21 81 04 01 AB
0000070471: 03 61 81 79 5E
0000070503: 04 21 81 04 01 AB
03 61 81 79 5E
0000070551: 04 21 81 04 01 AB
0000070567: 03 61 81 79 5E
0000070599: 04 21 81 04 01 AB
0000070615: 03 61 81 79 5E
0000070647: 04 21 81 04 01 AB
03 61 81 79 5E

01 82 83
01 C2 C3
0000076757: Close COM5
Температура, напряжение и обороты:
Цитата:
0000395532: Open COM5 Baud=10400 RTO=10

0000397689: 81 10 FC 81 0E
0000397738: 83 FC 10 C1 5D 8F 3C

0000398057: 0B AC 81 02 11 01 02 11 03 02 12 01 77
0000398090: 02 EC 81 6F

0000398122: 04 21 81 04 01 AB
0000398138: 06 61 81 79 B3 00 38 4C
0000398170: 04 21 81 04 01 AB
06 61 81 79 B3 00 38 4C
0000398218: 04 21 81 04 01 AB
0000398233: 06 61 81 79 B3 00 38 4C
0000398266: 04 21 81 04 01 AB
0000398282: 06 61 81 79 B2 00 38 4B
0000398313: 04 21 81 04 01 AB
06 61 81 79 B2 00 38 4B
0000398361: 04 21 81 04 01 AB
0000398378: 06 61 81 79 B2 00 38 4B
0000398410: 04 21 81 04 01 AB
0000398432: 06 61 81 79 B3 00 38 4C

01 82 83
01 C2 C3
0000405415: Close COM5
С формированием запроса и ответа вроде разобрался.
Собственно интересует почему tecu общается так, а мультитроникс по другому.
Миниатюры
Нажмите на изображение для увеличения
Название: 2OZTpb9qKoA.jpg
Просмотров: 1128
Размер:	86.5 Кб
ID:	47103  

Последний раз редактировалось admin; 27.03.2017 в 09:45.
payalne вне форума   Ответить с цитированием