Введение
Коды, используемые для бортовой диагностики
PID OBD II (On Board Diagnostics Parameter IDs) – это коды, используемые для запроса данных из автомобиля и применяемые в качестве диагностического инструмента. Стандарт SAE J1979 определяет множество PID OBD II. Все автомобили и грузовики, продаваемые в Северной Америке, обязаны поддерживать подмножество этих кодов, главным образом для государственных проверок выбросов, установленных законом. Производители также определяют дополнительные PID, специфичные для их автомобилей. Хотя это и не является обязательным требованием, многие мотоциклы также поддерживают PID OBD II. В 1996 году первыми обязательными стали требования к автомобилям малой грузоподъемности (менее 15), а в 2005 году – к автомобилям средней грузоподъемности. Доступ к обоим типам должен осуществляться через стандартизированный разъем для передачи данных, определенный SAE J1962. Тяжелые транспортные средства (грузоподъемностью более) выпущенные после 2010 года,
Сервисы UDS, не относящиеся к OBD, начинаются с 0x10, чтобы избежать пересечения диапазонов идентификаторов.
Услуга - отображение сохраненных кодов диагностических неисправностей (DTC)
PID (шестнадцатеричный) Возвращаемые байты данных Описание Мин. значение Макс. значение Единицы измерения Формула N/A n*6 Запрос кодов неисправности 3 кода в кадре сообщения. См. ниже.
Услуга - Уточнить коды диагностических неисправностей и сохраненные значения
PID (шестнадцатеричный) Возвращаемые байты данных Описание Мин. значение Макс. значение Единицы измерения Формула N/A 0 Сброс кодов неисправностей / Индикатор неисправности (MIL) / Лампа проверки двигателя Сбрасывает все сохраненные коды неисправностей и гасит MIL.
Служба - Результаты испытаний, мониторинг датчиков кислорода (не только CAN)
PID (hex) Возвращаемые байты данных Описание Мин. значение Макс. значение Единицы измерения Формула 4 Поддерживаемые идентификаторы мониторов OBD ($01 – $20) 0x0 0xffffffff 2 Монитор датчика кислорода, банк 1, датчик 1 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 1, датчик 2 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 1, датчик 3 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 1, датчик 4 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 2, датчик 1 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 2, датчик 2 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 2, датчик 3 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 2, датчик 4 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 3, датчик 1 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 3, датчик 2 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 3, датчик 3 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 3, датчик 4 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 4, датчик 1 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 4, датчик 2 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 4, датчик 3 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 4, датчик 4 0,00 1,275 В 0,005 Пороговое напряжение датчика обогащения/обеднения смеси Монитор датчика кислорода, банк 1, датчик 1 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 1, датчик 2 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 1, датчик 3 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 1, датчик 4 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 2, датчик 1 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 2, датчик 2 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 2, датчик 3 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 2, датчик 4 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 3, датчик 1 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 3, датчик 2 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 3, датчик 3 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 3, датчик 4 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 4, датчик 1 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 4, датчик 2 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 4, датчик 3 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси Монитор датчика кислорода, банк 4, датчик 4 0,00 1,275 В 0,005 Пороговое напряжение датчика обеднения/обогащения смеси PID (hex) Возвращаемые байты данных Описание Мин. значение Макс. значение Единицы измерения Формула
Услуга - Запрос информации о транспортном средстве
PID(hex) Возвращаемые байты данных Описание Мин. значение Макс. значение Единицы Формула 4 Служба 9 поддерживает PID ($01 до $20) Битовое кодирование. [A7 D0] = [PID $01 PID $20] См. ниже 1 Количество сообщений VIN в PID Только для ISO 9141 2, ISO 14230 4 и SAE J1850. Обычно значение равно 5. 17 Идентификационный номер транспортного средства (VIN) 17 символов VIN, кодировка ASCII, с заполнением нулями слева при необходимости. 1 Количество сообщений ID калибровки для PID Только для ISO 9141 2, ISO 14230 4 и SAE J1850. Значение должно быть кратно 4 (для каждого ID требуется 4 сообщения). 16, 32, 48, 64 Калибровка До 16 символов ASCII. Неиспользуемые байты данных будут сообщены как нулевые байты. Можно вывести несколько CALID (по 16 байтов каждый). 1 Количество сообщений номеров проверки калибровки (CVN) для PID Только для ISO 9141 2, ISO 14230 4 и SAE J1850. 4, 8, 12, 16 Номера проверки калибровки (CVN) Можно вывести несколько CVN (по 4 байта каждый). Количество CVN и CALID должно совпадать. Необработанные данные с заполнением нулями слева. Обычно отображаются в шестнадцатеричном формате. 1 Количество сообщений отслеживания эксплуатационных характеристик для PID и только для ISO 9141 2, ISO 14230 4 и SAE J1850. 8 10 8, если требуется сообщить шестнадцать значений, 9, если требуется сообщить восемнадцать значений, и 10, если требуется сообщить двадцать значений (одно сообщение сообщает два значения, каждое из которых состоит из двух байтов). 4 Отслеживание эксплуатационных характеристик для транспортных средств с искровым зажиганием 4 или 5 сообщений, каждое из которых содержит 4 байта (два значения). См. ниже. 1 Количество сообщений с именем ECU для PID 20 Имя ECU, кодировка ASCII, с заполнением нулями справа. 4 Отслеживание эксплуатационных характеристик для транспортных средств с компрессионным зажиганием 5 сообщений, каждое из которых содержит 4 байта (два значения). См. ниже. PID(hex) Описание Мин. значение Макс. значение Формула единиц
Битовые кодированные PID
Некоторые PID в указанной выше таблице не поддаются объяснению с помощью простой формулы. Более развернутое объяснение этих данных приведено здесь:
Служба 01 PID - Контроль состояния этого цикла привода
Запрос этого PID возвращает 4 байта данных. Возвращаемые данные имеют ту же структуру, что и данные, возвращаемые для PID, за одним исключением: первый байт всегда равен нулю.
Перечисленные ПИД
Некоторые PID требуют специальной интерпретации и не обязательно кодируются непосредственно в битовом представлении или в каком-либо масштабе. Значения этих PID перечисляются.
Формат шины CAN (11-битная)
Согласно определению в ISO 15765-4, протоколы выбросов (включая OBD II, EOBD, UDS и т.д.) используют транспортный слой ISO TP (ISO 15765-2). Все CAN-кадры, отправляемые с использованием ISO TP, имеют длину данных 8 байт (и DLC равный 8). Рекомендуется заполнять неиспользуемые байты данных значением 0xCC. Запрос и ответ PID происходят в CAN-шине транспортного средства. Стандартные запросы и ответы OBD используют функциональные адреса. Диагностический сканер инициирует запрос, используя CAN ID 7DFh, который действует как широковещательный адрес, и принимает ответы от любого ID в диапазоне от 7E8h до 7EFh. ЭБУ, способные отвечать на запросы OBD, прослушивают как широковещательный функциональный ID 7DFh, так и один назначенный ID в диапазоне от 7E0h до 7E7h. Их ответ имеет ID, равный назначенному ID плюс 8, например, от 7E8h до 7EFh. Такой подход позволяет подключить до восьми ЭБУ, каждый из которых независимо отвечает на запросы OBD. Диагностический сканер может использовать ID в ответном кадре ЭБУ для продолжения связи с конкретным ЭБУ. В частности, многокадровая связь требует ответа на конкретный ID ЭБУ, а не на ID 7DFh. CAN-шина также может использоваться для связи, выходящей за рамки стандартных сообщений OBD. Физическое адресование использует определенные CAN ID для конкретных модулей (например, 720h для приборной панели в автомобилях Ford) с проприетарными данными кадра.
Запрос
Функциональный запрос PID отправляется транспортному средству по шине CAN с идентификатором 7DFh, используя 8 байтов данных. Байты:
Байт PID Тип 0 1 2 3 4 5 6 7 Стандарт SAE Количество дополнительных байтов данных: 2 Service01 = отображение текущих данных; 02 = замороженная рамка; и т.д. Код PID (например: 05 = температура охлаждающей жидкости двигателя) не используется (ISO 15765-2 предполагает CCh) Специфичный для транспортного средства Количество дополнительных байтов данных: 3 Пользовательская услуга: (например: 22 = расширенные данные) Код PID (например: 4980h) не используется (ISO 15765-2 предполагает CCh)
Byte PID Type 0 1 2 3 4 5 6 7 SAE Standard Number ofadditionaldata bytes:2 Service01 = show current data;02 = freeze frame;etc. PID code(e. g.: 05 = Engine coolant temperature) not used(ISO 15765 2 suggests CCh) Vehicle specific Number ofadditionaldata bytes:3 Custom service: (e. g.: 22 = enhanced data) PID code(e. g.: 4980h) not used(ISO 15765 2 suggests CCh)