CAN-контроллерная местная сеть (Controller Area Network). 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

CAN-контроллерная местная сеть (Controller Area Network).



 

CAN(Controller area network) - название последовательного интерфейса, который был разработан компанией BOSCH - ведущим поставщиком автоэлек­троники, в начале 90х годов, первоначально для использования в ав­томобильных приложениях. Сегодня на рынке можно найти несколько версий протокола и более сотни реализаций протоколов CAN в виде отдельных микросхем или интерфейсов, интегрированных в оборудование, оснащенное мик­роконтроллерами. Настоящая лекция построена применительно к версии САN 2.0а.

Ныне CAN рассматривается как стандартный последовательный интерфейс - стандартная контроллерная сеть для распределенных систем управления в различных отраслях техники, в том числе в ав­томобильной, аэрокосмической, медицинской отраслях, а также в роботизированных промышленных установках.

Массовое производство компонентов CAN для автомобилей десятками известных производителей тиражами в десятки миллионов штук ежегодно сделала тех­нологию достаточно дешевой.

В качестве международного стандарта протокол CAN был при­знан в 1993г - ISO 11898.

Протокол отличается надежностью передачи, помехоустойчивостью и обладает следую­щими возможностями:

· Распределенный доступ абонентов в сеть с неразрушающим арбитражем,

· Обнаружение ошибочных ситуаций при передаче, когда ни один абонент правильного сообщения не принял, и информирование пере­датчика о них,

· Возможность подключения в сеть дополнительных абонентов без уточнения ПО существующих, из-за оригинальной системы адресации сообщений.

· Одно и тоже сообщение по CAN может быть принято несколькими абонентами,настроенными на прием данного типа сообщений.

· Количество узлов на шине не ограничено логически, так как нет почтового адреса у абонента (ограничения только по электрической нагрузке).

Протокол CAN обеспечивает пользователю два коммуникацион­ных сервиса: посылку сообщений (передача кадра данных) и за­прос сообщения (удаленный запрос на передачу или remote transmission request, RTR).

Другие сервисы: сообщения об ошибках, повтор передачи после обнаружения ошибки и т.п. является для поль­зователя прозрачным, т.е. микросхемы CAN выполняют эти действия автоматически. В отличие от MILSTD1553В, где эти функции выполня­ются ПО прикладного уровня.

В CAN четко просматривается физиче­ский и канальный уровни семиуровневой OSI. Верхние уровни OSI объединены и программируются пользователем.

 

Физический уровень сети CAN

Топология сети CAN - шина. Подключение абонентов к линии передачи без шлейфов. Обычно физический уровень реализуется в виде трех проводов. Два сигнальных - экранированная витая пара, и один общий. Возможно использование неэкранированных параллельных проводов, однако при этом вероятность искажения сообщений повыша­ется в 50 раз.

Скорость передачи информации до 1 Мбит/с, при дли­не линии 50 - 60 м. С увеличением длины линии допустимая скорость передачи падает. При длине линии 1000 метров скорость передачи 50 - 60 кбит/с поэтому CAN допускает программирование скорости обмена от 10 кбит/с до 1 Мбит/с. Возможна реализация физического уровня на оптоволокне, в радиоканале, в ИК канале. Синхронизация приемника и передатчика обеспечивается при NRZ кодировании небольшой длиной сообщений, перемежаемых периодически синхорсигналами.

 

Формат кадров в сети CAN

 

Обмен информацией между узлами осуществляется кадрами переменного размера до 108 бит. При этом кадр начинается стар­товым битом и идентификатором в 11 бит, длина поля данных может варьироваться от 0 до 8 байт. Сегмент контрольной суммы CRS за­нимает 15 бит.

Обращает на себя внимание само поле данных - не более 8 байт. Это обеспечивает малое время задержки при пере­даче (сообщение короткое) с одной стороны, а с другой стороны является достаточным для тех задач управления, которые решает сеть CAN. При необходимо­сти передать по CAN длинного сообщения оно может быть фрагментировано на несколь­ко коротких до 64 бит.

0-64 бит поля данных

Бит RTR 6 бит поля управления 3 бит поля подтверждения

                                    ...                    

Стартовый бит 15 бит поле CRS

11 бит идентификатора 7 бит поле конца кадра

 

Распределенный доступ абонентов в сети CAN. Арбитраж при возникновении столкновений сообщений

 

В отличии от сети MILSTD1553B, сеть CAN имеет не централизо­ванный, а распределенный доступ абонентов на шину, т.е. передача может быть инициирована любым узлом сети CAN при условии обнаружения им сво­бодной шины. Поэтому после мониторинга шины передача может быть начата одновременно несколькими узлами сети, т.е. возможно возникновение столкновении сообщений - коллизий (как в Ethernet).

Каждый на­чавший передачу узел осуществляет мониторинг поля идентифика­тора и бита RTR, находящиеся в заголовке кадра, - поля арбитража. Идентификатор типа сообщения определяет одновременно его приоритет. Разрешение коллизий в сети осуществляется на базе трех основных положений.

1. Идентификатор типа сообщения передается в последовательности от старшего бита к младшему. Доминирующим уровнем сигнала в сети принят логический 0. Одновременная пе­редача по сети (столкновение) бита с доминирующим уровнем (лог.0) и рецессивным уровнем (лог.1) даетв результате уровень логического нуля т. е. логический 0 всегда побеждает. Столкновение бит одинакового логического уровня дает в результате сигнал на шине того же логического уровня.

2. Код идентификатора типа сообщения несет в себе информацию о приоритете сообщения. Чем меньше номер идентификатора сообщения т. е. больше нулей в старших битах идентификатора, тем более приоритетным является тип сообщения.

3. В процессе передачи «поля арбитража» - идентификатора + RTR каждый передатчик, ведущий передачу, проверяет текущий логический уровень на шине и сравнивает его с тем значением уровня, который он только что от­правил в шину и который он запоминает.

Как только одним из передающих узлов будет обна­ружено, что он передал лог.1,а на шине этот бит превратился в лог.0, он поймет, что его «перешибло» более приоритетное сообщение и ему надо уступать – сразу же прекращать свою передачу, так как его сооб­щение во первых исказилось и во вторых имеет меньший приоритет из двух сообщений, столкнувшихся на ЛПИ.

При этом узел, ведущий передачу более приоритетного сообщения, передачу не прекращает – ведь его сообщение не исказилось и доводит ее до конца. Именно поэтому такой метод арбитража мы назвали неразрушающим. В отличие от Ethernet,где тоже распределенный доступ, но при столкновении сообщений оба передающих узла прекращают передачу,так как оба сообщения искажаются. После этого проводится процедура «расшаркивания» и повторения попытки передачи. Все это снижает производительность сети Ethernet,

Таким образом, арбитраж при выходе на шину осуществ­ляется не по приоритету передающего узла, а по приоритету пере­дающегося сообщения, который заключен в его идентификаторе.

 

 

Рассмотрим коллизию узла1 и узла 2.

 

Узел 1 0 1 0 1 1 0 1 1 0 1 0 0 Это идентификатор+RTR

Узел 2 0 1 0 1 1 0 1 1 1... Узел 2 прекратил передачу

На линии 0 1 0 1 1 0 1 1 0 1 0 0 Узел1 передает до конца

 

Таким образом, приоритетным в сети при столкновениях сообщений является сообщение с наименьшим номером. Чем больше нулей в старших разрядах иден­тификатора, тем выше приоритет сообщения.

После освобождения шины попытка передачи менее приори­тетного сообщения может быть повторена.

 

Обеспечение надежности передачи в сети CAN

 

В отличие от многих других коммуникационных технологий, ис­пользующих принцип подтверждения (квитирования) факта получе­ния узлом адресованного ему сообщения за требуемый интервал времени, в стандарте CAN подтверждения получения сообщения индивидуально каждым узлом отсутствуют, и передатчику сообщается:

появление кадра с ошиб­кой передачи, причем специальным сообщением об ошибке

факт, что хотя бы один узел сообщение при­нял.

Для этого используется упомянутый кадр сообщения об ошибке, а также бит подтверждения (в ASK поле) принятия сообщения. ASK поле - поле подтверждения передачи работает следующим образом. Передающий узел всегда посылает в этом поле рецессивный бит - логическую 1. Ес­ли приемник принял сообщение правильное (подтверждается кон­трольной суммой), то он успевает в рамках этой передачи сразу установить в это поле бит доминирующего уровня - логический 0, который по определению «перешибает» рецессивный уровень.



Поделиться:


Последнее изменение этой страницы: 2017-02-05; просмотров: 182; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.103.10 (0.011 с.)