Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
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 с.) |