Джгут проводки шини CAN автомобіля

Стаття була корисною?

Коментарі

ISO-TP (ISO 15765-2): як довгі діагностичні повідомлення йдуть по CAN

Кадр CAN несе вісім байтів. VIN має сімнадцять символів. ISO-TP — рівень, що це вирішує, і його розуміння пояснює кілька інакше незрозумілих поведінок адаптерів.

ШІ-згенеровано 4 хв читання

CAN проєктували для коротких частих керувальних повідомлень — швидкість колеса, положення дроселя, оберти двигуна. Класичний кадр CAN несе максимум вісім байтів даних.

Діагностиці ж треба передавати значно більші об’єкти: VIN із 17 символів, список підтримуваних PID, контрольну суму калібрування, повний перелік збережених кодів. ISO 15765-2, який усі звуть ISO-TP, — це транспортний рівень, що робить це можливим.

Проблема в одному рядку

Вісім байтів на кадр. VIN — сімнадцять символів. Хтось має розбити повідомлення і зібрати його назад.

Одиночні кадри

Коли навантаження вміщається, ISO-TP використовує одиночний кадр. Перший байт кодує тип кадру і довжину, лишаючи сім байтів даних.

Цього вистачає для більшості звичних запитів. Запитати оберти двигуна й отримати відповідь — це по одному кадру в кожен бік, і саме тому прості живі дані швидкі.

Багатокадрова передача і рукостискання керування потоком

Усе, що довше за сім байтів, стає багатокадровою передачею, і послідовність варто знати, бо її режими відмови видно користувачам.

  1. Перший кадр — відправник повідомляє загальну довжину і надсилає першу порцію.
  2. Кадр керування потокомотримувач відповідає трьома речами: чи продовжувати, розміром блоку (скільки кадрів слати до наступної паузи) і часом розділення (мінімальний проміжок між послідовними кадрами).
  3. Послідовні кадри — решта, кожен із наскрізним номером, щоб пропуски були виявлені.

Те, що темп задає отримувач, — важлива деталь. Повільний модуль може попросити прилад зачекати між кадрами, і прилад, який цей запит ігнорує, змушує модуль скинути передачу.

Чому це пояснює реальні проблеми адаптерів

Кілька знайомих скарг — це насправді проблеми ISO-TP в іншому вбранні.

«VIN не читається.» Отримання VIN через режим 09 — це багатокадрова передача. Адаптер зі зламаною або частковою реалізацією ISO-TP охоче віддає прості одиночні значення і провалюється на всьому довшому. Це один із найнадійніших способів виявити неякісний клон — див. як розпізнати підробку ELM327.

«Читає частину даних, але відвалюється на списку кодів.» Читання багатьох збережених кодів одразу — багатокадрове. Причина та сама.

«У друга працює, у мене ні.» Різні модулі просять різний час розділення. Адаптер, що передає надто швидко, працює з терпимими модулями і провалюється зі строгими.

«Працювало, тепер відвалюється.» Завади або граничний контакт псують один послідовний кадр; перевірка порядкового номера провалюється, і вся передача скасовується. Тут важлива цілісність шини — основи CAN.

Адресація

ISO-TP визначає, як прилад і модуль ідентифікують одне одного. У стандартній схемі OBD-II:

  • Прилад надсилає запит на функціональну адресу, зазвичай 0x7DF.
  • Кожен ECU відповідає на власній фізичній адресі в діапазоні 0x7E80x7EF.

Саме через цей діапазон авто може мати кілька відповідальних модулів, і саме тому прилад здатен показати, хто саме відповів. Фізична адресація дозволяє звертатися до одного конкретного модуля, і саме так заводські прилади дістаються окремих контролерів.

Де це в стеку

РівеньЩо робить
ПрикладнийРежими OBD-II або сервіси UDS
Транспортний — ISO-TPРозбиває і збирає довгі повідомлення
Мережевий — ISO 15765-4Параметри CAN, специфічні для OBD-II
Канальний — CANКадри, арбітраж, обробка помилок
ФізичнийДва скручені дроти, термінування 120 Ом

Стандартний OBD-II сидить поверх ISO-TP. UDS теж. Розуміння транспорту пояснює поведінку обох.

Ширший контекст: протоколи OBD-II.

CAN FD змінює арифметику

CAN FD піднімає навантаження з 8 до 64 байтів і дозволяє швидшу фазу даних. Багатокадрові передачі стають значно рідшими, а великі об’єкти рухаються набагато швидше.

Це також означає, що адаптер, зроблений лише під класичний CAN, узагалі не зможе говорити з шиною CAN FD. На авто приблизно з 2020 року це справжній критерій при покупці — CAN FD простими словами і як обрати адаптер ELM327.

А DoIP замінює це повністю

На діагностиці через Ethernet уся задача сегментації зникає, бо TCP/IP її вже вирішив. Див. DoIP простими словами.

Що це означає на практиці

Ви ніколи не налаштовуватимете ISO-TP руками. Знання дає вам тлумачення: коли адаптер ідеально читає оберти й не може отримати VIN — це конкретне діагностоване обмеження, а не загадка, і зазвичай воно означає адаптер, а не авто.

Спробуйте на безкоштовному тарифі застосункупідключіть адаптер ELM327 і першим тестом запитайте VIN. Він задіює багатокадрову передачу від початку до кінця, тож адаптер, що повернув його правильно, довів те, чого просте читання обертів ніколи б не довело.

Коментарі

Завантаження…