Показать сообщение отдельно
Старый 27.03.2010, 21:31   #400
el66
Пользователь
 
Регистрация: 27.07.2009
Регион: 66, 96
Машина: 2005 Toyota Allion
Сообщений: 96
el66 is on a distinguished road
По умолчанию

Приветствую всех участников обсуждения проекта.
На днях мне на стол попал неисправный 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

Последний раз редактировалось el66; 28.03.2010 в 11:58.
el66 вне форума   Ответить с цитированием