Особенности
- ANSI-C совместимый исходный код CANopen стека
- Соответствие MISRA-C
- Поддержка сервисов CANopen CiA 301
- В комплект поставки входит Layer Setting Service (LSS) CiA 305
- Расширения для других доступных стандартов
- Доступно для многих типов CAN контроллеров и ЦПУ
- Удобный пользовательский интерфейс
- Широкие возможности по конфигурированию и масштабированию
Как это работает
Кроме стандартных сервисов доступны расширения для дополнительных коммуникационных профилей, таких как резервированная связь (CiA 302), связь, релевантная безопасности (CiA 304), а также реализации профилей устройств, таких как общие модули ввода/вывода (CiA 401).
Гибкий пользовательский интерфейс предоставляет функции для оценки полученных данных и использования сервисов CANopen в сети.
Для подключения стека CANopen Slave Stack к нескольким CAN контроллерам и типам ЦПУ используется четко определенный интерфейс драйвера. Используя этот интерфейс драйвера, стек CANopen Slave Stack также может быть легко адаптирован к новым CAN контроллерам или типам ЦПУ.
Также возможна замена аппаратных платформ с минимальными усилиями. Стек CANopen Slave Stack может использоваться с различными операционными системами реального времени, такими как ThreadX, FreeRTOS, Keil RTX или TI-RTOS, а также с Linux (SocketCAN, can4linux) или QNX, а также с расширениями реального времени для Windows.
Кроме API функций есть также Mailbox API, доступный для простого использования с несколькими задачами или потоками. Сообщения между модулями приложений и стеком CANopen отправляются через почтовые ящики вместо вызовов функций. Это обеспечивает неблокирующую связь. Приложение может состоять из нескольких задач, в которых параллельно используется стек CANopen.
Для экономии ресурсов CANopen Slave Stack имеет широкие возможности по настройки и масштабированию. Настройки этих функций поддерживаются графическим инструментом конфигурирования CANopen DeviceDesigner, который также позволяет создавать каталог объектов и файл EDS с помощью встроенной базы данных. Как следствие, изменения могут быть реализованы быстро и легко. Использование уникального CANopen DeviceDesigner позволяет сэкономить ценное время на разработку.
Представлено множество готовых к работе примеров, чтобы сделать запуск со стеком CANopen Slave Stack максимально простым. Кроме того, в комплект поставки входит руководство пользователя, описывающее принципы и области применения, а также справочное руководство, детально описывающее каждую API функцию. Стек постоянно тестируется с помощью CANopen Conformance Test на соответствие спецификации.
Профили CANopen
CANopen определяет большое количество профилей устройств или приложений, которые определяют интерфейс и поведение определенных устройств. Мы предлагаем расширения для поддержки функциональности этих профилей, а также для предоставления данных и событий приложения в предварительно обработанном виде. В настоящее время доступны расширения для следующих профилей:
- CiA 401 – профиль устройства для модулей ввода/вывода
- CiA 402 – профиль устройства для приводов
- CiA 404 – профиль устройства для измерительных приборов и контроллеров с замкнутым контуром
- CiA 406 – профиль устройства для энкодера
- CiA 413 – профиль интерфейса для автомобильных шлюзов
- CiA 418 – профиль устройства для аккумуляторов
- CiA 419 – профиль устройства для зарядных устройств
- CiA 437 – прикладной профиль для фотогальванических компонентов на основе матрицы
- CiA 443 – профиль устройства для подводных приборов (SIIS Level-2)
- CiA 447 – прикладной профиль для дополнительных устройств для легковых автомобилей (такси, полиция, …)
- CiA 454 – прикладной профиль для систем энергетического менеджмента, например, в LEV (EnergyBus)
Кроме того, CANopen Slave Stack может быть использован для разработки любого приложения CANopen даже для других профилей, как упоминалось ранее.
Содержимое поставки
- Исходный код протокола CANopen (совместимый с ANSI-C)
- Готовые к запуску примеры приложений
- Руководство пользователя и справочное руководство в электронном формате
- Доступно как лицензия на проект (действительна для 1 проекта и 1 устройства) так и лицензия на рабочее место (1 место разработчика для всех продуктов)
- Поддержка в течение 6 месяцев (лицензия на проект) или 24 месяца (лицензия на рабочее место)
- Опциональное соглашение об обслуживании
- Опциональная поддержка интеграции
- Включена 1 именная лицензия на CANopen DeviceDesigner
Контроллеры
Следующие производители микросхем и их семейства в настоящее время поддерживаются стеками emotas CANopen и J1939:
Производитель | Типы |
---|
ATMEL | ATmega64C, AT90CAN64, AT90CAN128, SAM C21, SAM V71 |
---|
BOSCH | C_CAN, D_CAN, M_CAN |
---|
NXP | Kinetis, S12Z, HCS12, i.MX6 (Linux, INTEGRITY OS), MPC560x, KEAZ128, S32K146,LPC17xx, LPC40xx, LPC546xx |
---|
Infineon | XMC4000 (ARM Cortex-M4, MultiCAN), XMC1400 (Cortex-M0) |
---|
Intel | Архитектура x86 |
---|
Microchip | dsPIC33, PIC24H, PIC32MK |
---|
NuvoTon | NUC130, NUC140 |
---|
Renesas | RL78/F14, RX62, RX63N, RX65N, V850E2, RH850/F1L, RH850/F1KH-D8, Synergy S1,S3,S5,S7 |
---|
ST Microelectronics | все STM32 (ARM Cortex-M0, Cortex-M3, Cortex-M4, Cortex-M7, bxCAN, M_CAN) включая последние STM32G4 и STM32MP1, SPC570S |
---|
Texas Instruments | RTMS320, C2000, TMS570 (Hercules), Tiva TM4C129, Sitara AM335x |
---|
LINUX | can4linux, SocketCAN, ECI |
---|
Windows (x84-64) | различные CAN интерфейсы |
---|
В таблице перечислены только семейства. Все производители предлагают внутри каждого семейства большое количество вариантов, которые различаются по периферии, максимальной тактовой частоте или размеру корпуса. Как следствие, количество выводов и назначение выводов также различаются.
Стек CANopen может быть использован со следующими компиляторами или IDE:
- gcc
- Green Hills Compiler (PPC) от Green Hills Software
- ARM Keil Compiler
- IAR Embedded Workbench от IAR Systems
- Atmel Studio
- STM32CubeIDE
- Atollic True Studio
- Renesas e2Studio с Renesas Compiler
- и другие
Функции CANopen
Сервис | Basic Slave | Master/Slave | Manager |
---|
SDO Server | 2 | 128 | 128 |
---|
SDO Client | | 128 | 128 |
---|
SDO expedited/segmented/block | ●/●/- | ●/●/● | ●/●/● |
---|
PDO Producer | 32 | 512 | 512 |
---|
PDO Consumer | 32 | 512 | 512 |
---|
PDO Mapping | статический | статический/динамический | статический/динамический |
---|
MPDO Dest Mode | | ● | ● |
---|
MPDO Src Mode | | ● | ● |
---|
SYNC Producer | | ● | ● |
---|
SYNC Consumer | ● | ● | ● |
---|
Time Producer | | ● | ● |
---|
Time Consumer | | ● | ● |
---|
Emergency Producer | ● | ● | ● |
---|
Emergency Consumer | | 127 | 127 |
---|
Guarding Master | | | ● |
---|
Guarding Slave | ● | ● | ● |
---|
Bootup Handling | | ● | ● |
---|
Heartbeat Producer | ● | ● | ● |
---|
Heartbeat Consumer | 1 | 127 | 127 |
---|
NMT Master | | ● | ● |
---|
NMT Slave | ● | ● | ● |
---|
LED CiA-303 | ● | ● | ● |
---|
LSS CiA-305 | ● | ● | ● |
---|
SDO Requester (SRD) CiA-302-5 | | ○ | ● |
---|
CANopen Router CiA-302-7 | | ○ | ○ |
---|
Master Bootup CiA 302 | | | ● |
---|
Configuration Manager | | | ● |
---|
Flying Master | | ○ | ● |
---|
Redundancy | | ○ | ○ |
---|
Safety | ○ | ○ | ○ |
---|
Multiline | | ○ | ○ |
---|
ISO-TP Client | | ● | ● |
---|
ISO-TP Server | ● | ● | ● |
---|
C# обертка API для Windows | ○ | ○ | ○ |
---|
Delphi обертка API для Windows | ○ | ○ | ○ |
---|
Профиль CANopen | Basic Slave | Master/Slave | Manager |
---|
CiA 401 (U8/INT16) | ○ | ○ | ○ |
---|
CiA 402 | ○ | ○ | ○ |
---|
CiA 404 | ○ | ○ | ○ |
---|
CiA 406 | ○ | ○ | ○ |
---|
CiA 413 | ○ | ○ | ○ |
---|
CiA 418 | ○ | ○ | ○ |
---|
CiA 419 | ○ | ○ | ○ |
---|
CiA 437 | ○ | ○ | ○ |
---|
CiA 443 | ○ | ○ | ○ |
---|
CiA 447 | ○ | ○ | ○ |
---|
CiA 454 | ○ | ○ | ○ |
---|
● — включено
○ — доступно как опция