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

Шина CAN спочатку була розроблена компанією Bosch у Німеччині на початку 1980-х років для-зв’язку в транспортному засобі. У 1993 році ISO опублікував стандарт шини CAN (ISO 11898), який охоплює як протокол канального рівня, так і протокол фізичного рівня.
ISO 11898-1: Визначає протокол канального рівня.
ISO 11898-2: визначає протокол фізичного рівня для високо-швидкісної шини CAN, що підтримує максимальну швидкість передачі даних 1 Мбіт/с. Він рекомендує лінійну топологію та підходить для програм із високими вимогами до реального часу.
ISO 11898-3: Визначає протокол фізичного рівня для низько-швидкісної шини CAN зі швидкістю передачі даних від 40 Кбіт/с до 125 Кбіт/с. Також відомий як-відмовостійкий CAN, він забезпечує безперервний зв’язок навіть у разі збою однієї сигнальної лінії, що робить його придатним для додатків із меншими вимогами до реального часу.
Особливості шини CAN:
Multi-Master Control:Шина CAN підтримує кілька головних пристроїв, які співіснують у мережі без ієрархії головних-підлеглих. Пристрої спілкуються на основі пріоритету повідомлення.
Диференціальна сигналізація:Використовує два дроти (CAN_H і CAN_L) для передачі диференціальних сигналів, підвищуючи стійкість до електромагнітних перешкод.
Не-деструктивний арбітраж:Якщо під час передачі повідомлення виникає конфлікт, передається повідомлення з вищим-пріоритетом, тоді як повідомлення з нижчим-пріоритетом очікує повторної передачі.
Виявлення та обробка помилок:Має надійні можливості виявлення та обробки помилок, включаючи перевірку контрольної суми CRC і перевірку бітових помилок.
Гнучка топологія:Підтримує кілька мережевих топологій, наприклад лінійну, зіркоподібну, деревоподібну та кільцеву.
На шині CAN значна різниця напруг між логічними «0» і «1» забезпечує надійний зв'язок. Посилаючись на наведений вище опис, два логічні рівні на шині CAN:
Домінуючий: 0
Рецесивний: 1
Рівні сигналу на шині CAN демонструють лінію-і характеристики. Ця лінія-і поведінка утворюють основу схеми для арбітражу шини CAN: домінантний рівень (0) завжди маскує рецесивний рівень (1). Якщо різні вузли одночасно передають домінантний і рецесивний рівні, шина демонструє домінантний рівень (0). Тільки коли всі вузли передають рецесивний рівень (1), шина демонструє рецесивний стан.
Домінуючий рівень:Логічний 0. У високо-швидкісній шині CAN висновок CAN_H працює до 5 В, а висновок CAN_L — до 0 В.
Підкорений рівень:Логіка 1. Жоден штифт не заводиться.

Високо{0}}швидкісні та низькошвидкісні -шини CAN відрізняються визначенням рівня сигналу фізичного рівня:
Високошвидкісна CAN-визначає логіку «1», коли напруги CANH і CANL рівні (CANH=CANL=2.5В), і логічний «0», коли різниця напруг між CANH і CANL становить 2 В (CANH=3.5В, CANL=1.5В).
У межах-діапазону напруги загального режиму (-від 12 В до 12 В) високошвидкісний трансивер CAN інтерпретує різницю напруг понад 0,9 В між CANH і CANL як домінуючий стан, а різницю менше 0,5 В — як рецесивний стан. Внутрішня схема гістерезису зменшує перешкоди.
Низько{0}}швидкісна CAN визначає логіку «1», коли різниця напруг між CANH і CANL становить 5 В (CANH=0В, CANL=5В), і логічний «0», коли різниця напруги становить 2,2 В (CANH=3.6В, CANL=1.4В).
Високо{0}}рівні сигналу CAN (ISO 11898-2)
Низькі -рівні сигналу CAN (ISO 11898-3)
Механізми обробки помилок CAN:
Помилки CRC:Виявляє помилки шляхом обчислення та перевірки значення CRC даних.
Бітові помилки:Виявляє бітові помилки в реальному-часі під час передачі.
Кадри помилок:У разі виявлення помилок надсилає кадри помилок для запиту повторної передачі.
Резюме
Завдяки своїй високій надійності,-продуктивності в реальному часі та гнучкості шина CAN набула широкого поширення в багатьох галузях. У міру розвитку технологій шина CAN продовжує розвиватися-наприклад, стандарт CAN FD (Flexible Data-Rate), випущений компанією BOSCH, додатково підвищує швидкість передачі даних, щоб відповідати вимогам додатків, які вимагають більшої пропускної здатності.




