Зміст
CAN-шина була розроблена компанією BOSCH та INTEL у середині 1980 р.р. як мультизадачна система, що передає повідомлення зі швидкістю до 1 Мбіт/c. Спочатку CAN-шина https://microtronic.com.ua/ru/news/190-can призначалася для управління трансмісією в реальному масштабі часу, системи анти-занесення та заміни всієї радіальної проводки автомобіля.
Згодом цей стандарт став використовуватися у всіх сферах промислового управління:
- космічної індустрії,
- військової промисловості,
- автомобілебудування,
- авіації,
- верстатобудування,
- сучасних систем безпеки.
У транспортних засобах CAN-контролери з’єднуються за допомогою диференціальної шини, яка має дві лінії – CAN_H (Сan-High) та CAN_L (Can-Low), якими передаються повідомлення.
Топологія CAN-шини
У сучасних автомобілях може бути кілька контурів CAN-шин:
- CAN-шина силового агрегату (швидка шина), що дозволяє передавати інформацію зі швидкістю до 500 кбіт/с. Вона служить для зв’язку між блоками управління на лінії двигуна та трансмісії, може перебувати в домінантному стані при включеному запалюванні:
CAN-шина силового агрегату |
Електронний блок керування двигуна |
Електронний блок керування КПП |
Блок керування подушками безпеки |
Електронний блок керування АБС |
Блок керування електропідсилювача керма |
Блок керування ТНВД |
Центральний монтажний блок |
Електронний замок запалювання |
Датчик кута повороту кермового колеса |
- CAN-шина системи “Комфорт” (повільна шина), що дозволяє передавати інформацію зі швидкістю до 100 кбіт/с. Вона служить для зв’язку між блоками управління, що входять до системи «Комфорт» та інших, може перебувати в домінантному стані при вимкненому запаленні ТС:
CAN-шина системи «Комфорт» |
Комбінація приборів |
Електронні блоки дверей |
Електронний блок контролю паркувальної системи |
Блок управління системи «Комфорт» |
Блок управління склоочисників |
Контроль тиску в шинах |
- CAN-шина інформаційно-командної системи (повільна шина), що дозволяє передавати інформацію зі швидкістю до 100 кбіт/с. Вона служить зв’язку між різними обслуговуючими системами. Може перебувати у домінантному стані при вимкненому запаленні ТС.
CAN-шина інформаційно-командної системи |
Комбінація приборів |
Система звуковідтворення |
Інформаційна система |
Навігаційна система |
На деяких автомобілях для шин системи CAN «Комфорт» та інформаційно-командної системи використовується загальний двопровідний кабель, на деяких ТЗ контури цих шин виконані окремо.
На практиці, CAN-шини можуть використовуватися для передачі інформації про місцезнаходження, яку отримується від GPS-пристроїв https://microtronic.com.ua. Наприклад, дані про координати можуть передаватися через CAN-шину до інших систем автомобіля для використання цієї інформації, наприклад, у системі навігації чи системі безпеки.
Надсилання повідомлень у шині CAN
Існують два різні стани CAN-шини: домінантний (присутність повідомлень у шині, логічний 0) та рецесивний (відсутність повідомлень у шині, логічний 1).
Дані CAN передаються короткими повідомленнями-кадрами стандартного формату. У CAN існують чотири типи повідомлень:
- Data Frame
- Remote Frame
- Error Frame
- Overload Frame
Data Frame – це тип повідомлення, що найчастіше використовується. Він складається з наступних основних частин:
- поле арбітражу (arbitration field) визначає пріоритет повідомлення у разі, коли два або більше вузлів одночасно намагаються передати дані до мережі. Поле арбітражу складається у свою чергу з:
1) для стандарту CAN-2.0A, 11-бітного ідентифікатора + 1 біт RTR (retransmit)
2) для стандарту CAN-2.0B, 29-бітного ідентифікатора + 1 біт RTR (retransmit)
- поле даних (data field) містить від 0 до 8 байт даних
- поле CRC (CRC field) містить 15-бітну контрольну суму повідомлення, яка використовується для виявлення помилок
- слот підтвердження (Acknowledgement Slot) (1 біт), кожен CAN-контролер, який правильно прийняв повідомлення, посилає біт підтвердження в мережу. Вузол, який надіслав повідомлення, слухає цей біт, і у випадку, якщо підтвердження не прийшло, повторює передачу. У разі прийому слота підтвердження передавальний вузол може бути впевнений лише в тому, що хоча б один із вузлів у мережі правильно прийняв його повідомлення.
Remote Frame – це Data Frame без поля даних із виставленим бітом RTR (1 – рецесивний біт). Основне призначення Remote кадру – це ініціація одним із вузлів мережі передачі в мережу даних іншим вузлом. Така схема дозволяє зменшити сумарний трафік мережі.
Error Frame – це повідомлення, яке порушує формат повідомлення CAN. Передача такого повідомлення призводить до того, що всі вузли мережі реєструють помилку формату CAN-кадра і автоматично передають в мережу Error Frame. Результатом цього процесу є автоматична повторна передача даних у мережу передавальним вузлом. Error Frame складається з поля Error Flag, яке складається з 6 біт однакового значення та поля Error Delimiter, що складається з 8 рецесивних бітів. Error Delimiter дає можливість іншим вузлам мережі виявивши Error Frame надіслати в мережу свій Error Flag.
Overload Frame – повторює структуру і логіку роботи Error кадру, з тією різницею, що він використовується перевантаженим вузлом, який в даний момент не може обробити повідомлення, що надходить, і тому просить за допомогою Overload-кадра про повторну передачу даних.
Стандарт CAN-шини на даний момент реалізований у двох версіях: версія CAN 2.0А містить 11-бітові ідентифікатори в повідомленнях (тобто в системі може бути 2048 повідомлень) та CAN 2.0B – 29-бітові ідентифікатори (536 млн. повідомлень) . Даний стандарт описує лише те, як повідомлення (пакети) мають бути доставлені від одного вузла мережі до іншого і нічого не говорить про те, як потрібно інтерпретувати поле даних цих повідомлень та як використовувати поле арбітражу (ідентифікатор) цих повідомлень. Для цього існує кілька протоколів високого рівня, реалізованих на базі стандарту CAN: CANopen, CCP/XCP, DeviceNet, MilCAN, NMEA 2000®, OSEK/VDX, SDS, EnergyBus, LIN bus, J1587, J1708, J2534 (J1999, J RP1210A, RP1210 і тд.
Далі ми розглядатимемо роботу терміналу з протоколами J1939 і J1979.
Підключення терміналу до CAN-шини
Підключення терміналу до CAN-шини транспортного засобу можливе трьома способами:
- Підключення до діагностичного роз’єму OBD-II
Як правило, цей роз’єм присутній на більшості ТЗ. Зовнішній вигляд роз’єму OBD-II та призначення контактів представлені.
Деякі виробники використовують контакти Опція виробника для діагностики повільних CAN-шин (CAN-шини «Комфорт» або CAN-шини інформаційно-командної системи).
2. Пряме підключення до CAN-шини
Пряме підключення до CAN-шини здійснюється в тому випадку, якщо діагностичний роз’єм відсутній або на нього не виведені лінії CAN і якщо це не суперечить умовам гарантійного сервісу. Дане підключення здійснюється шляхом розбирання частини панелі приладів транспортного засобу, знаходження витої пари CAN (у різних моделях автомобілів вона розташовується в різних місцях) і підключення до неї відповідно до схеми.
3. Підключення до CAN-шини за допомогою безконтактних зчитувачів
Підключення до CAN-шини за допомогою безконтактних зчитувачів, наприклад niCAN або CAN crocodile . Цей варіант найбільш безпечний, т.к. такі зчитувачі дозволяють зчитувати повідомлення CAN-шин, не порушуючи цілісності ізоляції проводів. Також підключаючись до CAN-шини у такий спосіб, ми зможемо лише прослуховувати існуючі повідомлення, відправляти запити в шину можна лише підключившись безпосередньо.
Термінал дозволяє отримувати дані із CAN-шини ТС, якщо в ній підтримуються такі протоколи:
- J1939 (FMS). При роботі з цим протоколом термінал не передає повідомлення до CAN-шини, не вносить жодних змін у роботу автомобіля, у тому числі не відсилає підтверджень на пакети від вузлів автомобіля (використовувати варіанти підключення до шини №1, 2 та 3).
- J1979. Цей протокол працює за принципом «запит-відповідь», відповідно термінал надсилає запити до CAN-шини (використовувати варіант підключення до шини №1 та 2).
- Довільний протокол. Протокол передачі визначається виробником конкретного ТС.
Що потрібно зробити перед підключенням терміналу до CAN-шини?
Щоб переконатися в тому, що на контакти роз’єму OBD II дійсно виведені CAN-H і CAN-L або в тому, що знайдена Вами «кручена пара» дійсно є шиною CAN, необхідно перед підключенням терміналу провести наступні дії:
- перевірте наявність напруги на контактах щодо мінуса джерела живлення при включеному запаленні транспортного засобу;
- при вимкненій електроніці транспортного засобу перевірте опір між контактами CAN_L і CAN_H силового агрегату, нормальним вважається опір близько 60 Ом, за показаннями 120 Ом (у разі відсутності закінчувального резистора) встановіть паралельно контактам резистор із опором 120 Ом. Особливістю шини CAN системи «Комфорт» та інформаційно-командної системи є підключення навантажувальних опорів не між проводами High та Low, а між кожним проводом окремо та «масою» або проводом, що перебуває під напругою 5 В. При вимиканні живлення відбувається відключення навантажувальних опорів від цієї шини, тому виміряти їх за допомогою омметра не можна.
Типи CAN-шини | Напруга CAN-H, В | Напруга CAN-L, В | Опір контуру, Ом |
Силовий агрегат | 2,5-2,8 | 2,1-2,3 | ~60 |
Системи «Комфорт» | 0 | 5 | – |
Інформаційно-командної системи | 0 | 5 | – |
- підключіть 2 щупи осцилографа до контактів CAN-H і CAN-L (або в діагностичному роз’ємі, або безпосередньо до шини), при цьому GND-контакти осцилографа та CAN-шини повинні бути спільними, і перевірте наявність повідомлень при включеному запалюванні ТС.