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 →