4. Протоколы высокого уровня
Базовая спецификация CAN лишена многих возможностей, требуемых в реальных системах: передача данных длиннее 8 байт, автоматическое распределения идентификаторов между узлами, единообразное управление устройствами различных типов и производителей и пр. Все эти возможности являются предметом рассмотрения протоколов высокого уровня (HLP - Higher Layer Protocols). Название HLP отражает тот факт, что протокол CAN описывает только два нижних уровня эталонной сетевой модели ISO/OSI, а остальные уровни описываются протоколами HLP.
Существует большое число разработок протоколов высокого уровня для CAN, оформленных как самостоятельные протокольные решения. Ниже приведены лишь некоторые, наиболее известные, из них:
· SDS (Smart Distributed System) (Honeywell);
· DeviceNET (Allen Bradley);
· CALCANopen (CiA-ассоциация CiA (CAN in Automation) - является международным сообществом пользователей и производителей решений на основе CAN. Поддерживает ряд протоколов высокого уровня. Осуществляет официальную сертификацию CANopen устройств. Основано в 1992 году.);
· Kingdom (Kvaser).
SDS -- детище компании Honeywell Inc. Представляет собой недорогое и законченное решение для сетевого управления интеллектуальными датчиками и актуаторами от центрального контроллера (PLC, компьютера) в системах промышленной автоматизации. По степени завершенности -- от спецификаций физической среды до прикладного уровня. Архитектура протокола SDS включает в себя три уровня модели OSI/ISO -- физический, канальный и прикладной. Шинная топология представляет собой линейную шину с короткими отводами.
DeviceNet - протокол высокого уровня для устройств на основе CAN. DeviceNet был разработан в 1994 году для автоматизации промышленных предприятий и детально описывает физический уровень CAN для обеспечения высокой совместимости и взаимозаменяемости готовых устройств. Служит для объединения в единую систему устройств промышленной автоматики, таких как фотодатчики, термодатчики, считыватели штрихкодов и др. Сеть имеет шинную топологию. Допускает "горячее" подключение и отключение модулей. Стандарт - открытый. Достаточно широко распространен в России.
CANopen - открытый сетевой протокол верхнего уровня для подключения встраиваемых устройств в бортовых транспортных и промышленных сетях. Используется для связи датчиков, исполнительных механизмов и программируемых логических контроллеров между собой в системах управления перемещением, в сборочных, сварочных и транспортировочных агрегатах. Стандарт - открытый. По сравнению с другими сетями на базе шины CAN, сеть CANopen в большей степени пригодна для быстродействующих систем управления перемещением и контуров регулирования с обратной связью.
CAN Kingdom - Структура высокоуровневого протокола, оптимизированная для глубоко встроенных сетей. Протокол был специально разработан для управления движущимися машинами и механизмами. Он позволяет достичь высокой производительности в режиме реального времени при удовлетворении жестких требований безопасности. CAN Kingdom является также основой американского военного стандарта CDA 101 и широко используется в военной технике - от надувных лодок и систем наведения на цели до сверхзвуковых истребителей и ракет. CAN Kingdom не является “готовым” протоколом в том смысле, в каком это справедливо, например, по отношению к стандартам типа CANopen или DeviceNet. Это скорее набор примитивов, с помощью которых можно “собрать” протокол под конкретную сеть модулей. Этим достигается уникальное сочетание простоты интеграции готовых модулей с высокой степенью “закрытости” оригинального протокола.
Лидерами в этом семействе, являются SDS и DeviceNET (американский рынок) и CAL (Европа).
5. Применение CAN
Такие отличительные характеристики CAN как: широковещательный способ передачи, превосходная обработка ошибок, различная среда передачи, наличие аппаратной поддержки - обусловили лавинное увеличение приложений на базе CAN и расширение областей применения:
В предыдущем пункте уже приводились кратко возможные применения сети CAN. В этом пункте, в качестве более конкретных примеров применения шины CAN, будут приведены некоторые существующие профили устройств, разработанные членами CiA:
· CiA 408 - профиль CANopen устройства для гидравлических контроллеров и пропорциональных клапанов. Совместим с независимым от сети VDMA профилем;
· CiA 410 - профиль CANopen устройства для уклонометров. Поддерживает как 16-и, так и 32-х разрядные датчики;
· CiA 412 - профили CANopen устройств для медицинского оборудования. Определяют интерфейсы рентгеновских коллиматоров, генераторов рентгеновского излучения, медицинских стоек и столов;
· CiA 414 - профиль CANopen устройства для ткацких машин. Определяет интерфейс подающего механизма;
· CiA 415 - прикладной профиль CANopen для асфальтоукладчиков. Определяет интерфейсы различных устройств, используемых в дорожно-строительной технике;
· CiA 416 - прикладной профиль CANopen для дверей зданий. Определяет интерфейсы замков, сенсоров и других устройств, используемых в управляемых электроникой дверях;
· CiA 417 - прикладной профиль CANopen для лифтов. Определяет интерфейсы контроллеров кабины, дверей, контроллера вызова и других, а также узлов кабины и дверей, кнопочных панелей и др;
· CiA 418 - профиль CANopen устройства для батарейных модулей. Определяет интерфейс для работы с зарядными устройствами;
· CiA 419 - профиль CANopen устройства для зарядных устройств. Определяет интерфейс для работы с батарейными модулями;
· CiA 420 - семейство профилей CANopen устройства для экструдеров. Определяет интерфейсы для вытягивателя, гофрирователя и распиловщика;
· CiA 422 - прикладной профиль CANopen для муниципальных транспортных средств. Используется, в частности, для управления дополнительным оборудованием мусороуборочных машин и определяет интерфейсы таких подсистем, как прессовщик, весы и др.;
· CiA 425 - CANopen профиль для вспомогательных медицинских устройств. Определяет plug-and-play интерфейсы инжектора контрастного вещества и электрокардиографа.
Заключение
Протокол CAN оптимизирован для систем, в которых должно передаваться относительно небольшое количество информации (по сравнению с USB или Ethernet) к любому или всем узлам сети. Он обладает большим количеством преимуществ, среди которых:
· Множественный доступ с опросом состояния шины позволяет каждому узлу получить доступ к шине с учетом приоритетов.
· Неадресатная структура сообщений позволяет организовать многоабонентскую доставку данных с сокращением трафика шины.
· Быстрая устойчивая передача информации с системой контроля ошибок позволяет отключать неисправные узлы от шины, что гарантирует доставку критических по времени сообщений.
С учетом того, что на рынке предложен большой ассортимент узлов ввода/вывода, датчиков и приводов для прикладных протоколов CANopen и DeviceNet, можно утверждать, что CAN незаменим для новых разработок, в которых важную роль играют такие параметры как реальное время, стабильность связи, отказобезопасность, доступность надежных стеков и инструментальных средств для прикладных протоколов.
Таким образом, разработчик может использовать надежное ПО прикладного уровня практически для всех доступных микроконтроллеров, что существенно позволяет снизить риск, ускорить продвижение на рынок и снизить затраты на разработку.
Список использованной литературы
1. Древс Ю.Г., Зорин А.Л. Применение ПЭВМ в системах измерения и обработки данных. Часть 2. Технические средства сбора информации в измерительно-вычислительных комплексах: Учебное пособие. М.: МИФИ.
2. Карпенко 3.Е. Возможности CAN-протокола // Современные технологии автоматизации. - 1998 №4, с.16-20.
3. Любашин А.Н. Промышленные сети // Мир компьютерной автоматизации. - 1999. №1
4. Третьяков С.А. CAN на пороге нового столетия // Мир компьютерной автоматизации. - 1999. №2
5. Щербаков А. Протоколы прикладного уровня CAN-сетей // Современные Технологии Автоматизации. - 1999. №3
6. Robert Bosch GmbH «CAN Specification Version 2.0», 1991.
7. Зитцманн Рейнер, Мак Моника, Цельтвангер Хольгер, Шуманн Тило. CAN словарь. Второе издание. Пер. с англ. Грибов Игорь, 2005
8. IXXAT Automation GmbH. CAN vs. RS-485: Пер. с англ. ООО НПКФ «ДЭЙТАМИКРО», 2012
9. Pat Richards. AN228 - A CAN Physical Layer Discussion: Пер. с англ. PIClist, 2007
10. ООО «Марафон». Введение в протокол CAN. - URL: http://can.marathon.ru/page/can-protocols/canbus/canintro
11. ООО «СМД Комп». Протокол CAN - оптимальное построение бортовой сети автомобиля. - URL: http://www.smd-component.ru/pdf/can-basic.pdf
12. Dmitry. Протокол CanOpen. URL: http://robot-develop.org/archives/4110
13. Протоколы прикладного уровня CAN-сетей: SDS (Smart Distributed System). URL: http://www.aldis.ru/techno/nets/can-protocols/sds/
14. Щербаков А. Сеть CAN: популярные прикладные протоколы. URL: http://catalog.gaw.ru/index.php?page=document&id=1428
- 1. Общие сведения
- 2. Основные характеристики сети
- 3. Описание протокола CAN
- 3.1 Физический уровень протокола CAN
- 3.1.1 Рецессивные и доминантные биты
- 3.1.2 Функциональная схема сети стандарта CAN
- 3.1.3 Скорость передачи и длина сети
- 3.2 Канальный уровень протокола CAN
- 3.2.2 Арбитраж доступа
- 3.2.3 Методы обнаружения ошибок
- 4. Протоколы высокого уровня