Зміст: Загальні дані ↓ Основне призначення ↓ Схема контролера для сполучення… ↓ Рекомендації по використанню ↓ Загальні принципи обміну даними ↓ Ініціалізація контролера та бортової… ↓ Налаштування підключення ↓ Ініціалізація ↓ Процедура обміну даними ↓ Внесені зміни в інтерфейс… ↓ Налаштування підключення ↓ Вибір протоколу ↓ Примітка та коментарі ↓
Попередження: стандарту 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

Рекомендації по використанню
Для підключення пристрою до автомобіля можна використовувати неекранований кабель довжиною не більше 1,2 м, що особливо важливо при використанні протоколу ШІМ. При використанні довшого кабелю слід зменшити опір резисторів на вході пристрою (R8 і R9 або R15). При використанні екранованого кабелю екран слід від'єднати, щоб зменшити ємність.
Кабель для підключення до послідовного порту комп'ютера також може бути неекранованим. Пристрій стабільно працює з кабелем довжиною до 9м. Для значно більшої довжини кабелю слід використовувати більш потужний комунікатор RS 232.
Топологія електричних з'єднань довільна. У разі підвищеної вологості використовуйте додаткові шунтуючі конденсатори.
Безкоштовне програмне забезпечення (браузер) для читання кодів і даних можна завантажити з веб-сайтів виробників і призначене для використання під DOS. Невеликий розмір програмного додатку у версії "DOS" дозволяє його помістити на завантажувальну дискету DOS і використовувати навіть на комп'ютерах, обладнаних програмним забезпеченням, несумісним з DOS. Обов'язковою умовою є навіть наявність жорсткого диска в комп'ютері.
Загальні принципи обміну даними
Попередження: Якщо інше не обговорено особливо, всі числа наведено в 16-ричної форматі (hex).
Десятковий формат позначається міткою dec.
Обмін даними відбувається через трипровідне послідовне з'єднання, без використання ініціалізації обміну службовими повідомленнями (handshaking). Пристрій прослуховує канал на наявність повідомлень, виконує отримані команди і передає результати на персональний комп'ютер (ПК), після чого негайно повертається в режим прослуховування. Дані, що надходять і виходять з контролера, організовані у вигляді ланцюжка байтів, що йдуть послідовно один за одним, перший з яких є керуючим. Зазвичай контрольним байтом є число від 0 до 15 дес (або 0-F hex), описує кількість наступних інформаційних байтів. Так, наприклад, 3-байтова команда виглядатиме так: 03 (контрольний байт), 1-й байт, 2-й байт, 3-й байт. Цей формат використовується як для вхідних команд для запиту бортової системи самодіагностики, так і для вихідних повідомлень, що містять необхідну інформацію. Слід зазначити, що в керуючому байте використовуються тільки чотири молодших біта, старші біти зарезервовані для деяких спеціальних команд і можуть використовуватися ПК при ініціалізації з'єднання з контролером і узгодженні протоколу передачі даних, а також контролером для контролю помилок передачі. Зокрема, у разі помилки передачі контролер встановлює старший біт (MSB) керуючого байта в одиницю. Після успішної передачі всі чотири старші біти встановлюються в нуль.
Попередження: існують деякі винятки з правил використання контрольного байта.
Ініціалізація контролера та бортової системи самодіагностики
Щоб почати обмін даними, ПК повинен встановити з'єднання з контролером, потім ініціалізувати контролер і канал даних OBD II.
Налаштування підключення
Після підключення контролера до ПК і діагностичного роз'єму OBD його необхідно ініціалізувати, щоб запобігти "зависанням", пов'язаним із шумом у послідовних лініях, якщо вони були під'єднані до ввімкнення контролера. Одночасно виконується проста перевірка активності інтерфейсу. В першу чергу надсилається однобайтовий сигнал 20 (hex), який сприймається контролером як команда на встановлення з'єднання. У відповідь контролер надсилає один байт FF hex (255 dec) замість керуючого байта та переходить у режим очікування прийому даних. Тепер ПК може перейти до ініціалізації каналу даних.
Попередження: це один із небагатьох випадків, коли контролер не використовує контрольний байт.
Ініціалізація
На даному етапі проводиться ініціалізація протоколу, за яким буде здійснюватися обмін даними, а у разі протоколу ISO – ініціалізація бортової системи. Обмін даними здійснюється по одному з трьох протоколів: VPW (General Motors), ШІМ (Ford) та ISO 9141-02 (азійські/європейські виробники).
Попередження: Є багато винятків: наприклад, під час огляду деяких моделей автомобілів Mazda може використовуватися фордовський протокол PWM. Таким чином, при виникненні проблем передачі слід в першу чергу спробувати скористатися яким-небудь іншим протоколом.
Вибір протоколу здійснюється шляхом передачі комбінації, що складається з керуючого байта 41 (16-річний) і наступний за ним байт, який визначає тип протоколу: 0 = VPW, 1 = PWM, 2 = ISO 9141. Наприклад, команда 41(hex) 02(hex) ініціалізує протокол ISO 9141.
У відповідь контролер посилає керуючий байт і байт стану. Установка MSB керуючого байта вказує на наявність проблем, а наступний за ним байт стану міститиме відповідну інформацію. Після успішної ініціалізації надсилається керуючий байт 01 (шістнадцятковий), який вказує, що слідує байт перевірки стану. У випадку протоколів VPW і PWM байт перевірки є простим відлунням байта вибору протоколу (0 або 1 відповідно), під час ініціалізації протоколу ISO 9141 це буде цифровий ключ, який повертається бортовим процесором OBD і визначає, яка з двох дещо відмінних версій протоколу буде використана.
Попередження: цифровий ключ призначено виключно для інформаційних цілей.
Слід зазначити, що ініціалізація протоколів VPW і PWM відбувається набагато швидше, оскільки вимагає лише передачі відповідної інформації на контролер. У моделях, які відповідають стандарту ISO, ініціалізація займає близько 5 секунд, витрачається на обмін інформацією між контролером і вбудованим процесором, який виконується зі швидкістю 5 бод. Читач повинен знати, що на деяких моделях автомобілів сімейства ISO 9141 ініціалізація протоколу призупиняється, якщо запит даних не надсилається протягом 5-секундного інтервалу - це означає, що ПК повинен автоматично видавати запити кожні кілька секунд, навіть у режимі очікування.
Після встановлення з'єднання та ініціалізації протоколу починається звичайний обмін даними, що складається із запитів, що надходять від ПК, і відповідей, які видає контролер.
Процедура обміну даними
Контролер працює в кількох різних сценаріях, використовуючи протоколи сімейства ISO 9141-2 і SAE (VPW і PWM).
Обмін через протоколи SAE (VPW і PWM)
Під час обміну даними з використанням цих протоколів буферизується лише один кадр даних, що означає, що необхідно вказати кадр, який потрібно захопити або повернути. У деяких (рідкісних) випадках вбудований процесор може передавати пакети, що складаються з кількох кадрів. У цій ситуації запит потрібно повторювати, доки не будуть отримані всі кадри пакета.
Запит завжди форматується таким чином: [Контрольний байт], [SAE запит], [Номер кадру]. Як згадувалося вище, керуючий байт зазвичай є числом, що дорівнює загальній кількості наступних за ним байтів. Запит відформатований відповідно до специфікацій SAE J1950 і J1979 і складається із заголовка (3 байти), послідовності інформаційних байтів і байта перевірки помилок (CRC). Зауважте, що хоча інформація про запит генерується в суворій відповідності до специфікацій SAE, споживачем контрольного байта та номера кадру є мікросхема інтерфейсу.
Після успішного завершення процедури з'явиться відповідне повідомлення він завжди має такий формат: [Контрольний байт], [відповідь SAE]. Керуючий байт, як і раніше, визначає кількість наступних за ним інформаційних байтів. Відповідь, відповідно до вимог стандарту SAE, складається із заголовка (3 байти), ланцюжка інформаційних байтів і байта CRC.
У разі невдачі надсилається 2-байт повідомлення відповіді: [Контрольний байт], [Статусний байт]. У цьому випадку MSB встановлюється в керуючому байте. Чотири молодші біти утворюють число 001, вказуючи, що за керуючим байтом слід один байт, байт стану. Така ситуація може зустрічатися досить часто, так як специфікаціями передбачена можливість невидачі даних бортовим процесором, а також передача некоректних даних, якщо запит не відповідає стандарту, який підтримується виробниками автомобіля. Також можлива ситуація, коли запитувані дані відсутні в оперативній пам'яті процесора в поточний момент часу. Коли мікросхема не отримує очікуваної відповіді або отримує пошкоджені дані, MSB керуючого байта встановлюється, а після керуючого байта видається байт стану.
У разі колізій в шині інтерфейс генерує один байт 40 (шістнадцятковий), який є керуючим байтом з молодшим бітом, встановленим на нуль. Подібна ситуація може виникати досить часто при завантаженні шини автомобіля повідомленнями з більш високим пріоритетом, ніж дані діагностики - обчислювальний пристрій повинен повторити вихідний запит.
Обмін згідно з протоколами ISO 9141-2
Стандарт ISO 9141-2 використовується більшістю азіатських і європейських виробників автомобілів. Структура згенерованого ПК-запиту мало чим відрізняється від тієї, яка використовується в стандартах SAE, з тією лише різницею, що чіпу не потрібна інформація про номер кадру, і відповідна інформація не повинна бути присутня в пакеті. Таким чином, запит завжди складається з контрольного байта та наступного за ним ланцюжка інформаційних байтів, включаючи контрольну суму. як повідомлення відповіді чіп просто ретранслює сигнали, які генерує вбудований процесор. У повідомленні відповіді немає керуючого байта, тому ПК отримує вхідну інформацію безперервно, поки ланцюжок не перерветься паузою в 55 мілісекунд, що вказує на завершення інформаційного пакета. Таким чином, відповідне повідомлення може складатися з одного або кількох кадрів відповідно до вимог специфікацій SAE J1979. Чіп не аналізує кадри, не відкидає недіагностичні кадри тощо. ПК повинен самостійно обробляти вхідні дані, щоб ізолювати окремі кадри, аналізуючи байти заголовків.
Попередження: відповіді на більшість запитів складаються з одного кадру.
Внесені зміни в інтерфейс контролерів останніх версій
Нижче наведено основні відмінності між процесом передачі даних за протоколами SAE та ISO 9141, характерними для останньої версії контролерів інтерфейсу, а також процедурою передачі даних за протоколом ISO 14230: 1. Стандарт ISO 9141: Додано байт адреси;
2. Стандарт ISO 9141: повертається не один, а обидва ключові байти; (додатковий байт також повертається в режимах SAE, але тут він не використовується).
3. Додано підтримку протоколу 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 шестигранника) |
|
Рецепція: |
02, K1, K2, де K1, K2 — ключові байти ISO |
|
Або: |
82, XX, XX (помилка ініціалізації ISO 9141) |
|
ISO 14230 (швидка ініціалізація): |
|
|
Доставка: |
46, 03, R1, R2, R3, R4, R5, де: R1÷R5 - повідомлення про початок запиту ISO 14230 на встановлення з'єднання, зазвичай R1÷R5 = C1, 33, F1, 81, 66 |
|
Рецепція: |
S1, S2, ……… - повідомлення про початок відповіді ISO 14230 на встановлення з'єднання |
Попередження: більше ніж один ECU може передаватися послідовно. Як відповідь можна використовувати код негативної відповіді.
Типова позитивна відповідь виглядає так: S1, S2, ……. = 83, F1, 10, С1, Е9, 8F, BD
ISO 14230 (повільна ініціалізація): Подібно до ISO 9141
Примітка та коментарі
Якщо планується використання контролера для передачі даних лише по якомусь одному або двом з протоколів, зайві компоненти можуть бути виключені (див. діаграма вище). Наприклад, при організації схеми для протоколу VPW (GM) буде потрібно всього три дроти електропроводки в проводі, що з'єднує контролер з автомобілем (термінали 16, 5 і 2).
Якщо протокол ШІМ не використовується, елементи R4, R6, R7, R8, R9, R10, T1, T2 і D1 можуть бути виключені.
При відмові від обміну по протоколу ISO виключенню підлягають такі елементи: R15, R16, R17, R18, R19, R21, T4 і T5.
Якщо не використовувати протокол VPW, такі елементи можуть бути виключені: R13, R14, R23, R24, D2, D3 і T3.
Застосовані вугільно-плівкові резистори з 5-відсотковим допуском опору.
Зверніть увагу на відсутність кнопки аварійного скидання (RESET), при необхідності таке скидання можна виконати, від'єднавши контролер від роз'єму автомобіля (процесор інтерфейсу автоматично перезавантажиться). Перезапуск програмного забезпечення на ПК призведе до нової ініціалізації інтерфейсу.
[Основою для тексту послужили матеріали із сайту: audimanual]
