logo
Konspekt_lektsy_KISU_redaktirovannyy_308

6.3. Типова структура трансівера Саn.

Типова структура трансивера Саn (на прикладі мікросхеми LT1795 фірми LinearTechnology приведена на рис. 6.1.

Рис. 6.1. Структурна схема трансівера CAN.

При подачі рівня логічного нуля на вхід (вхід є інвертуючим) обидва транзистори вихідного каскаду передавача відкриваються і через навантаження (два резистори по 120 Ом) тече струм, що створює в лінії стан, відповідний логічній одиниці. При цьому потенціал виведення CAN-H завжди буде вищий, ніж виведення CAN-L (рис. 6.2).

Рис. 6.2. Рецесивний та домінантний стани

Значення потенціалів, передбачені стандартом, приведені в табл. 6.3. При логічній одиниці на вході передавача його вихід переходить у високоомний стан і диференціальна напруга на лінії стає рівною нулю.

Відзначимо, що наявність термінальних резисторів в CAN необхідно не тільки для узгодження лінії (як у разі RS-485), але навіть для створення шляху протікання струму.

CAN-передавач має дуже важливу властивість: якщо один з передавачів встановлює в мережі логічний нуль, а другий — логічну одиницю, то цей стан не є аварійним, як в мережі на основі інтерфейсу RS-485, оскільки крізного струму не виникає. У такому випадку CAN-лінія залишається в стані логічної одиниці. Інакше кажучи, логічна одиниця завжди домінує над логічним нулем. Тому в стандарті CAN використовується поняття «Домінантний (домінуючий) стан» лінії для позначення стану лінії із струмом і поняття «Рецесивний стан» як протилежне домінантному (рис. 6.2).

Таблиця 6.3 Значень потенціалів на лінії передачі Саn

Параметр

Позначення

Мінімальне

Номінальне

Макси-мальне

Умова

Для рецесивного стану шини

Потенціали на виході передавача, В

CAN_H

2,0

2,5

3

Без навантаження

CAN_L

2,0

2,5

3

Диференціальна напруга, В:

на виході передавача

Vdiff

-0,5

0

0,05

Без навантаження

на вході приймача

Vdiff

-1

-

0,5

Без навантаження

Для домінантного стану шини

Потенціали на виході передавача, В

CAN_H

2,75

3,5

4,5

З навантаженням

CAN_L

0,5

1,5

2,25

Диференціальна напруга, В:

на виході передавача

Vdiff

1,5

2

3

З навантаженням

на вході приймача

Vdiff

-0,9

-

5

З навантаженням

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

Вивід Vref на рис. 6.1 дозволяє встановити порогову напругу для входу Тхd і рівень синфазної напруги в лінії, коли вона знаходиться в рецесивному стані. Зазвичай Vref=2,5 В. Щоб встановити рівень синфазної напруги на лінії, термінальні опори ділять на два по 60 Ом, сполучають їх послідовно, а до точки з'єднання підключають виведення Vref При симетричній формі імпульсів Саn_h і Саn_l щодо рецесивного стану зменшується рівень випромінюваних перешкод, оскільки прирости струмів в кожному з дротів витої пари при перемиканні логічних рівнів (див. рис. 6.2) виявляються рівними за величиною, але зворотніми за знаком і тому компенсують один одного.

Вивід Rs має декілька призначень. Якщо на нім встановлений стан логічної одиниці, трансивер переходить у сплячий режим, при якому він споживає дуже малий струм від джерела живлення, а на виході встановлюється високоомний (рецесивний) стан. «Розбудити» його можна сигналом, що поступає в приймач з лінії передачі. Підключення цього виводу до «землі» через опір дозволяє встановити потрібну тривалість фронтів імпульсів передавача. Деякі трансівери мають два режими: резервний і сплячий, які відрізняються рівнем споживаного струму і способом переходу в активний режим. Режим зниженого енергоспоживання передбачений стандартом для економії заряду акумуляторних батарей в припаркованому автомобілі.

Якщо сигнал Тхd є домінуючим дуже довго (більше 1 мс), генератор імпульсу тайм-ауту (на рис. 6.1 позначений прямокутником з імпульсом) тимчасово відключає передавач, оскільки інакше модуль може бути назавжди блокований засобами канального рівня як такий, що відмовив.

У CAN-трансивері є генератор синхроімпульсів з частотою 16 Мгц ±0,1 %. Ширина одного біта програмно встановлюється величиною від 8 до 25 імпульсів синхрогенератора, звичайні 8 імпульсів при швидкості передачі 1 Мбіт/с і 16 імпульсів при 20 кбіт/с. Синхронізація всіх вузлів мережі відбувається протягом першого такту синхронізації. Процедура обробки бітів в приймачі забезпечує програмовану затримку імпульсів синхронізації, необхідну для компенсації часу затримки проходження сигналу в лінії зв'язку і зрушення фази унаслідок дрейфу частоти тактового генератора.

Для визначення логічного стану шини рівні сигналів, що приймаються, вимірюються на відстані 6 тактів синхрогенератора від переднього фронту імпульсу (бита) при швидкості 1 Мбіт/с і на відстані 14 тактів при швидкості 20 кбіт/с (для порівняння вкажемо, що в стандартних UART відліки беруться посередині імпульсу). Кількість відліків може бути 1 або 3 (встановлюється програмно). CAN використовує синхронну передачу бітів. Це підвищує пропускну спроможність каналу зв'язку, але вимагає ускладненого процесу синхронізації.

Напруга живлення пристроїв в мережі CAN повинна складати від 18 до 30В. Вихідна напруга на 9-му контакті роз'єму (зовнішня позитивна напруга живлення) повинна бути від +7 до +13В при струмі споживання модуля не більш 100мА. Не допускається, щоб модулі були джерелами струму.

CAN використовує NRZ кодування (Non-Return-to-Zero — без повернення до нуля, потенційне кодування), при якому логічному нулю відповідає низький рівень напруги в лінії (рецесивний стан), логічній одиниці — високий рівень (домінантний стан). Такий спосіб має наступний недолік: у разі, коли через лінію передачі транспортується байт, який містить всі одиниці (пауз між ними при NRZ кодуванні немає), приймач не може відрізнити цей байт від паузи. Для усунення цієї проблеми використовується так званий біт-стаффінг. Він полягає в тому, що після кожної послідовності з п'яти однакових символів підряд вставляється протилежний ним символ. Наприклад, після п'яти одиниць підряд вставляється логічний нуль. Приймач, виявивши п'ять однакових символів підряд, видаляє наступний за ними символ, який є бітом стаффінга.

Інші властивості CAN-трансиверів, які передбачені в стандарті: