ISO 15765
ISO 15765 — это международный стандарт, определяющий протокол передачи диагностических сообщений по шине CAN (Controller Area Network) в транспортных средствах. Стандарт входит в семейство протоколов диагностики, связанных с ISO 15031 (аналог OBD-II) и ISO 14229 (UDS — единая диагностика). ISO 15765 регламентирует, как диагностические данные (коды неисправностей, показания датчиков, параметры блоков управления) упаковываются в CAN-кадры и передаются между диагностическим сканером и электронными блоками управления (ЭБУ) автомобиля.
История
Разработка ISO 15765 началась в конце 1990-х годов как часть усилий по стандартизации бортовой диагностики. Основной импульс дало ужесточение экологических норм в США (OBD-II) и странах Европейского союза (EOBD), которые требовали унифицированного доступа к системам контроля выхлопа. Первая версия стандарта была опубликована в 2000 году (ISO 15765-1, ISO 15765-2, ISO 15765-3). Впоследствии стандарт несколько раз пересматривался, а его содержание постепенно вошло в более широкий стандарт ISO 14229 (UDS), который используется в современной диагностике легковых и грузовых автомобилей. На практике ISO 15765 остаётся основой для многих существующих реализаций диагностического протокола KWP2000 over CAN.
Структура стандарта
ISO 15765 состоит из нескольких частей, каждая из которых описывает определённый аспект взаимодействия:
- ISO 15765-1 — общее описание и архитектура сети (физический уровень, топология CAN).
- ISO 15765-2 — протокол транспортного уровня (TP — Transport Protocol), отвечающий за сегментацию и сборку сообщений, поток управления, обработку ошибок.
- ISO 15765-3 — прикладной уровень (на базе ISO 14229), определяющий сервисы диагностики (чтение/запись данных, управление сбросами, проверка связности).
- ISO 15765-4 — дополнение к диагностике CAN-сети и описание дополнительных сервисов (часто не используется в современных реализациях).
Уровень передачи: CAN
Физический и канальный уровни
ISO 15765 базируется на стандарте CAN 2.0 (ISO 11898). В качестве физической среды используется дифференциальная пара проводов (CAN High, CAN Low). Скорость передачи данных в типовых решениях — 250 кбит/с или 500 кбит/с. Канальный уровень обеспечивает формирование CAN-кадров длиной до 8 байт полезных данных (стандартный формат — 11-битный идентификатор), а также арбитраж приоритетов и проверку битовой целостности.
Транспортный уровень (TP)
Поскольку размер одного CAN-кадра ограничен 8 байтами, а диагностические сообщения (например, считывание кодов неисправностей или данные потоков) могут иметь длину в десятки или даже сотни байт, необходим протокол, разбивающий большие пакеты на фрагменты. За это отвечает Transport Protocol (TP), описанный в ISO 15765-2.
TP определяет три типа сообщений:
- Single Frame (SF) — однофреймовая передача, применяемая, когда объём данных не превышает 7 байт.
- First Frame (FF) — первый фрейм многофреймовой передачи (до 4095 байт), содержащий общую длину сообщения.
- Consecutive Frame (CF) — последующие фреймы (до 7 байт данных в каждом), передаваемые после получения подтверждения.
Поток управления (Flow Control, FC) используется для управления темпом передачи: получатель (чаще всего диагностический сканер) может запросить паузу или изменение размера окна. Протокол фиксирует таймауты на каждую операцию, что обеспечивает устойчивость к ошибкам и потерям кадров.
Адресация
В CAN-сети каждый ЭБУ имеет свой уникальный идентификатор (ID). В диагностике используются стандартные адреса (например, 0x7DF — функция Broadcast для запросов OBD-II) или пользовательские адресные схемы (физическая адресация — к конкретному блоку, функциональная — к группе блоков). ISO 15765 не вводит собственной адресации, а опирается на базовую CAN-адресацию, дополненную полями Protocol Control Information (PCI) в данных сообщения.
Прикладной уровень
Сервисы ISO 14229
Основные команды прикладного уровня (сервисы) описаны в ISO 14229 (UDS). ISO 15765-3 адаптирует их для передачи через CAN. Ключевые сервисы:
- Diagnostic Session Control (SID 0x10) — выбор режима работы (обычный, программирование, расширенная диагностика).
- Read Data By Identifier (SID 0x22) — чтение одного или нескольких диагностических кодов (например, версии ПО, параметров двигателя).
- Read Diagnostic Trouble Codes (SID 0x19) — считывание и сброс кодов неисправностей.
- Write Data By Identifier (SID 0x2E) — запись данных (обновление калибровок, конфигурирование).
- Request Download/Upload (SID 0x34, 0x35) — операции передачи больших объёмов (например, прошивка).
Каждый сервис имеет фиксированную структуру: служебный идентификатор (SID) + подфункция (supplementary byte) + параметры. Ответ содержит положительный (Positive Response) или отрицательный (Negative Response) код, информирующий об успехе или ошибке.
Диагностические сигналы
В рамках ISO 15765 часто используются специальные протокольные блоки данных — Diagnostic Trouble Codes (DTC) и их статусы. Каждый DTC имеет 3-байтовый код, закодированный по стандарту ISO 15031-6 (P0xxx, P1xxx, C0xxx, B0xxx, U0xxx). Статус DTC (например, «confirmed», «pending», «active») передаётся с помощью одного байта — статусного флага.
Применение
ISO 15765 применяется:
- В автодиагностике — как один из базовых протоколов для работы с автомобилями, совместимыми с OBD-II и EOBD (большинство моделей 2008 года и новее).
- В автомобильной электронике — для прошивки (flashing) ЭБУ через диагностический разъём (например, через протокол KWP2000 over CAN).
- В разработке и тестировании — при создании эмуляторов ЭБУ, инструментов калибровки (ETAS Inca, Vector CANape) и стендов для функционального тестирования.
- В сервисных станциях — для считывания DTC, просмотра стоп-кадров и выполнения адаптаций.
Ограничения и критика
- Скорость передачи — при скорости 500 кбит/с один CAN-кадр занимает примерно 0,2 мс, но для передачи длинного диагностического сообщения (например, 100 байт) требуется около 10–15 кадров из-за накладных расходов на TP. На практике это может приводить к задержкам при опросе большого количества блоков.
- Ёмкость — максимальная длина одного сообщения по ISO 15765-2 — 4095 байт. Для современной прошивки (например, объёмом 1 Мбайт) требуется много сессий, что замедляет процесс обновления.
- Совместимость — стандарт не описывает способ идентификации поддерживаемых сервисов, поэтому диагностические приборы часто используют эвристики (поиск «живых» адресов).
- Устаревание — с переходом на более скоростные шины (CAN FD, FlexRay, Automotive Ethernet) ISO 15765 постепенно вытесняется в пользу DoIP (ISO 13400) и ISO 15765-2 с расширениями для CAN FD, но для старых автомобилей остаётся основным.
Связанные стандарты
- ISO 15031 — дорожные транспортные средства, обмен диагностическими данными.
- ISO 14229 — UDS (Unified Diagnostic Services), прикладной уровень для всех протоколов.
- ISO 11898 — CAN (все части).
- SAE J1939 — протокол для грузовых автомобилей и сельхозтехники, использующий CAN и аналогичную архитектуру транспортного уровня.
Источники
- ISO 15765-1:2000. Road vehicles — Diagnostics on Controller Area Networks (CAN).
- ISO 15765-2:2004. Road vehicles — Diagnostics on CAN — Part 2: Network layer services.
- ISO 15765-3:2004. Road vehicles — Diagnostics on CAN — Part 3: Implementation of diagnostic services.
- ISO 15765-4:2005. Road vehicles — Diagnostics on CAN — Part 4: Compliance requirements.
- СТО ГАЗ 190000-... (2008). Руководство по диагностике автомобилей ГАЗ.
- https://www.victoriaboone.com/articles/road-vehicles-diagnostics-... (обзорная статья).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →