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

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

Транспортный протокол

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

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

Диагностические сервисы

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

• Диагностическое управления

• Передача данных

• Сохранена передача данных (диагностические неисправности)

• Контроль входа / выхода

• Удаленная активация обычной программы

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

Диагностический сервисный формат

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

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

Подключение / отключение

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

GetSeed / Unlock

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

Чтение / запись памяти & # 39; памяти

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

Измерение

Используйте службы ReadDataByLocal / CommonIdentifier для доступа к данным ЭКУ аналогично список DAQ. Локальный / CommonIdentifier описывает список значений ЭКЮ, которые затем передаются с ЭКЮ на тестера. Передача может быть однозначной или периодической, с медленной, средней или быстрой скоростью передачи. Скорость передачи зависит от производителя; вы можете использовать службу SetDataRates для их настройки, но это настройки зависит от производителя. Автомобильный набор команд диагностики поддерживает измерения с одним пунктом.

Диагностические коды неисправностей

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

Контроль входов / выходов

KWP2000 определяет услуги для изменения внутренних или внешних сигналов ЭКЮ. Одним из примеров является переадресация входящих датчиков ECU на стимулированные сигналы. Контрольные параметры этих команд являются специфическими для производителя и не определены в стандарте.

Удаленная активация текущей версии

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

Внешние ссылки

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

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: