Controller Area Network
Controller Area Network, (CAN) (локальна мережа контролерів, він же CAN-Bus і Інтерфейс CAN) — стандарт, призначений для організації високонадійних та недорогих каналів зв'язку у розподілених системах керування.
CAN розроблений компанією Robert Bosch GmbH[1] в середині 1980-х і знайшов застосування у промисловій автоматизації, технологіях «розумного будинку», автомобільній промисловості та інших галузях. Найчастіше CAN-інтерфейс використовується як зв'язна ланка між головною магістраллю та багатьма допоміжними датчиками, механізмами і т. д., підключення яких до центральної магістралі не завжди доцільне.
CAN є послідовною шиною, що підтримує одночасну роботу багатьох ведучих пристроїв. Це означає, що всі вузли CAN-мережі мають можливість передавати дані і декілька вузлів одночасно можуть давати запит на шину.
На ринку CAN присутній у двох версіях: версія 2.0А задає 11-бітову ідентифікацію повідомлень (тобто в системі може бути 2048 учасників), версія 2.0B — 29-бітову (536 млн учасників). Слід відзначити, що версія 2.0В, яку часто називають FullCAN, поступово витісняє версію 2.0А, яку називають, також, BasicCAN.
Магістраль CAN використовує двопровідникову звиту пару і працює з максимальною швидкістю трансляції 1 Мбіт/с на довжині до 40 м. Із збільшенням відстані зменшується максимальна швидкість трансляції (напр. 250 кбіт/с до 250 м).
Роз'єми для мережі CAN не стандартизовані. Кожен протокол високого рівня зазвичай визначає свій тип роз'ємів для CAN-мережі.
У будь-якій реалізації мережа CAN — фізичне середовище передачі даних інтерпретується як ефір, в якому контролери, працюють як прийомо-передавачі. При цьому, розпочавши передачу, контролер не перериває прослуховування ефіру, зокрема він відстежує і контролює процес передачі поточних, передаваних ним же, даних. Це означає, що усі вузли мережі одночасно приймають сигнали, що передаються по шині. Неможливо послати повідомлення якомусь конкретному вузлу. Проте, CAN-контролери надають апаратну можливість фільтрації CAN-повідомлень.
CAN мережа призначена для комунікації так званих вузлів. Кожен вузол складається з двох складових. Це власне CAN-контролер, який забезпечує взаємодію з мережею і реалізує протокол, і мікропроцесор (CPU).
CAN-контролери з'єднуються за допомогою шини, яка має як мінімум два дроти CAN_H і CAN_L, по яких передаються сигнали за допомогою спеціалізованих прийомо-передавачів, котрі ще реалізують додаткові сервісні функції:
- регулювання швидкості наростання вхідного сигналу шляхом зміною струму на вході;
- вбудована схема обмеження струму захищає виходи передавачів від ушкодження при можливих замиканнях ліній CAN_H і CAN_L з колами живлення, а також від короткочасного підвищення напруги на цих лініях;
- внутрішній тепловий захист;
- режим зниженого енергоспоживання, в якому приймачі продовжують повідомляти контролер про стан шини для того, щоб при виявленні на шині інформаційних сигналів він міг вивести приймачі в нормальний режим роботи.
Протокол CAN спочатку проектувався для потреб автомобільної промисловості[2]. Компанії Chrysler, Ford, GM, Volvo, Audi, BMW, Renault, SAAB, Volkswagen, Toyota використовують CAN для контролю та управління системами автомобілів, в тому числі системами безпеки ABS і ASC. Тепер область використання CAN розширилася.
Типовими прикладами застосування CAN-мереж є системи контролю та управління:
- текстильним обладнанням компаній Cezoma, Lindauer Dornier, Rieter, Schlafhorst, Sulzer;
- поліграфічним обладнанням Heidelberger, Ferag;
- пакувальними машинами EDF, Island Beverages, Northrup King, Soudronic, TetraPak, Wepamat;
- деревообробним обладнанням компанії Homag;
- виробництвом напівпровідників Applied Materials;
- сільськогосподарськими системами (рівень палива, ідентифікація механізатора, система «свій-чужий», контроль обробленної площі, ідентифікація жнив, тощо)[3]. Одним з лідерів по використанню CAN та розробці програмних продуктів є компанія Gurtam.
Серед інших важливих областей застосування CAN — промислова автоматизація та системи управління роботами. ABB, Bosch, Engel, Kuka та інші компанії вже застосовують CAN у своєму обладнанні.
Базовій специфікації CAN бракує багатьох можливостей, які вимагаються в реальних системах: передавання даних довших за 8 байт, автоматичного розподілу ідентифікаторів між вузлами, однотипного керування пристроями різних типів і виробників. Тому невдовзі після появи CAN на ринку почали розроблятися протоколи високого рівня для нього. До числа поширених протоколів увійшли:
- ↑ CAN history. [Архівовано 15 липня 2018 у Wayback Machine.](англ.)
- ↑ Adapters for Vehicle On-board Diagnostic. [Архівовано 14 травня 2018 у Wayback Machine.](англ.)
- ↑ GPS мониторинг комбайна [Архівовано 3 березня 2021 у Wayback Machine.] // Micro Tronic
- Специфікація CAN 2.0 (PDF)
- Міжнародна організація CAN in Automation (CiA) [Архівовано 16 травня 2008 у Wayback Machine.]
- http://can.marathon.ru/page/can-protocols/canbus/canintro [Архівовано 17 травня 2021 у Wayback Machine.]