Зміст: Загальні дані ↡ Основне призначення ↡ Рекомендації щодо застосування ↡ Загальні принципи обміну даними ↡ Ініціалізація контролера та бортової…↡ Порядок обміну даними ↡ Зауваження та коментарі ↡
За протоколами стандартів 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. Принципова схема контролера представлена ілюстрації.
Рекомендації щодо застосування
1. Для підключення пристрою до автомобіля може бути використаний неекранований кабель, довжиною не більше 1,2 м, що має особливе значення при використанні протоколу PWM. У разі використання кабелю більшої довжини слід зменшити опір резисторів на вході пристрою (R8 та R9 або R15). При використанні екранованого кабелю екран слід вимкнути з метою зниження ємності.
2. Кабель для підключення до послідовного порту комп'ютера може бути неекранованим. Пристрій стабільно працює з кабелем довжиною до 9 м. При значно більшій довжині кабелю слід використовувати більш потужний комунікатор RS 232.
3. Топологія електричних з'єднань довільна При підвищеній вологості застосовуйте додаткові конденсатори.
Оригінал матеріалу на веб-сайті: MercedesMAN.ru
4. Безкоштовне програмне забезпечення (броузер) для зчитування кодів та даних може бути завантажено з сайтів виробників та призначене для використання під DOS. Незначний розмір програмної програми у варіанті "під DOS" дозволяє вмістити його на завантажувальну дискету DOS і використовувати навіть на комп'ютерах, оснащених несумісним із DOS програмним забезпеченням. Необов'язковою умовою є наявність у комп'ютері жорсткого диска.
Загальні принципи обміну даними
Примітка. Якщо неприємне не обумовлено особливо, всі числа наведені у 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) і переходить у режим очікування прийому даних. Тепер ПК може переходити до ініціалізації каналу даних.
Примітка. Даний випадок є одним із небагатьох, коли контролер не використовує контрольний байт.
Ініціалізація
На цьому етапі проводиться ініціалізація протоколу, яким буде здійснюватися обмін даними, а разі протоколу ISO – ініціалізація бортової системи. Обмін даними проводиться за одним із трьох протоколів: VPW (General Motors), PWM (Ford) та ISO 9141-02 (азіатські/європейські виробники). Примітка: Існує безліч винятків: наприклад, при опитуванні деяких моделей автомобілів Mazda може використовуватися фордовський протокол PWM. Отже, у разі проблем передачі слід насамперед спробувати скористатися будь-яким іншим протоколом. Вибір протоколу проводиться передачею комбінації, що складається з контрольного байта 41(16-ричн.) і наступного за ним байта, що визначає тип протоколу: 0 = VPW, 1 = PWM, 2 = ISO 9141. Так, наприклад, за командою 41(hex) 02(hex) проводиться ініціалізація протоколу ISO 9141.
У відповідь контролер надсилає контрольний байт і байт стану. Установка MSB контрольного байта говорить про наявність проблем, при цьому наступний за ним байт стану міститиме відповідну інформацію. При успішній ініціалізації надсилається контрольний байт 01(hex), що вказує на те, що далі слід верифікаційний байт стану. У разі протоколів VPW і PWM верифікаційний байт є простою луною байта вибору протоколу (0 або 1, відповідно), при ініціалізації протоколу ISO 9141 це буде цифровий ключ, що повертається бортовим процесором OBD і визначальний, яка саме з двох версій протоколу, що незначно відрізняються одна від одної, буде використовуватися.
Примітка. Цифровий ключ має суто інформаційне призначення.
Слід зауважити, що ініціалізація протоколів VPW і PWM відбувається значно швидше, так як вимагає лише передачі відповідної інформації контролеру. На моделях, що відповідають стандарту ISO, ініціалізація займає близько 5 секунд, що витрачаються на обмін контролера інформацією з бортовим процесором, вироблений зі швидкістю 5 бод. Слід звернути увагу читача, що на деяких моделях автомобілів сімейства ISO 9141 ініціалізація протоколу припиняється, якщо запит на видачу даних не буде переданий протягом 5-секундного інтервалу, - сказане означає, що PC повинен виробляти автоматичну видачу запитів кожні кілька секунд, навіть в холостому режимі.
Після встановлення з'єднання та ініціалізації протоколу починається штатний обмін даними, що складаються з запитів, що надходять від PC і видаються контролером відповідей.
Порядок обміну даними
Функціонування контролера під час використання протоколів сімейства 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 (hex), що є контрольним байтом з обнуленим молодшим бітом. Подібна ситуація може виникати досить часто при завантаженні автомобільної шини повідомленнями вищого ніж діагностичні дані пріоритету, - обчислювальний пристрій повинен повторити вихідний запит.
Обмін протоколами ISO 9141-2
Стандарт ISO 9141-2 використовується більшістю азіатських та європейських виробників автомобільної техніки. Структура формованого PC запиту мало чим відрізняється від використовуваної в стандартах SAE з тією різницею, що чіп не потребує інформації про номер кадру і відповідна інформація бути присутньою в пакеті не повинна. Таким чином, запит завжди складається з контрольного байта і наступного за ним ланцюжка інформаційних байтів, що включають контрольну суму. Як повідомлення у відповідь чіп просто ретранслює сформовані бортовим процесором сигнали. Контрольний байт у повідомленні у відповідь відсутній, тому PC сприймає надходить інформацію безперервно до тих пір, поки ланцюжок не переривається паузою довжиною 55 мілісекунд, повідомляє про завершення інформаційного пакета. Таким чином, повідомлення у відповідь може складатися з одного або більше кадрів відповідно до вимог Специфікацій SAE J1979. Чіп не здійснює аналіз кадрів, не відкидає недіагностичні кадри і т.д. PC повинен власними силами проводити обробку даних, що надходять з метою вичленування окремих кадрів шляхом аналізу заголовних байтів.
Відповіді на більшість запитів складаються з єдиного кадру.
Модифікації, зроблені в інтерфейсних контролерах останніх версій
Нижче наведено основні відмінності процесу передачі даних протоколами 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 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, ……… - повідомлення про початок відповіді 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), у разі потреби таке перезавантаження може бути здійснено шляхом від'єднання контролера від автомобільного роз'єму (перезавантаження інтерфейсного процесора відбудеться автоматично). Перезапуск програмного забезпечення на ПК призводить до нової ініціалізації інтерфейсу.
