Архитектура программного обеспечения CANopen слейв/сервер реализована аналогичным образом для микроконтроллеров типа STM32F1x и ОС Windows.
Программы включают в себя следующие основные модули:
- Коммуникационную подсистему слейв/сервер CiA 301 на основе CANopen библиотеки.
- Прикладной профиль CiA 401.
- Расширения прикладного профиля.
- Базу данных устройства на основе объектного словаря CANopen.
- Подсистему сохранения параметров в энергонезависимой памяти.
Для доступа к CAN сети на канальном уровне Программа использует API драйвера CHAI (http://can.marathon.ru/page/prog/chai). Для микроконтроллерных приложений исходный код CHAI включается в общий проект программного обеспечения.
При необходимости коммуникационная подсистема может быть дополнена поддержкой протокола EN50325-5 (функционально безопасные коммуникации на основе CANopen).
Программа выполнена в виде двух частей: библиотечной и прикладной. Общая библиотечная часть может использоваться для разработки различных проектов (устройств) на микроконтроллерных платформах. Прикладная реализует CANopen профиль устройства. Программа поддерживает CANopen профиль CiA 401 (модули ввода-вывода общего назначения).
Программа поддерживает только ускоренный и сегментированный SDO протоколы.
Возможна работа по нескольким CAN шинам (до восьми) в режиме ”холодного” резервирования.
Поддерживаются только байтовые (группами по 8 бит) динамическое PDO и SRDO отображения.
Поддерживается только little-endian формат данных, когда наименее значимый (младший) байт данных любого стандартного типа размещается по меньшему адресу.
Программные модули CANopen для STM32
Библиотека включает в себя две группы модулей (программных и заголовочных файлов на языке программирования Си):
- CANopen библиотека для ARM микроконтроллеров.
- Прикладной профиль CiA 401.
- Системные модули, включая драйвер канального уровня CHAI.
Базовая среда разработки STM32:
Keil μVision V5.25 с системными библиотеками CMSIS и Standard Peripherals Driver. ОС Windows: MS Visual Studio 2015.
Версия информации в формате .pdf