Открыть сервис

ISO 14230

ISO 14230 — это международный стандарт, описывающий протокол диагностической связи для транспортных средств (KWP2000), разработанный Международной организацией по стандартизации (ISO). Стандарт определяет физический и канальный уровни передачи данных между электронными блоками управления (ЭБУ) автомобиля и внешним диагностическим оборудованием (сканером) при использовании линии связи K-Line (одиночный провод с асинхронным последовательным интерфейсом). ISO 14230 является одним из базовых протоколов бортовой диагностики (OBD), широко применявшимся в автомобилях европейских, азиатских и некоторых американских производителей до повсеместного внедрения протокола CAN (Controller Area Network).

История и развитие

Протокол KWP2000 (Keyword Protocol 2000) был разработан компанией Bosch в начале 1990-х годов как расширение более раннего протокола KW1281, используемого в автомобилях VAG (Volkswagen Audi Group). В 1999 году на основе KWP2000 был создан международный стандарт ISO 14230. Первоначальная версия (ISO 14230-1:1999) описывала общие требования и структуру. Позднее вышли дополнительные части: ISO 14230-2 (физический уровень), ISO 14230-3 (канальный уровень) и ISO 14230-4 (транспортный уровень и реализация для K-Line). В 2010-х годах, с переходом автомобильной промышленности на более скоростные и надёжные сети на базе CAN (ISO 11898), использование ISO 14230 стало сокращаться. Однако он остаётся актуальным для диагностики старых автомобилей, выпущенных до середины 2000-х годов, а также для некоторых моделей бюджетного сегмента и мотоциклетной техники.

Физический уровень

Линия K-Line

В основе физического уровня ISO 14230 лежит однопроводная линия (называемая K-Line) с асинхронным последовательным интерфейсом, работающим по принципу UART (Universal Asynchronous Receiver-Transmitter). Скорость передачи данных может составлять 1,2 кбит/с; 2,4 кбит/с; 4,8 кбит/с; 9,6 кбит/с; 19,2 кбит/с; 38,4 кбит/с; 57,6 кбит/с или 115,2 кбит/с. Наиболее распространённые скорости для дорожных автомобилей — 10,4 кбит/с (по стандарту SAE J1850 или аналоги) и 10400 бит/с (обычно в реализации VAG). Стандарт допускает как полудуплексный, так и односторонний режимы.

Напряжения и электрические параметры

Сигнал на линии K-Line является двухуровневым: логическая единица (высокий уровень) соответствует напряжению +5 В или +12 В (в зависимости от реализации), а логический ноль (низкий уровень) — напряжению, близкому к 0 В. Передача осуществляется с помощью модема на основе UART: стартовый бит (0), затем 8 бит данных (младшим битом вперёд), необязательно бит чётности и стоповый бит (1). Напряжение холостого хода на линии может составлять от 5 до 12 В, а ток короткого замыкания ограничивается сопротивлением резистора подтяжки, который в ЭБУ обычно имеет номинал около 1–2 кОм.

Инициация соединения

Перед началом обмена данными внешний диагностический прибор (сканер) должен инициировать соединение с ЭБУ. Инициация включает последовательность импульсов (так называемый «ключевой сигнал» — keyword), которая включает стартовый бит, адрес ЭБУ, длину сообщения и собственно ключевое слово, кодирующее протокол. Стандарт определяет два варианта инициации:

  • Slow Initiation (медленная инициация) — используется для ЭБУ, которые не поддерживают быструю инициализацию. Она занимает несколько сотен миллисекунд и предполагает 5-вольтовый импульс в течение 300 мс, затем паузу, после чего сканер отправляет ключевое слово.
  • Fast Initiation (быстрая инициация) — более современный метод, при котором сканер генерирует короткие импульсы (30 мкс логического нуля), а ЭБУ отвечает ключевым словом за минимальное время (обычно менее 100 мс). Fast Initiation поддерживается большинством ЭБУ, выпущенных после 2001 года.

Канальный уровень

Канальный уровень (ISO 14230-3) отвечает за адресацию, управление потоком и обнаружение ошибок. В протоколе KWP2000 используется формат кадра, состоящий из полей:

  • Address (адрес источника/приёмника) — 1 или 2 байта.
  • Length (длина данных) — 1 байт, указывает количество байт в поле Data (максимум 255 байт).
  • Data (данные сообщения) — от 0 до 255 байт.
  • Checksum (контрольная сумма) — 1 байт, вычисляется как XOR всех байт кадра, начиная с адреса и включая все байты данных.

Каждый кадр передаётся как последовательность байтов через UART. Для управления потоком используется так называемый «токен» — механизм оптимизации, при котором стороны поочерёдно получают право передачи. Кадры могут быть как запросами (от сканера к ЭБУ), так и ответами (от ЭБУ к сканеру). В ответе обязательно устанавливается идентичный идентификатор сообщения.

Протокол KWP2000

Команды и сервисы

ISO 14230 определяет набор команд (сервисов) для диагностики. Они группируются в функциональные области:

  • Диагностика и управление (сервисы 0x10–0x3F): чтение/запись идентификационных данных, чтение/стирание кодов неисправностей (DTC — Diagnostic Trouble Codes), чтение данных датчиков в реальном времени, активация исполнительных механизмов.
  • Программное обеспечение (сервисы 0x40–0x6F): загрузка и обновление прошивки ЭБУ.
  • Сеть и протокол (сервисы 0x70–0x7F): управление сессиями, тестирование канала.
  • Производитель и специфические команды (сервисы 0x80–0xFF): каждая торговая марка (например, Volkswagen, Toyota, BMW) может определить собственные сервисы для уникальных функций.

Пример типичной команды: запрос на чтение дескриптора ЭБУ (service 0x1A, subfunction 0x92). Ответ включает текстовую строку, содержащую код изготовителя, номер детали, версию ПО и т.д.

Режимы и сессии

Протокол предусматривает несколько диагностических сессий:

  • Default session — стандартный режим, доступный всем.
  • Programming session — режим для обновления ПО.
  • Extended diagnostic session — расширенный режим с возможностью доступа к дополнительным сервисам.
  • Sub-function session — для специфических подфункций.

Переключение между сессиями осуществляется командой 0x10 (Start Diagnostic Session). Некорректное переключение может привести к блокировке ЭБУ на некоторое время.

Применение

ISO 14230 (KWP2000) широко применялся в автомобилях:

  • Volkswagen AG (Volkswagen, Audi, Seat, Skoda) — с 1999 до середины 2000-х годов. Например, модели Passat B5, Golf IV, Audi A4 (B6) использовали протокол K-Line с KWP2000.
  • BMW — на моделях E46, E39, E53 и некоторых более поздних, пока не перешли на CAN.
  • Mercedes-Benz — в некоторых дорестайлинговых моделях W203, W211 (до 2004 года).
  • Toyota — на моделях Corolla, Camry, RAV4 (2000–2005).
  • Renault — на моделях Clio II, Megan II.
  • Mitsubishi — на Lancer IX, Pajero III.

Внедорожные и грузовые автомобили (например, MAN, Mercedes Benz Trucks) также применяли этот протокол для диагностики двигателя и трансмиссии. В мотоциклах ISO 14230 распространён у Honda, Yamaha и BMW Motorrad.

Ограничения и замены

Основные недостатки ISO 14230:

  • Низкая скорость передачи данных (до 115,2 кбит/с, но на практике часто 10,4 кбит/с), что недостаточно для быстрой загрузки больших объёмов данных (например, прошивок).
  • Однопроводная линия чувствительна к помехам и ограничена длиной кабеля (обычно до 5 м).
  • Необходимость в специальной инициализации (ключевые слова) и настройке скорости UART, что усложняет совместимость между разными марками.
  • Отсутствие встроенной поддержки многоточечной сети (несколько ЭБУ на одной линии возможны только при поддержке адресации, но на практике редко реализовано).

Начиная с 2008 года, автопроизводители постепенно заменяли KWP2000 на CAN-протокол (ISO 11898) и более новые стандарты (например, ISO 15765 — диагностика поверх CAN, или DoIP (ISO 13400) — диагностика по IP). В России и странах СНГ многие автомобили с KWP2000 ещё эксплуатируются, и протокол поддерживается большинством мультимарочных диагностических приборов (например, Autocom, Launch, Delphi). Для работы с протоколом используется специальный адаптер K-Line (например, VAG COM KKL, K-Line USB-адаптер).

Интересные факты

  • Стандарт ISO 14230 не был единственным протоколом KWP2000: существовала также реализация на физическом уровне CAN (ISO 15765), которая фактически вытеснила K-Line.
  • В протоколе предусмотрена функция «bumpless start» — безударный старт сессии, позволяющий ЭБУ не прерывать работу во время диагностики.
  • Некоторые производители (например, BMW) использовали модифицированную версию протокола с дополнительными байтами в кадре, что делало сканеры сторонних производителей не полностью совместимыми.
  • Вплоть до начала 2020-х годов выпускались автомобили Lada (например, Lada Vesta, Lada XRAY), в которых использовалась диагностика по K-Line с упрощённым подмножеством KWP2000.

Источники

  • ISO 14230-1:1999 — Road vehicles — Diagnostic systems — Keyword Protocol 2000 — Part 1: General requirements.
  • ISO 14230-2:1999 — Part 2: Data link layer.
  • ISO 14230-3:1999 — Part 3: Application layer.
  • ISO 14230-4:2000 — Part 4: Implementation for K-Line.
  • «OBD-II and Beyond: Final Report 2018», SAE International.
  • Руководство по эксплуатации диагностического оборудования Autocom CDP+ 2020.
  • Техническая документация «Bosch KWP2000 Implementation Guidelines» (1997).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →