Функциональные характеристики CANopen библиотеки

Библиотека CANopen позволяет разрабатывать программное обеспечение мастер и слейв устройств, совместимых со спецификациями CiA 301 и EN50325-5.
Библиотека поддерживает LSS responder устройства согласно CiA 305.
Программное обеспечение библиотеки написано на языке ANSI-C с учетом переносимости на различные платформы.
Для доступа к сети на канальном уровне библиотека использует API драйвера CHAI (http://can.marathon.ru/page/prog/chai).
Зависимости кода библиотеки от среды исполнения (таймер, критические секции, работа с энергонезависимой памятью) выделены в отдельные модули.
Общий исходный код библиотеки не зависит от конкретной платформы и одинаков как для приложений, встраиваемых в микроконтроллеры, так и для задач, работающих под управлением операционных систем общего назначения: Windows, Linux и других. Базовая среда разработки для ОС Windows: MS Visual Studio 2015

Основные характеристики и функциональность библиотеки

  • Библиотека обеспечивает работу приложений в режиме жесткого реального времени. Ее архитектура основана на повторно–входимых компонентах, которые допускают асинхронное обращение к ним со стороны прикладной программы.
  • Раздел объектного словаря для коммуникаций реализует полное реконфигурирование в соответствии со стандартами CiA 301 и EN50325-5.
  • Инициализация всех коммуникационных объектов производится согласно предопределенному распределению CAN идентификаторов.
  • CANopen SDO протокол поддерживается во всех предусмотренных стандартом режимах: ускоренном, сегментированном и блочном.
  • Реализованы все виды PDO протоколов (cyclic, acyclic, synchronous, asynchronous, RTR only). Может использоваться как статическое, так и динамическое PDO отображение.
  • Протокол синхронизации SYNC обеспечивает работу как с SYNC счетчиком, так и без его использования. Поддерживаются все протоколы сетевого менеджера (NMT).
  • Реализованы протоколы контроля ошибок: сердцебиения (Heartbeat) и охраны узла (Node Guarding). Поддерживается протокол начальной загрузки Boot-up.
  • Реализовано полное семейство LSS протоколов, включая Fastscan.
  • Для слейв устройств возможна работа по нескольким CAN шинам (до восьми) в режиме ”холодного” резервирования.
  • CANopen слейв также поддерживает стандарт EN50325-5: функционально безопасные коммуникации на основе CANopen.

Программные модули библиотеки

Библиотека состоит из модулей (программных и заголовочных файлов на языке программирования Си), которые реализуют стек протоколов CANopen. Разработчик конечного приложения (CANopen профиля) подключает необходимые модули к своему проекту.

Ограничения библиотеки

  • Максимальный размер любого объекта не должен превышать 7FFFFFFFh байт (2 Гб).
  • Минимальное значение периода CANopen таймера составляет 100 микросекунд (частота не более 10 КГц).
  • Действующие версии стандарта CANopen поддерживают работу только с 11-битовыми CAN идентификаторами. 29-битовые идентификаторы являются зарезервированными и не используются в протоколе CANopen. Все входящие CAN кадры с 29-битовыми идентификаторами игнорируются.

Версия информации в формате .pdf