Приложения. Впервые идея CAN (Control Area Network) была предложена в середине 80-х немецкой компанией Bosch, которая задумывала ее в качестве экономичного средства для
Описание шины CAN
Впервые идея CAN (Control Area Network) была предложена в середине 80-х немецкой компанией Bosch, которая задумывала ее в качестве экономичного средства для объединения контроллеров, расположенных внутри автомобиля. Традиционный способ связи распределенных по объекту контроллеров жгутами проводов по своей технической сложности, по ценовым и по весовым параметрам для столь массового изделия, коим является автомобиль, оказался непригоден. Требовалось альтернативное решение, сокращающее количество проводов, поэтому был предложен протокол CAN, для которого достаточно любой проводной пары.
Идея заключалась в том, чтобы создать сетевое решение для распределённых систем, работающих в реальном времени. Первоначально CAN применялся в автомобилях, но затем область его применения расширилась и на проблемы автоматизации технологических процессов.
CAN обеспечивает высокий уровень защиты данных от повреждения даже при работе в сложных условиях (сильные помехи), при этом достигается достаточно большая скорость передачи данных (до 1 Мбит/с). Важным достоинством CAN является также то, что разработчик системы может влиять на приоритет сообщений с тем чтобы самые важные из них не ожидали в очереди на отправку. Это свойство CAN позволяет строить сети, поддерживающие реальный масштаб времени.
Высокая степень и надежности сети благодаря развитым механизмам обнаружения и исправления ошибок, самоизоляции неисправных узлов, нечувствительность к высокому уровню электромагнитных помех обеспечивает сети широчайшую сферу применения.
Немалую роль играет и возможность поддержки разнотипных физических сред передачи данных от витой пары до оптоволокна и радиоканала. А ряд оригинальных механизмов сетевого взаимодействия (мультимастерность, широковещание, побитовый арбитраж) в сочетании с высокой скоростью передачи данных способствуют эффективной реализации режима реального времени в системах распределенного управления. Основные характеристики сети приведены в табл. 2.1Х.
Таблица 2.1Х. Характеристики сети CAN
Стандарт | ISO 11898 |
Скорость передачи | 1 Мбит/с (максимум) |
Расстояние передачи | 1000 м (максимум) |
Характер сигнала | дифференциальное напряжение |
Линия передачи | витая пара |
Количество драйверов | |
Количество приемников | |
Схема соединения | полудуплекс, многоточечная |
2.8.1.1. Организация сети CAN
В любой реализации CAN – физическая среда передачи данных (носитель) интерпретируется как эфир, в котором контроллеры, работают как приемники и передатчики. При этом, начав передачу, контроллер не прерывает слушание эфира, в частности он отслеживает и контролирует процесс передачи текущих, предаваемых им же, данных. Это означает, что все узлы сети одновременно принимают сигналы, передаваемые по шине. Невозможно послать сообщение какому-либо конкретному узлу. Все узлы сети принимают весь трафик, передаваемый по шине, поэтому контроллеры CAN сети производят аппаратную селекцию сообщений.
Сеть CAN предназначена для коммуникации так называемых узлов. Каждый узел состоит из двух составляющих. Это собственно CAN контроллер, который обеспечивает взаимодействие с сетью и реализует протокол, и микропроцессор (CPU).
Контроллеры CAN соединяются с помощью шины, которая имеет как минимум два провода CAN_H и CAN_L, по которым передаются сигналы при помощи специализированных ИМС приемо-передатчиков. Кроме того, ИМС приемо-передатчиков реализуют дополнительные сервисные функции:
- регулировка скорости нарастания входного сигнала;
- защита выходов передатчиков от повреждения при замыкании линий связи с цепями питания и при повышении напряжения на этих линиях;
- внутренняя тепловая защита;
- режим пониженного энергопотребления. В этом режиме приемники продолжают сообщать контроллеру о состоянии шины для того, чтобы при обнаружении информационных сигналов он мог вывести приемо-передатчики в нормальный режим работы.
Наиболее широкое распространение получили два типа приемо-передатчиков (трансиверов):
- «High Speed» – высокоскоростные приемо-передатчики (ISO 11898-2);
- «Fault Tolerant» – отказоустойчивые приемо-передатчики.
Трансиверы, выполненные в соответствии со стандартом «High-Speed» (ISO 11898-2), относительно простые, дешевые и могут передавать данные со скоростью до 1 Мбит/с. Приемо-передатчики «Fault-Tolerant» не чувствительны к повреждениям на шине, позволяют строить высоконадежную сеть со скоростью передачи данных до 125 кбит/с и малым энергопотреблением.
2.8.1.2. Физический уровень канала CAN.
В подавляющем большинстве случаев используется физический уровень CAN определенный в стандарте ISO 11898, который в качестве среды передачи данных определяет двухпроводную дифференциальную линию с импедансом 120 Ом. В соответствие с протоколом максимальная скорость сети CAN равна 1 Мбит/с. При такой скорости максимальная длина кабеля равна примерно 40 м.
Ограничение на длину кабеля связано с конечной скоростью распространения сигнала и механизмом побитового арбитража (во время арбитража все узлы сети должны получать текущий бит передачи одновременно), т.е. сигнал должен успеть распространиться по всему кабелю за единичный отсчет времени в сети.
Соотношение между скоростью передачи и максимальной длиной кабеля приведено в таблице 2.Х.
Таблица 2.Х. Зависимость скорости передачи от длины сети
Скорость передачи, кбит/с | |||||
Максимальная длина сети, м |
Логический ноль регистрируется, когда на линии CAN_H сигнал выше, чем на линии CAN_L. Логическая единица – в случае, когда сигналы CAN_HI и CAN_LO одинаковы, отличаются менее чем на 0,5 В.
Логический ноль – называется доминантным битом, а логическая единица – рецессивным. При одновременной передаче в шину логического нуля и единицы, на шине будет зарегистрирован логический ноль (доминантный сигнал), а логическая единица будет подавлена (рецессивный сигнал).
Использование такой дифференциальной схемы передачи делает возможным работу CAN сети в очень сложных внешних условиях.
2.8.1.3. Арбитраж шины CAN.
Быстродействие CAN сети достигается благодаря механизму не деструктивного арбитража шины посредством сравнения бит конкурирующих сообщений. Т.е. если случится так, что одновременно начнут передачу несколько контроллеров, то каждый из них сравнивает бит, который собирается передать на шину с битом, который пытается передать на шину конкурирующий контроллер. Если значения этих битов равны, оба контроллера пытаются передать следующий бит. И так происходит до тех пор, пока значения передаваемых битов не окажутся различными. Теперь контроллер, который передавал логический ноль (более приоритетный сигнал) будет продолжать передачу, а другой контроллер прервёт свою передачу до того времени пока шина вновь не освободится
Эта спецификация CAN исходит из предположения, что все контроллеры принимают сигналы с шины одновременно.
Дата добавления: 2015-01-15; просмотров: 1163;