logo
Всё по МСА доц

Адресация и протоколы высокого уровня

Однако сетевых сервисов спецификации Robert Bosch CAN Specification 2.0A/B и международного стандарта ISO 11898 зачастую явно недостаточно для эффективной разработки CAN-сетей. Дело в том, что упомянутые документы описывают лишь два самых нижних уровня эталонной (семиуровневой) модели взаимосвязи открытых систем OSI/ISO физический и канальный. Определены форматы сообщений, процессы передачи данных длиной до 8 байт, механизмы обнаружения ошибок, некоторые физические параметры среды передачи данных (только в ISO 11898) и др.

Но «за кадром» остаются такие важные на этапе разработки моменты, как адресация узлов, распределение между ними CAN-идентификаторов, интерпретация содержимого фрейма данных, передача данных длиной более 8 байт и др.

В CAN не существует явной адресации сообщений и узлов, сообщения не имеют явной адресации приемника. Источник выставляет на шину свой идентификатор и данные, а приемник самостоятельно, исходя из решаемых задач, обрабатывет принятые данные от данного источника, либо игнорирует их.

Протокол CAN нигде не указывает что поле арбитража (Identification field + RTR) должно использоваться как идентификатор сообщения или узла. Таким образом, идентификаторы сообщений и адреса узлов могут находится в любом поле сообщения (в поле арбитража или в поле данных, или присутствовать и там, и там).

С другой стороны, стандарт протокола предусматривает возможность удаленного запроса данных (RTR). В отличие от предыдущего описания, приемник не ожидает появления необходимых данных, а запрашивает данные у необходимого узла.

Точно также протокол не запрещает использовать поле арбитража для передачи данных.

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

Поэтому с началом массового выпуска CAN-компонентов и широкого распространения CAN-приложений рядом независимых компаний и некоммерческих ассоциаций в области систем промышленной автоматизации, транспорта и т. д. проводилась (и продолжается по сей день) работа по созданию и стандартизации спецификаций протоколов верхнего уровня HLP (Higher Level Protocol) для CAN-сетей.

Утилизация поля арбитража и поля данных, и распределение адресов узлов, идентификаторов сообщений и приоритетов в сети является предметом рассмотрений так называемых протоколов высокого уровня (HLP - Higher Layer Protocols).

Название HLP отражает тот факт, что протокол CAN описывает только два нижних уровня эталонной сетевой модели ISO/OSI, а остальные уровни описываются протоколами HLP.

К настоящему времени известно уже более четырех десятков CAN HLP. Среди подобного многообразия CAN HLP наибольшее распространение, в особенности в системах промышленной автоматизации, получили четыре, поддерживаемых ассоциацией CiA, а именно :

CAL/CANopen

Разработка и поддержка открытого протокола прикладного уровня для сетей промышленной автоматизации были одними из приоритетных целей создания организации CiA в 1992 году. Основой такого протокола послужил HLP, разработанный фирмой Philips, после доработки и усовершенствования которого рабочей группой CiA, в 1993 году была опубликована спецификация CAL CAN Application Level (CiA DS 20x).

Сетевые CAN приложения, основанные на прикладном уровне CAL, в настоящее время успешно работают в медицинской электронике, системах контроля дорожного движения, на транспорте, в промышленном оборудовании. Результатом дополнения CAL (точнее, некоторого его подмножества) системой профилей (устройств, интерфейсов, приложений и т.д.) и спецификациями физического уровня (типы соединителей, правила битового квантования и т. д.) явилось появление более "конкретного" стандарта протокола CANopen. По существу CANopen является приложением прикладного уровня CAL. Первоначально CANopen предназначался для сетей управления движущимися механизмами в системах промышленной автоматики.

Однако впоследствии протокол нашел применение в медицине, морской электронике, на транспорте и в системах автоматизации зданий. CANopen базируется на двух уровнях стандарта CAN (ISO 11898, Bosch CAN Specification 2.0 A/B). В дополнение к спецификациям физического уровня ISO 11898 (среда передачи данных двухпроводная дифференциальная линия), CANopen содержит собственные правила битового квантования, а также определяет три рекомендуемых типа соединителей. Разводкой контактов для всех типов соединителей предусмотрена возможность подачи питания на трансиверы узлов, имеющих гальваническую развязку. В сети CANopen определены восемь градаций скоростей передачи данных: 1 Мбит/с, 800 кбит/с, 500, 250, 125, 50, 20 и 10 кбит/с. Поддержка скорости 20 кбит/с является обязательной для всех модулей.

CAN Kingdom

Протокол шведской компании KVASER-AB (www.kvaser.se) занимает особое место среди CAN HLP благодаря оригинальной концепции сетевого взаимодействия и эффективности CAN-приложений на его основе.

Началу работ над первой версией (текущая третья) протокола CAN Kingdom в 1990 году предшествовал многолетний опыт компании в области создания систем распределенного управления. Протокол был специально разработан для управления движущимися машинами и механизмами промышленными роботами, текстильными станками, мобильными гидравлическими устройствами, и позволяет достичь высокой производительности в режиме реального времени при удовлетворении жестких требований безопасности.

CAN Kingdom является также основой американского военного стандарта CDA 101 и широко используется в военной технике от надувных лодок и систем наведения на цели до сверхзвуковых истребителей и ракет. Основной целью создания протокола было предоставление системному разработчику максимальной свободы в реализации своих идей при построении сети, сохранив при этом возможность использования стандартных модулей от независимых производителей. CAN Kingdom не является "готовым" протоколом в том смысле, в каком это справедливо, например, по отношению к стандартам типа CANopen или DeviceNet. Это скорее набор примитивов метапротокол, с помощью которых можно "собрать" протокол под конкретную сеть модулей. Этим достигается уникальное сочетание простоты интеграции готовых модулей с высокой степенью "закрытости" оригинального протокола. Краеугольным камнем концепции сетевого взаимодействия CAN Kingdom является принцип: "Модули обслуживают сеть" (MSN Modules Serves the Network) в отличие от принципа "Сеть обслуживает пользователей" (NSM Network Serves the Modules), свойственного компьютерным сетям.

В сеть CAN Kingdom не существует каких-либо рекомендуемых скоростей передачи данных. Но за первые 200 мс после подачи питания узел обязан настроиться на прослушивание шины на скорости 125 кбит/ с. Допустимы отличающиеся от ISO 11898 спецификации физического уровня.

DeviceNet

DeviceNet протокол, разработанный и опубликованный в 1994 году компанией Allen-Bradley (www.ab.com) корпорации Rockwell и впоследствии переданный в ведение специально организованной для его поддержки ассоциации ODVA (Open DeviceNet Vendor Association Inc., www.odva.org).

DeviceNet недорогое, простое и эффективное решение для объединения разнообразных устройств промышленной автоматизации независимых производителей в единую систему: фото-, термодатчики, стартеры, считыватели штриховых кодов, элементы человеко-машинного интерфейса клавиатуры, дисплейные панели, наряду с управляющими устройствами PLC, компьютерами и т.д. При разработке протокола помимо снижения стоимости также стояла задача упрощения и унификации диагностики подобных устройств. Первые устройства, удовлетворяющие спецификации DeviceNet, появились на рынке в начале 1995 года. DeviceNet также построен на двух нижних уровнях стандарта CAN, дополненных более детальными, чем в других HLP, спецификациями физической среды.

Сеть DeviceNet имеет шинную топологию с отводами. Физической средой передачи является 4- проводной кабель (CAN_H, CAN_L, Vcc, Ground), причем возможны две его разновидности: толстый (внешний диаметр 12,2 мм) и тонкий (6,9 мм). Определены лишь три значения скорости передачи данных 125, 250 и 500 кбит/с.

Важной особенностью сети DeviceNet является возможность питания модулей непосредственно от сетевого кабеля (24 В, до 8 А на толстом кабеле), а также допускается применение нескольких источников питания в любой точке шины. Все это дает возможность построения автономной сети, не зависящей от наличия или качества внешнего питания, а при необходимости позволит легко демонтировать и снова развернуть систему на новом месте.

Сеть DeviceNet допускает "горячее" (без обесточивания сети) подключение и отключение модулей. Стандарт DeviceNet содержит также подробное описание многочисленных типов переходников, разветвителей (одиночных и многопортовых), соединителей (Mini, Micro), сетевых отводов и т. п. При описании организации типов данных, сетевого поведения модулей в DeviceNet используется объектно-ориентированная модель.

Максимальное число узлов в сети DeviceNet 64.

SDS (Smart Distributed System)

SDS разработка компании Honeywell Inc. (Micro Switch Division, www.honeywell.sensing.com). Наряду со стандартом DeviceNet, SDS представляет собой еще одно недорогое и законченное решение для сетевого управления интеллектуальными датчиками и актуаторами от центрального контроллера (PLC, компьютера) в системах промышленной автоматизации. По степени завершенности от спецификаций физической среды до прикладного уровня, ориентировке на снижение стоимости, SDS-стандарт напоминает DeviceNet. Шинная топология представляет собой линейную шину (магистраль или транк) с короткими отводами.

Определены два базовых типа кабельной разводки:

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

Сеть SDS всегда требует наличия единственного мастера-менеджера сети как минимум на этапе включения для выполнения автонастройки скорости передачи модулей. В процессе работы сети допускается наличие нескольких мастеров на шине, но они должны функционировать в пределах своих адресных доменов, а при включении сети только один из них может брать на себя функцию сетевого менеджера для автонастройки скорости устройств.