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

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

[ad_1]

Протокол 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, в то время как другие зарезервированы для расширений, специфичных для производителя. Automotive Diagnostic Command Kit поддерживает следующие сервисы:

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

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

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

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

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

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

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

Измерения
Используйте сервисы ReadDataByLocal/CommonIdentifier для доступа к данным ECU способом, подобным DAQ. Local/CommonIdentifier описывает список величин ECU, которые затем передаются из ECU в тестер. Передача может быть одиночной или периодической, медленной, средней или быстрой. Скорость передачи зависит от производителя; Для их установки можно использовать службу SetDataRates, но этот параметр зависит от производителя. Комплект Automotive Diagnostic Command Kit поддерживает одноточечные измерения.

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

Вход/выход управления
KWP2000 определяет службы для обмена внутренними или внешними сигналами ECU. Одним из примеров является перенаправление входного сигнала датчика ECU на стимулированные сигналы. Настройки управления для этих команд зависят от производителя и не указаны в стандарте.
Обычная удаленная активация

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

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

[ad_2]

Facebook Comments

კომენტარის დატოვება

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო. აუცილებელი ველები მონიშნულია *