Що таке сан шина. CAN-шина - як працює електроніка в сучасних автомобілях? Стандартний і розширений CAN

Адміністратор

18702

Для того, щоб зрозуміти принципи роботи CAN-шини ми вирішили написати / перевести ряд статей, присвячених цій тематиці, як зазвичай, грунтуючись на матеріалах зарубіжних джерел.

Одним з подібних джерел, який, як нам здалося, цілком відповідним чином ілюструє принципи роботи CAN-шини, став відеоролик-презентація навчального продукту CANBASIC компанії Igendi Engineering (http://canbasic.com).

Ласкаво просимо на презентацію нового продукту CANBASIC, навчальної системи (плати), присвяченій питанню функціонування шини КАН (CAN).

Ми почнемо з основ побудови мережі CAN-шини. На схемі наведено автомобіль з його системою освітлення.



Показана звичайна проводка, в якій кожна лампа безпосередньо підключена з будь-яким перемикачем або контактом педалі гальма.



Тепер аналогічна функціональність показана із застосуванням технології CAN-шини. Передні і задні світлові прилади підключені до контролюючих модулів. Контролюючі модулі з'єднані паралельно з такими ж проводами шини.



Цей невеликий приклад демонструє, що обсяг електропроводки знижується. Додатково до всього модулі управління можуть виявляти перегорілі лампи і інформувати про це водія.

Автомобіль на зазначеному вигляді містить чотири модуля управління і чітко відображає побудову навчальної системи (плати) CANBASIC



У вищеописаному зазначено чотири вузли шини (CAN-вузла).

Передній модуль контролює передні світлові прилади.

Вузол сигналізації забезпечує контроль внутрішньої частини автомобіля.

Основний контрольний модуль з'єднує всі системи транспортного засобу для діагностики.

Задній вузол контролює задні світлові прилади.

На тренувальній дошці CANBASIC ви можете побачити маршрутизацію (розташування) трьох сигналів: «Харчування», «CAN-Hi» і «землі», що з'єднуються в контрольному модулі.



У більшості транспортних засобів для підключення головного модуля управління до ПК за допомогою діагностичного програмного забезпечення вам потрібен OBD-USB конвертер.



Плата CANBASIC вже містить в собі OBD-USB конвертер і може бути безпосередньо підключена до ПК.

Харчується плата від інтерфейсу USB, тому додаткові кабелі не потрібні.



Провід шини використовуються для передачі безлічі даних. Як це працює?

Як працює CAN-шина

Ці дані передаються послідовно. Ось приклад.

Людина з лампою, передавач, хоче відправити якусь інформацію людині з телескопом, одержувачу (приймача). Він хоче передати дані.



Для того, щоб зробити це вони домовилися, що одержувач дивиться за станом лампи кожні 10 секунд.



Це виглядає так:







Через 80 секунд:



Тепер 8 біт даних були передані зі швидкістю 0,1 біт в секунду (тобто 1 біт в 10 секунд). Це називається послідовною передачею даних.



Для використання цього підходу в автомобільному додатку інтервал часу скорочується з 10 секунд до 0,000006 секунди. Для передачі інформації за допомогою зміни рівня напруги на шині даних.



Для вимірювання електричних сигналів шини КАН використовується осцилограф. Дві вимірювальних майданчика на платі CANBASIC дозволяють виміряти цей сигнал.



Щоб показати повне CAN-повідомлення дозвіл осцилографа зменшується.



В результаті поодинокі CAN-біти більше не можуть бути розпізнані. Для вирішення цієї проблеми CANBASIC-модуль оснащений цифровим запам'ятовуючим осцилографом.

Ми вставляємо модуль CANBASIC у вільний роз'єм USB, після чого він буде автоматично виявлено. Програмне забезпечення CANBASIC можна запустити прямо зараз.



Ви можете бачити вид програмного осцилографа з прикріпленими значеннями бітів. Червоним показані дані, передані в попередньому прикладі.

Щоб пояснити інші частини CAN-повідомлення ми розфарбовуємо CAN-кадр і прикріплюємо на нього підписи з описом.



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

Жовта область визначає кількість призначених для користувача даних. У зеленій зоні може бути встановлений унікальний ідентифікатор.

Синя область дозволяє задати CAN-повідомлення для віддаленого запиту. Це означає, що буде очікуватися відповідь від іншого CAN-вузла. (Розробники системи самі рекомендують не користуватися віддаленими запитами по ряду причин призводять до глюків системи, але про це буде інша стаття.)

Багато системи з шиною CAN захищені від перешкод другим каналом CAN-LO для передачі даних, який є інвертованим щодо сигналу CAN-HI (тобто йде той же сигнал, тільки з протилежним знаком).



Шість послідовних бітів з однаковим рівнем визначають кінець CAN-кадру.



Так співпало, що інші частини CAN-кадру можуть містити більше п'яти послідовних бітів з однаковим рівнем.



Щоб уникнути цієї бітової мітки, якщо з'являється п'ять послідовних бітів з однаковим рівнем, в кінці CAN-кадру вставляється протилежний біт. Ці біти називають стафф-бітами (сміттєвими битами). CAN-приймачі (одержувачі сигналу) ігнорують ці біти.



За допомогою полів введення можуть бути задані всі дані КАН-кадру і тому кожне КАН-повідомлення може бути надіслано.

Вставлені дані негайно оновлюються в CAN-кадрі, в даному прикладі довжина даних буде змінена з одного байта на 8 байтів і зрушена назад на один байт.



Текст опису показує, що сигнал повороту буде управлятися за допомогою ідентифікатора «2С1» і біт даних 0 і 1. Всі біти даних скидаються на 0.



Ідентифікатор встановлений в значення «» 2С1 ». Для активації сигналу поворотів біт даних повинен бути встановлений з 0 на 1.



У режимі «в салоні» ви можете управляти всім модулем за допомогою простих клацань миші. Дані CAN встановлюються автоматично відповідно до бажаного дією.

Лампи поворотников можуть бути встановлені на ближнє світло для роботи в якості ДГЗ. Яскравістю буде управляти широтно-імпульсна модуляція (ШІМ), відповідно до можливостей сучасної диодной техніки.

Тепер ми можемо активувати фари ближнього світла, протитуманні фари, стоп-сигнали і фари дальнього зарубіжжя.



З відключенням ближнього світла протитуманні фари також відключаються. Логіка управління світловий системою CANBASIC відповідає автомобілям марки Volkswagen. Особливості запалювання і «повернення додому» також включені.

З сигнальним вузлом ви можете зчитувати сигнал датчика після ініціюючого віддаленого запиту.

У режимі віддаленого запиту другий CAN-кадр буде прийнятий і показаний нижче відправленого CAN-кадру.



Байт даних CAN тепер містить результат вимірювання датчика. З наближенням до датчика пальця ви можете змінити виміряне значення.



Клавіша паузи заморожує поточний CAN-кадр і дозволяє провести точний аналіз.

Як вже було показано, різні частини CAN-кадру можуть бути приховані.



Крім того підтримується приховування кожного біта в КАН-кадрі.

Це дуже корисно, якщо ви хочете використовувати уявлення CAN-кадру в ваших власних документах, наприклад в листі вправ.

Діагностика та ремонт: CAN - шина

21.02.2006

Саме так виглядає (в основному) та сама "шина CAN ", З якою останнім часом нам доведеться стикатися все частіше і частіше:

фото 1

Це звичайний двухпроводной кабель отримав назву Twisted Pair .
На наведеному фото 1 показані дроти CAN High і CAN Low силового агрегату.
За цим проводам проводиться обмін даними між блоками управління, вони можуть нести інформацію про швидкість автомобіля, швидкості обертання колінчастого вала, вугіллі випередження запалювання і так далі.
Зверніть увагу, що один з проводів додатково позначений чорною смужкою. Саме таким чином відзначається і візуально визначається провід CAN High (Оранжево-чорний).
колір проводу
CAN-Low - оранжево-коричневий.
За основний колір шини
CAN прийнятий помаранчевий колір.

На малюнках і кресленнях прийнято зображати кольору проводів шини CAN іншими квітами, а саме:

фото 2

CAN-High - жовтим кольором
CAN-Low - зеленим кольором

Всього існує кілька різновидів шин CAN , Які визначаються виконуваними ними функціями:
Шина CAN силового агрегату(Швидкий канал) .
вона дозволяє
передавати інформацію зі швидкістю) 500 кбіт / с і служить для зв'язку між блоками управління (Двигун - трансмісія)
Шина CAN системи "Комфорт"(Повільний канал) .
вона дозволяє
передавати інформацію зі скоростью100 кбіт / с і служить для зв'язку між блоками управління, що входять в систему "Комфорт".
Шина даних CAN інформаційно командної системи(Повільний канал), що дозволяє передавати дані зі швидкістю 100 kBit / s. забезпечує зв'язокміж різними обслужівающімісістемамі (наприклад, телефонної і навігаційної системами).

Нові моделі автомобілів все більше стають схожими на літаки - за кількістю заявлених функцій для безпеки, комфорту та екологічності. Блоків управління стає все більше і більше і "тягнути" від кожного грона проводів - нереально.
Тому крім шини CAN вже існують інші шини, що одержали назви:
- шина LIN (однопроводная шина)
- шина MOST (оптоволоконная шина)
- бездротова шина Bluetooth

Але не будемо "розпливатися мислію по древу", загострити нашу увагу поки що на одній конкретній шині: CAN (За поглядами корпорації BOSCH).

На прикладі шини CAN силового агрегату можна подивитися форму сигналу:

фото 3

Коли на High шині CAN домінантне стан, то напруга дроті підвищується до 3.5 вольт.
У рецесивним стані напруга на обох проводах дорівнює 2.5 вольта.
Коли на дроті
Low домінантне стан, то напруга падає до 1.5 вольта.
( "Домінанта" - явище, домінуюче, чільне або панівне в якій-небудь сфері, - з словників).

Для підвищення надійності передачі даних, в шині CAN застосовується диференційний спосіб передачі сигналів по двох проводах, що має назву Twisted Pair . А дроти, які утворюють цю пару, називаються CAN High і CAN Low .
У початковому стані шини на обох проводах підтримується постійна напруга на певному (базовому) рівні. для шини
CAN силового агрегату воно приблизно дорівнює 2.5 вольта.
Таке початковий стан називається "станом спокою" або "рецессівен".

Яким чином передаються і перетворюються сигнали по CAN шині?

Кожен з блоків управління приєднаний до CAN шині за допомогою окремого пристрою під назвою трансивер, в якому є приймач сигналів, що представляє собою диференційний підсилювач, встановлений на вході сигналів:

фото 4

Вступники по дротах High і Low сигнали, надходять в диференційний підсилювач, обробляються і надходять на вхід блоку управління.
Ці сигнали представляють собою напруга на виході диференціального підсилювача.
Диференціальний підсилювач формує це вихідна напруга як різниця між напругою на проводах High і Low шини CAN.
Таким чином виключається вплив величини базового напруги (у шини CAN силового агрегату воно дорівнює 2,5 В) або будь-якого напруження, викликаного, наприклад, зовнішніми перешкодами.

До речі, щодо перешкод. Як кажуть, "шина CAN досить стійка до перешкод, тому вона знайшла таке широке застосування ".
Спробуємо розібратися з цим.

Провід шини CAN силового агрегату розташовані в моторному відсіку і на них можуть впливати перешкоди різного порядку, наприклад, перешкоди від системи запалювання.

Так як шина CAN складається з двох проводів, які перекручені між собою, то перешкода одночасно впливає на два дроти:

З вищенаведеного малюнка видно, що відбувається далі: в диференціальному підсилювачі напруга на дроті Low (1,5 В - " Pp ") Віднімається з напруги
на дроті High (3,5 В - "
Pp ") І в обробленому сигналі перешкода відсутній (" Pp "- перешкода).


Примітка: За наявності часу стаття може мати продовження - багато ще залишається "за кадром".



Кучер В.П.
© Легіон-Автодата

Вас також може зацікавити:

Що таке CAN шина.

Історія появи CAN почалася в середині 80-х років минулого століття. Компанія Bosсh спільно з компанією intel розробили новий цифровий інтерфейс для передачі даних - Controller Area Network (CAN).

Аналогове підключення сигналізації (без CAN шини)

Навіщо потрібна CAN шина в автомобілі.

CAN шина дозволяє з'єднати між собою будь-яку кількість датчиків, контролерів, виконавчих елементів та інших блоків, що знаходяться в автомобілі (наприклад: системи ABS, SRS AIRBAG, ESP, іммобілайзер, блок керування двигуном, клімат, КПП, центральний замок, світло, підвіска, приладова панель і т.д ...) в дуплексному режимі (прийом і передача даних) зі швидкістю до 1 Мбіт / с. При цьому сама can шина складається всього з двох проводів (кручена пари). Раніше для з'єднання блоків необхідно було використовувати сотні проводів тому передача одиниці інформації від блоку до блоку здійснювалася по окремому проводу.

Установка сигналізації по CAN шині

Автосигналізації c CAN модулем.

CAN модуль

Сучасні автосигналізації виробляються з інтегрованим CAN модулем, що дозволяє підключати автомобільну сигналізацію безпосередньо до цифрової шині автомобіля CAN. Автосигналізація отримує в цифровому вигляді інформацію про стан кінцевиків, замків, запалювання, ручника, тахометра і т.д. а також може управляти замками дверей, склопідйомниками, люком, штатної сигналізацією і деякими іншими системами автомобіля. дозволяє значно скоротити втручання в штатну електропроводку (підключення проводяться за все до 6-8 проводам, замість 15-20 в варіанті без використання can шини) і дозволяє уникнути проблем з гарантією на електрообладнання автомобіля.

Сучасний автомобіль це не тільки засіб пересування, але і просунутий гаджет з мультимедійними функціями і електронною системою управління агрегатами і купою датчиків. Багато автовиробників пропонують функції асистентів руху, помічників при парковці, моніторингу та управління авто з телефону. Це можливо завдяки використанню в авто CAN шини до якої підключені всі системи: двигун, гальмівна система, кермо, мультимедіа, клімат і ін.

Мій автомобіль Skoda Octavia 2011 року в. не пропонує можливостей управління з телефону, тому я вирішив виправити цей недолік, а заодно і додати функцію голосового управління. В якості шлюзу між CAN шиною і телефоном я використовую Raspberry Pi з Шілд CAN BUS і WiFi роутер TP-Link. Протокол спілкування агрегатів авто закритий, і на всі мої листи надати документацію протоколу Volkswagen відмовляв. Тому єдиний спосіб дізнатися, як спілкуються пристрої в авто і навчитися ними керувати є реверс-інжиніринг протоколу CAN шини VW.

Я діяв поетапно:

  1. Підключення до CAN шині авто
  2. Голосове управління за допомогою Homekit і Siri
В кінці відео голосового управління склопідйомниками.

Розробка CAN Шілд для Raspberry Pi

Схему Шілд взяв тут lnxpps.de/rpie, там же і опис висновків, для спілкування з CAN використовуються 2 мікросхеми MCP2515 і MCP2551. До Шілд підключаються 2 дроти CAN-High і CAN-Low. У SprintLayout 6 розвів плату, може кому стане в нагоді CANBoardRPi.lay (на заголовному фото прототип Шілд на макетке).

Установка ПО для роботи з CAN шиною

На Raspbian 2-x річної давності мені треба було пропатчити bcm2708.c, щоб додати підтримку CAN (можливо зараз це не потрібно). Для роботи з CAN шиною потрібно встановити пакет утиліт can-utils з github.com/linux-can/can-utils, після цього довантажити модулі і підняти can інтерфейс:

# Initialize insmod spi-bcm2708 insmod can insmod can-dev insmod can-raw insmod can-bcm insmod mcp251x # Maerklin Gleisbox (60112 and 60113) uses 250000 # loopback mode for testing ip link set can0 type can bitrate 125000 loopback on ifconfig can0 up
Перевіряємо, що інтерфейс CAN піднявся командою ifconfig:

Перевірити, що все працює можна відправивши команду і отримавши її.

В одному терміналі слухаємо:

[Email protected]~ # Candump any, 0: 0, # FFFFFFFF
В іншому терміналі відправляємо:

[Email protected]~ # Cansend can0 123 # deadbeef
Докладніший процес установки описаний тут lnxpps.de/rpie.

Підключення до CAN шині авто

Трохи вивчивши відкриту документацію на CAN шину VW я з'ясував, що у мене використовується 2 шини.

Шина CAN силового агрегату, Передає дані зі швидкістю 500 кбіт / с, пов'язує всі обслуговуючі цей агрегат блоки управління.

Наприклад, до шини CAN силового агрегату можуть бути підключені наступні прилади:

  • блок керування двигуном,
  • блок управління АБС,
  • блок управління системою курсової стабілізації,
  • блок управління коробкою передач,
  • блок управління подушками безпеки,
  • комбінація приборів.
Шина CAN системи «Комфорт» і інформаціоннокомандной системи, Що дозволяє передавати дані зі швидкістю 100 кбіт / с між обслуговуючими ці системи блоками управління.

Наприклад, до шини CAN системи «Комфорт» та інформаційно<командной системы могут быть
підключені наступні прилади:

  • блок управління системою Climatronic або кліматичною установкою,
  • блоки управління в дверях автомобіля,
  • блок управління системою «Комфорт»,
  • блок управління з дисплеєм для радіо і навігаційної системи.
Отримавши доступ до першої можна у управляти рухом (в моєму варіанті на механіці, як мінімум можна управляти круїз контролем), отримавши доступ до другої можна управляти магнітолою, кліматом, центральним замком, склопідйомниками, фарами і ін.

Обидві шини пов'язані через шлюз, який знаходиться в області під кермом, так само до шлюзу підключений діагностичний OBD2 роз'єм, до співчуття через OBD2 роз'єм можна послухати трафік від обох шин, можна тільки передати команду і запросити стан. Я вирішив, що буду працювати тільки з шиною «Комфорт» і найзручнішим місцем підключення до шини виявився роз'єм в водійських дверей.

Тепер я можу слухати, все що відбувається в CAN шині «Комфорт» і відправляти команди.

Розробка сніффер і вивчення протоколу CAN шини


Після того як я отримав доступ до прослуховування CAN шини, мені потрібно розшифрувати хто кому і що передає. Формат пакета CAN показаний на малюнку.

Всі утиліти з набору can-utils самі вміють розбирати CAN пакети і віддають тільки корисну інформацію, а саме:

  • ідентифікатор
  • довжина даних
  • дані
Дані передаються в НЕ зашифрованому вигляді, це полегшило вивчення протоколу. На Raspberry Pi я написав маленький сервер який перенаправляє дані з candump в TCP / IP, щоб на комп'ютері розібрати потік даних і красиво показати їх.

Для macOS я написав просте додаток, яке для кожної адреси пристрою додає осередок в табличку і в цьому осередку я вже бачу якісь дані змінюються.

Натискаю кнопку стеклопод'емника я знайшов осередок в якій змінюються дані, потім я і визначив які команди відповідають натискання вниз, натискання вгору, утриманню вгору, утриманню вниз.

Перевірити, що команда працює, можна відправивши з терміналу, наприклад команду підняти ліве скло вгору:

Cansend can0 181 # 0200
Команди, які передають пристрої по CAN шині в автомобілях VAG (Skoda Octavia 2011), отримані методом реверс-інжиніринг:

// Front Left Glass Up 181 # 0200 // Front Left Glass Down 181 # 0800 // Front Right Glass Up 181 # 2000 // Front Right Glass Down 181 # 8000 // Back Left Glass Up 181 # 0002 // Back Left Glass Down 181 # 0008 // Back Right Glass Up 181 # 0020 // Back Right Glass Down 181 # 0080 // Central Lock Open 291 # 09AA020000 // Central Lock Close 291 # 0955040000 // Update Light status of central lock (Коли відправляєш команду відкрити / закрити замок то на кнопці керування замком світлодіод не змінює стан, щоб він показав реальний стан центрального замка, потрібно відправити команду поновлення) 291 # 0900000000
Мені було ліньки вивчити всі інші пристрої, тому в цьому списку, тільки те що мені було цікаво.

Розробка програми для телефону

Використовуючи отримані команди я написав додаток для iPhone, яке відкриває / закриває скла і управляє центральним замком.

На Raspberry Pi я запустив 2 маленьких сервера, перший відправляє дані з candump в TCP / IP, другий приймає команди від iPhone і передає їх cansend.


Вихідні тексти програми управління авто для iOS

// // FirstViewController.m // Car Control // // Created by Vitaliy Yurkin on 17.05.15. // Copyright (c) 2015 Vitaliy Yurkin. All rights reserved. // #import "FirstViewController.h" #import "DataConnection.h" #import "CommandConnection.h" @interface FirstViewController () @property (nonatomic, strong) DataConnection * dataConnection; @property (nonatomic, strong) CommandConnection * commandConnection; @property (weak, nonatomic) IBOutlet UILabel * Door_1; @property (weak, nonatomic) IBOutlet UILabel * Door_2; @property (weak, nonatomic) IBOutlet UILabel * Door_3; @property (weak, nonatomic) IBOutlet UILabel * Door_4; @property (weak, nonatomic) IBOutlet UIButton * CentralLock; - (IBAction) lockUnlock: (UIButton *) sender; @end @implementation FirstViewController - (void) viewDidLoad (self.dataConnection =; self.dataConnection.delegate = self;; self.commandConnection =;;) - (void) didReceiveMemoryWarning (; // Dispose of any resources that can be recreated. ) - (void) doorStatusChanged: (char) value (/ * 1 - Front Left Door 2 - Front Right Door 4 - Back Left Door 8 - Back Right Door 3 - Front Left & Right Door = 1 + 3 5 - Front & Back left Door = 1 + 4 * / // Front Left Door if (value & 1) (self.Door_1.backgroundColor =; self.Door_1.text = @ "Відкрито"; NSLog (@ "1");) else (self.Door_1. backgroundColor =; self.Door_1.text = @ "Закрито";) // Front Right Door if (value & 2) (self.Door_2.backgroundColor =; self.Door_2.text = @ "Відкрито"; NSLog (@ "2 ");) else (self.Door_2.backgroundColor =; self.Door_2.text = @" Закрито ";) // Back Left Door if (value & 4) (self.Door_3.backgroundColor =; self.Door_3.text = @ "Відкрито"; NSLog (@ "4");) else (self.Door_3.backgroundCo lor =; self.Door_3.text = @ "Закрито"; ) // Back Right Door if (value & 8) (self.Door_4.backgroundColor =; self.Door_4.text = @ "Відкрито"; NSLog (@ "8");) else (self.Door_4.backgroundColor =; self .Door_4.text = @ "Закрито";)) BOOL firstStatusChange = YES; BOOL lastStatus; - (void) centralLockStatusChanged: (BOOL) status (// At first status changes set lastStatus variable if (firstStatusChange) (firstStatusChange = NO; // Invert status, to pass the next test lastStatus =! Status;) // Change Lock image only if status changed if (! (lastStatus == status)) (// Check status if (status) (forState: UIControlStateNormal];) else (forState: UIControlStateNormal];) lastStatus = status;)) // Front Left Glass - (IBAction) frontLeftUp: (UIButton *) sender (;) - (IBAction) frontLeftDown: (id) sender (;) // Front Right Glass - (IBAction) frontRightUp: (UIButton *) sender (;) - (IBAction) frontRightDown : (id) sender (;) // Back Left Glass - (IBAction) backLeftUp: (UIButton *) sender (;) - (IBAction) backLeftDown: (id) sender (;) // Back Right Glass - (IBAction) backRightUp : (UIButton *) sender (;) - (IBAction) backtRightDown: (id) sender (;) - (IBAction) lockUnlock: (UIButton *) sender (// If central lock closed if (lastStatus) (// Open; int6 4_t delayInSeconds = 1; // 1 sec dispatch_time_t popTime = dispatch_time (DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); dispatch_after (popTime, dispatch_get_main_queue (), ^ (void) (;)); ) Else (// Close; int64_t delayInSeconds = 1; // 1 sec dispatch_time_t popTime = dispatch_time (DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); dispatch_after (popTime, dispatch_get_main_queue (), ^ (void) (;));)) @end


Є спосіб не писати свій додаток для телефону, а скористатися готовим зі світу розумних будинків, всього лише потрібно встановитися на Raspberry Pi систему автоматизації

Сучасний автомобіль оснащений електронними блоками управління різних систем: двигуна, антиблокувальної системи гальм, кузова і іншими. По-суті, ці блоки представляють собою мікрокомп'ютери.

Для того, щоб зрозуміти що таке CAN-шина в автомобілі, уявіть що в машині організована локальна мережа, до якої підключені ці мікрокомп'ютери - щоб вони працювали в комплексі.

Це подібно до того, як в мережу об'єднуються офісні комп'ютери, для того щоб співробітники могли без проблем брати інформацію один від одного, а начальник мав можливість оперативно контролювати роботу офісних співробітників.

Як начальника в автомобілі виступає бортовий комп'ютер і система діагностики.

Історія розробки та уніфікації Controller Area Network

Компанія BOSCH, виробляючи дослідження в області автоматизації в 80-х роках минулого століття, запропонувала стандарт микроконтроллерной зв'язку, який можна було застосовувати і в автомобілебудуванні.

Стандарт CAN застосовується не тільки в автомобілях. В даний час його використовують в концепції «розумний будинок», промисловій автоматиці і т.д.

Стосовно до автомобільної техніки стандарт CAN (Controller Area Network) адаптований до шини з фізичним рівнем. Вона організована за допомогою кручений пари провідників, по яких йдуть пакети сигналів різної полярності.

Такий стандарт отримав міжнародну класифікацію ISO 11898. Кадр (пакет) включає 11-бітний інформаційний сигнал (або 29-бітний в розширеному режимі).

Загалом, CAN-шина не обов'язково може бути реалізована за допомогою кручений пари провідників. Це може бути і оптоволокно, і радіоканал.

Можна припустити, що з введенням безпілотних транспортних засобів CAN-шина трансформується в мобільний інтерфейс передачі інформації одного, а можливо, і комплексу автомобілів.

CAN-шина автомобіля: що це таке і її принцип роботи

Шина являє собою локальну мережу, за допомогою якої проводиться обмін інформацією між блоками управління різними системами автомобіля. Таким чином, блок управління, наприклад, двигуна автомобіля, крім основного мікроконтролера, обслуговуючого двигун, передбачає наявність CAN-контролера, який формує посилки імпульсів за двома шинам: CAN-високий і CAN-низький (Н і L).

Ці сигнали передаються по провідникам (кручений парі) трансівером. Трансивери, або приймально-передавачі, призначені для:

  • посилення сигналів,
  • забезпечення перешкодозахищеності переданих імпульсів;
  • регулювання швидкості передачі цифрового потоку;
  • захисту лінії в разі пошкодження CAN-шини.

Зараз в автомобільній техніці застосовують такі види приймально-передавачів - High Speed ​​і Fault Toleran. High Speed ​​трансмітер забезпечує відносно високу швидкість передачі інформації - до 1 мегабіт в секунду. Другий тип трансмітера володіє меншою швидкістю передачі інформації - до 120 кілобіт в секунду. Зате він менш чутливий (толерантний до помилок) до якості CAN-шини, допускає відхилення її параметрів.

Схема організації обміну даними

Структурно схему підключення різних блоків автомобіля до CAN-шині можна зобразити в такому вигляді:

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

У разі відключення або пошкодження будь-яких з блоків управління систем автомобіля, опір шини змінюється, порушується узгодження по опору, яке призводить до значного зменшення швидкості передачі інформації по шині. Такі порушення можуть призвести до повної втрати зв'язку з CAN-шині.

На деяких автомобілях для усунення проблем із синхронізацією CAN-інформації застосовується окремий модуль міжмережевого інтерфейсу.

Кожне повідомлення, яке передається по CAN-шині, має власний ідентифікатор, наприклад «температура охолоджуючої рідини» і код, відповідний її значенням, типу «98,7 градусів Цельсія». Не обов'язково це будуть абсолютні значення, в більшості випадків це відносні виконавчі одиниці, які далі перетворюються в сигнали управління і контролю.

Ці ж дані використовують засоби діагностики для контролю і обробки інформації про основні системах автомобіля.

Основні режими роботи CAN-шини:

  • активний (запалення включене);
  • сплячий (при вимкненому запаленні);
  • пробудження і засипання (при включенні і виключенні запалення).

Під час сплячого режиму струм споживання шини мінімальний. Однак при цьому по шині (з меншою частотою) передаються сигнали про стан відкриття дверей і вікон, інших систем, пов'язаних з охоронними функціями автомобіля.

У більшості сучасних діагностичних пристроїв передбачений режим діагностування помилок по CAN-шині. Технічно це організовано безпосереднім підключенням провідників до діагностичного роз'єму.

Переваги і недоліки застосування КАН-шини в автомобілі

Почати слід з того, що, якби в 80-х роках минулого століття не був запропонований стандарт CAN, його місце обов'язково зайняв інший вид взаємодії систем автомобіля.

Можна, звичайно, розмістити все блоки управління системами автомобіля в єдиному суперблоці, в якому програмно забезпечити взаємодію різних систем. Такі спроби були у французьких виробників. Однак, зі збільшенням функціональності і продуктивності значно збільшується ймовірність відмов. Збої, наприклад, двірників, можуть привести до відмови запуску двигуна.

Основні переваги застосування CAN-шини:

  • можливість проведення оперативного контролю і;
  • об'єднання потоків інформації в єдиному перешкодозахищеністю каналі;
  • універсальність, що сприяє уніфікації процесів діагностування;
  • можливість підключення охоронних систем по CAN-шині (немає необхідності тягти проводку до кожного елементу контролю).

Недоліки CAN-шини:

  • невисока надійність;
  • пошкодження одного з блоків управління може привести до повної непрацездатності CAN-з'єднання.

Усунення несправностей

На приладовій панелі автомобіля відсутня індикаторна лампа несправності CAN. Судити про те, що працездатність CAN-шини порушується, можна за непрямими показниками:

  • на приладовій панелі одночасно загорілися кілька індикаторних ламп несправностей;
  • пропали показники температури охолоджуючої рідини, рівні палива;

Перш за все, слід виконати діагностику. Якщо вона покаже на несправність CAN-шини, слід приступити до усунення проблеми.

Послідовність робіт:

  1. Знайти провідники витої пари шини. Часто вони мають чорний (високий рівень) і оранжево-коричневий (низький) кольору.
  2. Перевірити при включеному запалюванні за допомогою мультиметра напруги на провідниках. Рівні не повинні бути рівні 0 або більше 11 Вольт (зазвичай близько 4,5 Вольта).
  3. Вимкнути запалювання, зняти клему акумуляторної батареї. Виміряти опір між провідниками. Якщо воно буде прагнути до нуля, отже, в шині присутній коротке замикання, якщо до нескінченності - обрив.
  4. Приступити до пошуку обриву або короткого замикання.
  5. Якщо є підозра на те, що замикання шини відбувається через відмову будь-якого блоку управління, можна послідовно відключати блоки управління і контролювати опір і працездатність шини.

Несправність CAN-шини відноситься до складних несправностей електрообладнання автомобіля. Якщо у автовласника немає необхідних навичок ремонту електрики, то краще скористатися послугами фахівця.