J1939. CAN шина. Трактора и спец. техника

John Deere 9460 CAN bus

John Deere 9460 CAN bus

При помощи CAN-Hacker Вы можете работать не только с легковым и легким коммерческим транспортом. Так же успешно можно работать и с грузовиками, тракторами, комбайнами и другой специальной техникой.

Пи работе с CAN шиной специальной техники есть одно важно преимущество перед работой с легковым транспортом — На спец.технике протокол взаимодействия по CAN шине стандартизирован в большей части и название этого стандарта SAE J1939 или FMS протокол (Fleet management system).

Рассмотрим изучение протокола FMS на примере работы с CAN шиной трактора            John Deere 9460.

Подключение к CAN шине трактора осуществляется через стандартный диагностический разъем J1939

J1939 pinout CAN bus

В этом разъеме нам нужны контакты C и D.

Вот так выглядит подключение к CAN шине трактора John Deere при помощи CAN-Hacker:

 

j1939 connector can bus

John Deere CAN bus connection

Подключение осуществляется на скорости 500 кбит\с. Если подключение сделано то мы увидим примерно такие данные:

John Deere canbus data jpg

J1939 CAN bus data

Пакеты будут так же быстро изменяться, как и в автомобилях, но обратим внимание на длинные 29-битные ID. В этих ID  хранится информация о передаваемых параметрах, для их разбора обратимся к описанию протокола FMS / J1939

ID протокола J1939 состоит из следующих полей:
J1939 ID structure

Нас будут интересовать поля PDU Format и PDU Specific которые образуют номер передаваемого параметра, например

ID=0CF00400 имеет номер параметра F004 — средние два байта.

Остается вопрос: Как узнать какой параметр в CAN шине трактора за что отвечает? Обратимся к документу FMS-Standart description и при помощи поиска текста в документе найдем описание параметра 00F004

 

J1939 FMS PGN F004

В документе указано, что 3, 4, 5 байты несут в себе информацию о текущих оборотах двигателя.

Попробуем разобрать другой принятый пакет:
ID=18FEE500 DLC=8   DATA:   CD 75 00 00 FF FF FF FF

Ищем в FMS Standart Description параметр FEE5

J1939 FMS PGN FEE5 Engine Hours

Как видим это время наработки трактора, в нашем случае первые два байта пакет CD 75, а время наработки трактора 1507.8 часов. Формула пересчета такая:
(1507.8 *10 ) *2 ->HEX = 75CD

Таким образом мы можем при помощи CAN-Hacker найти все остальные интересующие параметры: Расход топлива, скорость, нагрузку на оси и многое другое.