Физический уровень (Physical Layer) протокола CAN определяет сопротивление кабеля, уровень электрических сигналов в сети и т. п. Существует несколько физических уровней протокола CAN (ISO 11898, ISO 11519, SAE J2411).
В подавляющем большинстве случаев используется физический уровень CAN определенный в стандарте ISO 11898. ISO 11898 в качестве среды передачи определяет двухпроводную дифференци- альную линию с импедансом (терминаторы) 120 Ом (допускается колебание импеданса в пределах от 108 до 132 Ом). Физический уровень CAN реализован в специальных чипах – CAN приемо- передатчиках (transceivers), которые преобразуют обычные TTL уровни сигналов используемых CAN-контроллерами в уровни сиг- налов на шине CAN. Наиболее распространенный CAN приемо- передатчик – Phillips 82C250, который полностью соответствует стандарту ISO 11898.
Максимальная скорость сети CAN в соответствие с протоко- лом равна 1 Мбит/с. При скорости в 1 Мбит/с максимальная дли- на кабеля равна примерно 40 метрам (табл. 16). Ограничение на длину кабеля связано с конечной скоростью света и механизмом побитового арбитража (во время арбитража все узлы сети должны получать текущий бит передачи одновременно, то есть сигнал должен успеть распространится по всему кабелю за единичный отсчет времени в сети).
Таблица16 Соотношение между скоростью передачи и максимальной длиной кабеля
Скорость передачи
Максимальная длина сети
1000 Кбит/с
40 м
500 Кбит/с
100 м
250 Кбит/с
200 м
125 Кбит/с
500 м
10 Кбит/с
6 км
Контроль ошибок – важнейший аспект работы протокола CAN.
Стандарт предусматривает несколько механизмов контроля ошибок.
Во-первых, это контрольпередачибитов– уровень сигнала в сети сравнивается с передаваемым для каждого бита.
Второй механизм заключается в использовании дополнитель-ных битов (stuffing bit). После передачи любых пяти одинаковых битов автоматически добавляется передача бита противоположного значения. При передаче шести одинаковых битов диагностируется ошибка stuffing’а. Этот механизм используется для кодирования всех полей фреймов данных и запроса. Исключением являются только поля промежутка подтверждения, разграничителя кон- трольной суммы и EOF.
Стандартная процедура проверки контрольной суммы. Передат- чик вычисляет контрольную сумму для текущего кадра и передает ее в линию. В свою очередь, приемник также вычисляет контроль- ную сумму для принимаемых данных и сравнивает ее с тем значе- нием, которое было отправлено передатчиком. В случае не совпадения значений диагностируется ошибка CRC.
Также выполняется контроль битов фрейма, которые должныиметь заранее определенное значение. В случае если реальное зна- чение не совпадает с тем, которое ожидается, возникает ошибка.
Благодаря всем этим механизмам, вероятность необнаружения ошибки является очень низкой.
Таким образом, в качестве основных характеристик протокола
CAN можно отметить следующие:
очень высокая надежность и защищенность;
каждое сообщение имеет свой собственный приоритет;
реализован механизм обнаружения ошибок;
автоматическая повторная отправка сообщений, которые были доставлены с ошибкой;
уже упомянутый широковещательный характер передачи данных;
возможность присутствия нескольких ведущих (master) уст- ройств в одной сети;
широкий диапазон скоростей работы;
высокая устойчивость интерфейса к помехам;
кроме того, есть механизм обнаружения «сбойных» узлов с последующим удалением таких узлов из сети.