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 мережа призначена для комунікації так званих вузлів. Кожен вузол складається з двох складових. Це власне 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.

Серед інших важливих областей застосування CAN – промислова автоматизація та системи управління роботами. ABB, Bosch, Engel, Kuka та інші компанії вже застосовують CAN у своєму обладнанні.

Протоколи високого рівня[ред.ред. код]

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

Примітки[ред.ред. код]

Посилання[ред.ред. код]