7.3.1. Контроллер сопряжения персонального компьютера с бортовой системой самодиагностики OBD II по протоколам стандартов SAE (PWM и VPW) и ISO 9141-2
Стандарту VPW отвечают модели производства компании GM, стандарту PWM - Ford, стандарту ISO 9141-2 - азиатские и европейские модели. |
Общие данные
Рассматриваемое устройство представляет собой микроконтроллер, выполненный по технологии КМОП (CMOS).
Контроллер НЕ предназначен подключения к бортовым системам самодиагностики первого поколения (OBD I)! |
Устройство выполняет роль простейшего сканера и предназначено для считывания диагностических кодов и данных системы OBD II (обороты двигателя, температура охлаждающей жидкости и всасываемого воздуха, нагрузочные характеристики, расход поступающего в двигатель воздуха и т.п.) в рамках стандарта SAE J1979 через шину любого исполнения (PWM, VPW и ISO 9141-2).
Основное предназначение
Для подключения к компьютеру (РС) достаточно 3-жильного провода, подключение к диагностическому разъему осуществляется 6-жильным проводом. Напряжение питания подается на контроллер через 16-контактный диагностический разъем OBD. Принципиальная схема контроллера представлена на иллюстрации.
Принципиальная схема контроллера сопряжения РС с системой OBD II
|
Рекомендации по применению
ПОРЯДОК ВЫПОЛНЕНИЯ |
|
|
Общие принципы обмена данными
Если противное не оговорено особо, все числа приведены в 16-ричном формате (hex), десятичный формат обозначается меткой dec. |
Обмен данными идет по трехпроводному последовательному соединению, без применения инициализационного обмена служебными сообщениями (handshaking). Устройство прослушивает канал на наличие сообщений, выполняет принимаемые команды и передает результаты на персональный компьютер (PC), после чего немедленно возвращается в режим прослушивания. Входящие в контроллер и исходящие из него данные организованы в виде цепочки последовательно идущих друг за другом байтов, первый из которых является контрольным. Обычно контрольный байт представляет собой число от 0 до 15 dec (или 0-F hex), описывающее количество следующих далее информационных байтов. Так, например, 3-байтная команда будет выглядеть следующим образом: 03 (контрольный байт), 1-й байт, 2-й байт, 3-й байт. Подобный формат используется как для входящих команд на опрос бортовой системы самодиагностики, так и для исходящих сообщений, содержащих запрошенную информацию. Следует заметить, что в контрольном байте используются лишь четыре младших бита, - старшие биты зарезервированы под некоторые специальные команды и могут быть использованы PC при инициализации соединения с контроллером и согласовании протокола передачи данных, а также контроллером для контроля ошибок передачи. В частности, в случае ошибки при передаче, контроллер производит установку старшего значащего бита (MSB) контрольного байта в единицу. При успешной передаче все четыре старших бита устанавливаются в ноль.
Существуют отдельные исключения из правил использования контрольного байта. |
Инициализация контроллера и бортовой системы самодиагностики
Для начала обмена данными PC должен произвести установку соединения с контроллером, затем инициализировать контроллер и канал данных OBD II.
Установка соединения
После подсоединения контроллера к PC и диагностическому разъему OBD должна быть произведена его инициализация с целью предотвращения «зависаний», связанных с шумами в последовательных линиях в случае если их подсоединение было произведено до включения питания контроллера. Одновременно производится простейшая проверка активности интерфейса. В первую очередь посылается однобайтовый сигнал 20 (hex), воспринимаемый контроллером как команда на установку соединения. В ответ контроллер вместо контрольного высылает единственный байт FF hex (255 dec) и переходит в режим ожидания приема данных. Теперь PC может переходить к инициализации канала данных.
Данный случай является одним из немногих, когда контроллер не использует контрольный байт. |
Инициализация
ПОРЯДОК ВЫПОЛНЕНИЯ |
|||||
|
Порядок обмена данными
Функционирование контроллера при использовании протоколов семейства ISO 9141-2 и SAE (VPW и PWM) происходит по несколько различным сценариям.
Обмен по протоколам SAE (VPW и PWM)
ПОРЯДОК ВЫПОЛНЕНИЯ |
|
|
Обмен по протоколам ISO 9141-2
Стандарт ISO 9141-2 используется большинством азиатских и европейских производителей автомобильной техники. Структура формируемого PC запроса мало чем отличается от используемой в стандартах SAE с той лишь разницей, что контроллер не нуждается в информации о номере кадра и соответствующая информация присутствовать в пакете не должна. Таким образом, запрос всегда состоит из контрольного байта и следующей за ним цепочки информационных байтов, включающих в себя контрольную сумму. В качестве ответного сообщения контроллер просто ретранслирует сформированные бортовым процессором сигналы. Контрольный байт в ответном сообщении отсутствует, поэтому PC воспринимает поступающую информацию непрерывно до тех пор, пока цепочка не прерывается паузой длиной 55 миллисекунд, сообщающей о завершении информационного пакета. Таким образом, ответное сообщение может состоять из одного или более кадров в соответствии с требованиями Спецификаций SAE J1979. Контроллер не производит анализ кадров, не отбрасывает недиагностические кадры и т.д. PC должен собственными силами производить обработку поступающих данных с целью вычленения отдельных кадров путем анализа заголовочных байтов.
Ответы на большинство запросов состоят из единственного кадра. |
Модификации, произведенные в интерфейсных контроллерах последних версий
Ниже приведены основные отличия процесса передачи данных по протоколам SAE и ISO 9141, характерные для интерфейсных контроллеров последних версий, а также порядок передачи данных по протоколу ISO 14230:
a) Стандарт ISO 9141: Добавлен адресный байт;
b) Стандарт ISO 9141: Осуществляется возврат не одного, а обоих ключевых байтов (дополнительный байт возвращается также в режимах SAE, однако здесь он не используется);
c) Добавлена поддержка протокола ISO 14230.
Все информационные байты передаются в 16-ричном формате. Символом XX означается неопределенный, зарезервированный или неопознанный байт. |
Установка соединения
Порядок установки соединения не изменился:
Отправка: 20
Прием: FF
Выбор протокола
Применяется следующая схема:
VPW:
Отправка: 41, 00
Прием: 02, 01, XX
PWM:
Отправка: 41, 01
Прием: 02, 01, XX
ISO 9141:
Отправка: 42, 02, adr, где: adr - адресный байт (обычно 33 hex)
Прием: 02, К1, К2,
где: К1, К2 - ключевые байты ISO
Или: 82, XX, XX (ошибка инициализации ISO 9141)
ISO 14230 (быстрая инициализация):
Отправка: 46, 03, R1, R2, R3, R4, R5, где: R1 ÷R5 - сообщение о начале запроса ISO 14230 на установку соединения, обычно R1 ÷ R5 = С1, 33, F1, 81, 66
Прием: S1, S2, ………, где S1, S2, ……… - сообщение о начале ответа ISO 14230 на установку соединения
Могут передаваться последовательно более одного ECU. В качестве ответа может использоваться отрицательный код ответа. |
Типичный положительный ответ выглядит следующим образом: S1, S2 ……. = 83, F1, 10, С1, Е9, 8F, BD
ISO 14230 (медленная инициализация):
Аналогично ISO 9141
Замечания и комментарии
- Если планируется использование контроллера для передачи данных лишь по какому-либо одному или двум из протоколов, лишние компоненты могут быть исключены (см. схему). Например, при организации схемы под протокол VPW (GM) в проводе подключения контроллера к автомобилю потребуются лишь три жилы электропроводки (клеммы 16, 5 и 2).
- Если не используется протокол PWM, могут быть исключены элементы R4, R6, R7, R8, R9, R10, Т1, Т2 и D1.
- При отказе от обмена по протоколу ISO исключению подлежат элементы: R15, R16, R17, R18, R19, R21, Т4 и Т5.
- Отказ от использования протокола VPW позволяет исключить следующие элементы: R13, R14, R23, R24, D2, D3 и Т3.
- Применены угольно-пленочные резисторы с 5-процентным допуском сопротивления.
- Обратите внимание на отсутствие кнопки аварийной перезагрузки (RESET), в случае необходимости такая перезагрузка может быть произведена путем отсоединения контроллера от автомобильного разъема (перезагрузка интерфейсного процессора произойдет автоматически). Перезапуск программного обеспечения на PC приводит к новой инициализации интерфейса.