Авто 

Протокол KWP2000 в автомобильных диагностических приложениях

Поделиться ссылкой:

Протокол KWP2000 фактически стал стандартом в автомобильных диагностических приложениях. Он стандартизирован как ISO 14230-3. KWP2000 описывает реализацию различных диагностических сервисов, с которыми вы можете войти. Вы можете запустить KWP2000 на нескольких транспортных уровнях, таких как K-line (последовательный) или CAN.

Транспортный протокол
Поскольку KWP2000 использует сообщения переменной длины байта, на уровнях требуется транспортный протокол с только четко определенной (короткой) длиной сообщения, такой как CAN. Транспортный протокол разбивает длинное сообщение KWP2000 на части, которые могут быть переданы по сети, и перестраивает эти части, чтобы восстановить исходное сообщение.

KWP2000 работает по CAN по различным транспортным протоколам, таким как ISO TP (ISO 15765-2), TP 1.6, TP 2.0 (Volkswagen) и SAE J1939-21. Для KWP2000 набор диагностических команд для автомобильной промышленности поддерживает только ISO TP (стандартизированный в ISO 15765-2) и специфичные для производителя транспортные протоколы VW TP 2.0.

Диагностические службы
Диагностические службы, доступные в KWP2000, сгруппированы в функциональные единицы и идентифицируются однобайтовым кодом (ServiceId). Стандарт не определяет все коды; для некоторых кодов стандарт относится к другим стандартам SAE или ISO, а некоторые зарезервированы для расширений, специфичных для производителя. Набор диагностических команд для автомобильной промышленности поддерживает следующие службы:

• Управление диагностикой
• Передача данных
• Передача хранимых данных (коды неисправностей диагностики)
• Управление вводом / выводом
• Удаленное управление Активация управляющей подпрограммы

Загрузка / выгрузка и расширенные сервисы не являются частью набора команд автомобильной диагностики.

Формат диагностической службы
Диагностические службы имеют общий формат сообщений. Каждый сервис определяет сообщение запроса, сообщение с положительным ответом и сообщение с отрицательным ответом. Сообщение запроса имеет ServiceId в качестве первого байта плюс дополнительные параметры, определенные сервисом. Сообщение с положительным ответом имеет ответ ServiceId с битом 6, установленным в качестве первого байта, плюс параметры ответа, определенные службой.

Сообщение с отрицательным ответом обычно является трехбайтовым сообщением: оно имеет отрицательный ответ ServiceId в качестве первого байта, эхо-сигнал исходного ServiceId в качестве второго байта и ResponseCode в качестве третьего байта. Единственным исключением из этого формата является отрицательный ответ на EscapeCode; третий байт является эхом пользовательского сервисного кода, а четвертый байт является ResponseCode. Стандарт KWP2000 частично определяет коды отклика, но есть место для расширений, специфичных для производителя. Для некоторых ResponseCodes KWP2000 определяет процедуру обработки ошибок. Поскольку как положительные, так и отрицательные ответы отвечают на запрошенную услугу, вы всегда можете назначить ответы на соответствующий запрос.

Connect / Disconnect
KWP2000 ожидает, что диагностический сеанс будет запущен с StartDiagnosticSession и завершен с StopDiagnosticSession. Однако StartDiagnosticSession имеет параметр DiagnosticMode, который указывает тип диагностического сеанса. В зависимости от этого типа, ECU может поддерживать или не поддерживать другие диагностические службы или работать в ограниченном режиме, где не все функции ECU доступны. Значения диагностических параметров зависят от производителя и не определены в стандарте. Чтобы сеанс диагностики оставался активным, служба TesterPresent должна выполняться периодически, если никакая другая служба не выполняется. Если TesterPresent отсутствует в течение некоторого времени, сеанс диагностики прекращается, и ЭБУ возвращается в нормальный рабочий режим.

GetSeed / Unlock
Механизм GetSeed / Unlock может защитить некоторые диагностические службы. Тем не менее, соответствующие услуги предоставлены производителю и не определены стандартом. Вы можете выполнить механизм GetSeed / Unlock через SecurityAccess. Это определяет несколько уровней безопасности, но производитель назначает эти уровни определенным службам.

Чтение / запись памяти
Используйте Read / WriteMemoryByAddress для загрузки / выгрузки данных по определенным адресам памяти в ECU. Адрес представляет собой трехбайтовую сумму в KWP2000 и пятибайтовую сумму (четырехбайтовый адрес и однобайтовое расширение) в протоколах калибровки. Функциональные блоки загрузки / выгрузки сильно зависят от производителя и плохо определены в стандарте, поэтому они не являются хорошим способом обеспечения общего механизма выгрузки / выгрузки.

Измерение
Используйте сервис ReadDataByLocal / CommonIdentifier для доступа к данным ECU способом, аналогичным DAQ. Local / CommonIdentifier перечисляет ECU, которые затем передаются из ECU в тестер. Передача может быть одноразовой или периодической, с медленной, средней или высокой скоростью передачи. Скорость передачи зависит от производителя; Вы можете установить SetDataRates, но этот параметр зависит от производителя. Набор диагностических команд для автомобильной промышленности поддерживает измерения в одной точке.

Диагностические коды неисправностей
Считывание диагностических кодов неисправностей (DTC) является основной диагностической функцией. KWP2000 определяет несколько сервисов, которые обращаются к DTC, основываясь на их группе или статусе.

Управление вводом / выводом
KWP2000 определяет сервисы для изменения внутренних или внешних сигналов ЭБУ. Одним из примеров является перенаправление входов датчика ECU на стимулированные сигналы. Параметры управления этими командами зависят от производителя и не определены в стандарте.
Процедура удаленной активации

Эти службы аналогичны функциям ActionService и DiagService CCP. Вы можете вызвать внутреннюю процедуру ECU, указанную по адресу Local / CommonIdentifier или адресу памяти. В отличие от случая CCP, выполнение этой подпрограммы может быть асинхронным; то есть существуют отдельные службы Start, Stop и RequestResult. Параметры управления этими командами зависят от производителя и не определены в стандарте.

Внешние ссылки
Для получения дополнительной информации о стандарте KWP2000 см. ISO 14230-3.

——————————————————————-

Мотозапчасти оптом
Велозапчасти оптом
Запчасти для скутеров оптом
Запчасти для снегоходов оптом
Запчасти для бензопил оптом

Мы не придумываем новости, мы их копируем! Верить или нет тому, что вы прочитали на нашем сайте, личное дело каждого!

Похожие записи

Top