2.5.4.CAN та CANOpen

Детально про мережу CAN Ви можете прочитати в розділі 8, про CANOpen – розділі 9.

2.5.4.1. Походження CAN. Історія CAN почалася на початку 80-х років, коли виникла необхідність збору й обробки за короткі проміжки часу даних від багатьох датчиків, встановлюваних в автомобілях. Це завдання можна було вирішити тільки при використанні мережної структури, що поєднує всі компоненти й використовує для цієї мети недорогу, послідовну мережну структуру. По цій причині фірма BOSCH (Німеччина) розробила мережу "Control Area Network" (CAN), що пізніше був затверджений як стандарт ISO 11898. Для координації зусиль виробників, розробників і користувачів CAN-систем і технологій створена некомерційна організація CiA (CAN in Automation), яка включає в себе більше 300 компаній.

У контексті моделі OSI, CAN Специфікація 2.0 (також називають BOSH CAN 2.0 A/B) описує повністю канальний рівень та частину фізичного. Їх функції реалізовуються у вигляді як окремих мікросхем CAN контролера, так і вбудованих в готові мікроконтролери. Всі інші рівні, включаючи вимоги до фізичного середовища, способів передачі бітів, рівнів сигналу та роз’ємів, дана специфікація не описує. На сьогоднішній день на базі CAN успішно функціонують багато промислових мереж, серед них: CANopen, DeviceNet, CAN Kingdom, SDS (Smart Distributed System), які доповнені протоколами верхніх рівнів. В 1993 році CAN закріпився в міжнародному стандарті ISO 11898 (CAN High Speed Transceiver and Data Link Layer). Цей стандарт на відміну від BOSH CAN 2.0 A/B додатково описує вимоги до високошвидкісних трансиверів та середовища передачі даних. Саме ISO 11898 використовується в багатьох мережах, які базуються на CAN (наприклад CANOpen, DeviceNet).

2.5.4.2. Фізичний рівень CAN. На фізичному рівні BOSH CAN описує вимоги до бітової синхронізації, наявність двох рівнів бітів "домінатного" та "рецесивного". В ISO 11898 додатково визначені шинна топологія мережі, з диференційним методом передачі по напрузі NRZ кодуванням, бітовими швидкостями від 10 до 1 Мбіт/с в залежності від сумарної довжини ліній зв’язку (див.таб.2.11).   

2.5.4.3. Канальний рівень CAN.  CAN - це послідовна шина, механізм доступу до якої описується моделлю CSMA/CA, який розглянутий вище. Можливі колізії, пов'язані з одночасним запитом шини, вирішуються на основі пріоритетності повідомлень, а саме -  право на роботу із шиною одержить той вузол, що передає повідомлення з найвищим пріоритетом. Для цього кожен кадр містить 11-бітовий ідентифікатор (29-бітний для CAN 2.0 B), що і є пріоритетом даного повідомлення. Призначення пріоритетів може відбуватися в такий спосіб: наприклад один - для параметра швидкості, інший - для частоти обертання колінчатого вала двигуна й т.п. Кожен вузол-приймач у CAN-шині сам вибирає призначені для нього повідомлення (модель Виробник-Споживач-msg). У кожному повідомленні може бути передане від 0 до 8 байт даних. Більші блоки можна передавати за рахунок використання принципу сегментації повідомлень, яке необхідно вирішувати на верхніх рівнях.

  Таблиця 2.11

Характеристики BOSH CAN 2.0 A/B та  CAN ISO 11898.

OSI

характеристика

BOSH CAN 2.0 A/B

CAN ISO 11898

 

NetArea

рівень датчиків

рівень датчиків

канальний

ChAddMode*

Виробник-Споживач-msg, 11-бітний ідентифіка-тор (A), 29-бітний (B)

Виробник-Споживач-msg 11-бітний ідентифікатор

ChAccess

CSMA/CA

ChChecksum

бітова помилка; помилка начинення; помилка CRC; помилка форми; помилка підтвердження.

фізичний

PhInterface

асинхронний NRZ

 

 

 

не описаний

диференційний, передача напругою

PhMedia

вита пара

PhTopology

шина

PhLdrop

довжина залежить від PhBaudRat, 0.3 м (1 Мбіт/с)

PhBaudRate

від 10 КБіт/с до 1 Мбіт/с; 20 КБіт/с (обов’язкова)

PhSegment

5

PhNodes

64, незалежно від кількості сегментів

PhLength

1000 м (10 КБіт/с), 30 м (1 Мбіт/с), термінатори 120 Ом на обох кінцях

PhSupply

допускається по окремим проводам

* - модель умовна, в стандартах назва не заявлена
 
  2.5.4.4. Архітектура CANOpen. CANOpen – це мережна CAN-сумісна система, яка розроблена і підтримувана некомерційною організацією CiA. На фізичному та канальному рівні CANOpen базується на CAN контролері та високошвидкісному трансивері, які визначені ISO 11898 у частинах 1 та 2. Додатково до них вказані вимоги до бітової синхронізації, характеристики кабелів та роз’ємів (CiA DRP 303). Нижні рівні доповнені протоколом прикладного рівня та комунікаційними профілями (CiA DS-301) які визначають доступ до даних процесу та параметричних даних вузла через його Словник Об’єктів. Цей Словник являється своєрідним сховищем та буфером між даними вузла та мережею. Крім того всі настройки комунікаційного обміну теж зберігаються в Словнику Об’єктів. Обмін даними процесу проходить шляхом періодичного/аперіодичного обміну об’єктами PDO (Process Data Object), які передаються CAN-кадром. При конфігуруванні мережі, конкретні об’єкти TPDO на вузлі-джерелі та RPDO на вузлі-приймачі поєднуються логічним зв’язком, який визначає ідентифікатор CAN-кадру (модель ідентифікованого обміну). Відповідність вмісту цих кадрів конкретним даним вузлів визначається шляхом конфігурування наповнення PDO як з боку вузла-джерела так і з боку вузла-отримувача.

Конфігурування вузлів, тобто аперіодичний обмін параметричними даними, проходить через об’єкти SDO. Цей обмін функціонує на основі клієнт-серверної моделі обміну повідомленнями. В клієнтському SDO вказується ідентифікатор Об’єкту в Словнику вузла-Сервера, та необхідна дія з цим об’єктом (читання/запис). Управління вузлами та їх діагностика відбувається через сервіси NMT.  

  Для спрощення механізму обміну з різнорідними пристроями в CANOpen використовується сімейство стандартизованих профілів (DS-4xx), які визначають перелік Об’єктів Словнику та їх стандартне налаштування для різних типів пристроїв (засоби віддаленого вводу виводу, PDS, засоби ЛМІ, тощо).

Таблиця 2.12. Характеристики CANOpen.

OSI

Характери-тика

CANOpen

 

NetArea

рівень датчиків

прикладний

AppService

PDO - періодичний/аперіодичний обмін даними процесу через  Словник Об’єктів;  SDO - аперіодичний обмін параметричними даними через Словник Об’єктів, конфігурування вузла; NMT - управління станом вузлів,  діагностичні сервіси;

AppModel

-       push/pull Виробник/Споживач ідентифікованого обміну для PDO;

-       клієнт-серверний обмін повідомленнями для SDO;

AppProfile

великий перелік профілів пристроїв (CiA DS-4xx);

AppProcData

PDO (8 байт): 512 TPDO/RPDO =4096 байт

AppResolut

залежить від реалізації, швидкості, типу PDO;

приблизно 500 мс/100 байт (20 кбіт/с); 1 мс/100 байт (1 Мбіт/с)*

канал

 

Відповідно до ISO 118989-1 (таб.2.8)

фізичний

PhInterface

Відповідно до ISO 118989-2 (таб.2.8)

PhMedia

PhTopology

PhLdrop

PhBaudRate

PhSegment

PhNodes

PhLength

роз’єми

Відповідно до CiA DRP-303 (Sub-D, RJ-45, Open-Style, Mini-Style)

 
* дані орієнтовні, розраховані авторами посібника для циклічних PDO
 
 
 
Comments