Home / Products / SYS TEC electronic / CANopen Master & Slave Stack (CiA 301)
SYS TEC electronicProducts

CANopen Master & Slave Stack (CiA 301)

Part no. / ID: SO-877
CiA 301Master & SlaveBuy-out

CANopen Master & Slave Stack (SO-877) is a CANopen protocol stack providing the full functionality of the CiA 301 specification as ANSI-C source code. It lets you implement full-featured CANopen master/slave devices — including NMT master (network manager), LSS master (Layer Settings Service), and SDO client — quickly while staying standards-compliant. Its conformance has been proven in many industrial applications, and its developer, SYS TEC electronic, is a CiA member that has been developing CANopen continuously for more than 25 years.

CANopen Master & Slave Stack CiA 301MIDDLEWARE · Middleware / protocol stacks

Overview

CANopen Master & Slave Stack (SO-877) is a CANopen protocol stack providing the full functionality of the CiA 301 specification as ANSI-C source code. It lets you implement full-featured CANopen master/slave devices — including NMT master (network manager), LSS master (Layer Settings Service), and SDO client — quickly while staying standards-compliant. Its conformance has been proven in many industrial applications, and its developer, SYS TEC electronic, is a CiA member that has been developing CANopen continuously for more than 25 years.

For performance, an event-driven design that notifies events directly up to application level and a “zero-copy” strategy make it ideal for real-time applications and RTOSes. The source is modular and scalable, and many configuration options let you optimize speed and memory consumption. A structured API, sample programs, target-specific demo projects, and thorough documentation support step-by-step adoption.

Platform support is broad, from bare metal to FreeRTOS, SafeRTOS, ThreadX, Keil-RTX, SEGGER embOS, Linux, and Windows. Demo projects are provided for major 8/16/32-bit MCUs (all STM32 series, NXP S32K1xx (CAN FD), TI, Renesas Synergy/RX, Infineon XMC/TriCore/T2G, Microchip PIC32/dsPIC33, etc.) (V5.71 support table). SYS TEC can adapt it to unsupported processors and port CAN drivers within a few days.

Licensing is buy-out: no product royalties or runtime licenses. One year of free support and updates, plus a toolchain for testing and network configuration, is included (the Value Pack “SO-877-VP” also includes the full version of CANopen DeviceExplorer, the Process Data Linker, a USB-CANmodul1, and ODBuilderII). Add-ons such as CiA 402 and CiA 304 SRDO address industry-specific requirements.

Key specifications

CANopen Master & Slave Stack (CiA 301)
StandardCiA 301 (NMT master/slave, LSS master, SDO client)
DeliveryANSI-C source code (buy-out / per site)
Supported OSBare metal / Linux (SocketCAN) / Windows / Windows Embedded Compact 2013 / FreeRTOS / SafeRTOS / ThreadX / SEGGER embOS / Keil RTX5 / PxROS
Supported functionsNMT Master、LSS Master、SDO Client
LicenseNo runtime fees for product development
DesignZero-copy implementation, modular structure (CCM central layer)

ANSI C source code for implementing CiA 301-compliant CANopen master/slave functions in embedded devices. Develop sensors, I/O, power supplies, controllers, HMIs, drives, and more on your own MCU/SoC. Hardware-dependent parts are separated for high portability; a site-specific company license means no runtime royalties, and 12 months of updates and support are included.

Positive ONE Group supports you in Japanese, from product selection and quotes through to technical support during deployment, and proposes the optimal configuration for your target MCU, OS, quantity, and application.

Technical specifications

Standards

CANopen Master & Slave Stack (CiA 301)
ProfileCiA 301 v4.2 (CANopen application layer)
Physical layerCAN 2.0A/B (Classical CAN)
Bit rate10 kbit/s – 1 Mbit/s (CiA 301 standard bit rates)
CiA 301 FULL

Stack functions (full CiA 301 implementation)

CANopen Master & Slave Stack (CiA 301)
PDO512 receive / 512 transmit. Static, dynamic, and bit-wise mapping, MPDO (add-on)
SDO127 servers / 127 clients. Segmented and block transfer, SRD client
NMT / monitoringNMT slave state machine, boot-up, node/error control, heartbeat (producer + 127 consumers), life/node guarding
Sync / emergencySYNC and EMCY producers/consumers, time stamp (high-resolution supported)
OtherLSS master/slave, parameter store/restore, CiA 303-3, multi-instance, CAN driver source included, event-driven API
SUPPORTED TARGETS

Supported platforms (from the V5.71 support table)

CANopen Master & Slave Stack (CiA 301)
8/16bitInfineon, Philips, 80x51, Atmel AVR, Silabs / Renesas, Fujitsu, Microchip, TI
32bitSTM32 F0–H7/G4/H5 (bxCAN/FDCAN), NXP S32K1xx (CAN FD), LPC, Kinetis, MPC56xx, TI TMS570/Hercules/TMS320/AM335x, Renesas Synergy (ThreadX), RX72, Infineon XMC4000, TriCore, T2G, Microchip PIC32/dsPIC33, GigaDevice GD32, x86/x64, Raspberry Pi (SocketCAN)
RTOS / OSBare metal, Linux (SocketCAN), Windows, Windows Embedded Compact 2013, FreeRTOS, SafeRTOS, ThreadX, SEGGER embOS, Keil RTX5, PxROS (Supported Targets V5.71)
External CAN controllersSJA1000, TouCAN, TwinCAN, 82527, MCP2515, TDRV011
Unsupported targetsSYS TEC adaptation service (driver porting and demo creation within a few days)
Support table (PDF)PDFDownload the list of supported targetsSupport table for the demo projects supplied as standard with the SO-877 source code (CANopen Stack V5.71)↓
ADD-ONS

Add-on packages

CANopen Master & Slave Stack (CiA 301)
CiA 402 (SO-1081)Drive and motion control profile for servo controllers, frequency converters, etc.
MPDO (SO-1066)CiA 301 multiplex PDO
SRDO / CiA 304 (SO-1059)Development of safety-relevant CANopen devices (SRDO)
Dynamic OD (SO-1074)Runtime changes to the object dictionary (CiA 302)
SDO Gateway (SO-1078)SDO transfer between networks
Flying Master (SO-1114)Dynamic master determination in multi-master systems (CiA 302; for the SO-1063 CANopen Manager)
Bootloader (SO-1089)Binary transfer and execution over CANopen (CiA 302)
CiA 304 / SRDO

Basics of CANopen Safety (CiA 304 / SRDO)

CANopen Master & Slave Stack (CiA 301)
StandardCiA 301 (NMT master/slave, LSS master, SDO client)
SRDO structure1 SRDO = 2 CAN messages. The data is sent redundantly, bit-inverted in the second message; the IDs are an odd/even pair
Receive monitoringMonitors SCT (Safeguard Cycle Time) and SRVT (interval between the two messages). An invalid SRDO leads to the safe state
PrincipleBlack channel + safety communication layer (SCL) to control corruption, loss, delay, masquerade, and more
ImplementationSupported by the SRDO add-on (SO-1059). Design guidance for IEC 61508 1oo1 (lockstep) / 1oo2 (dual-channel) architectures
Technical specifications

Supported services

CANopen Master & Slave Stack (CiA 301)
PDOTPDO/RPDO (event, synchronous, inhibit / event timer)
SDOExpedited / segmented / block transfer
NMTSlave (state machine) / heartbeat, node guarding
Special functionsEMCY (emergency), SYNC, TIME, LSS (CiA 305)
Object dictionaryEDS/XDD/DCF support, static and dynamic configuration
Technical specifications

Implementation and supported OS

CANopen Master & Slave Stack (CiA 301)
Implementation languageANSI-C source code (HAL separated, zero-copy design)
Bare metalSupported (central CCM layer + driver layer)
RTOSFreeRTOS / SafeRTOS / ThreadX / Keil-RTX / SEGGER embOS
OSLinux / Windows
CAN channelsMulti-channel configurations supported
Technical specifications

Delivery and licensing

CANopen Master & Slave Stack (CiA 301)
DeliverySource code (buy-out / site license)
Runtime feesNone (independent of the number of products shipped)
ToolsDiagnose and test with CANopen DeviceExplorer

Communication stack structure and supported specifications

A communication stack consists of three layers: driver layer → stack layer → related-functions layer. Below are this product's position in the stack and the specifications it supports.

CANopenCiA 301

Device (slave) stack. Implements OD / PDO / SDO / NMT / EMCY.

Driver layerDriver / BSP
The lowest layer, directly controlling the MCU's CAN/LIN/Ethernet controller. Handles transmit/receive, interrupts, and timing. Depends on the MCU and peripherals.
Examples: CAN Driver / BSP, LIN low-level drivers, Ethernet MAC drivers
▲ Upper layers use lower layers
Stack layer (protocol)Protocol StackThis product
The core of the protocol. Implements frame construction, state management, transport (segmentation and retransmission), and addressing. Conforms to the numbered specifications.
Examples: CANopen (CiA 301), J1939, UDS (ISO 14229), ISO-TP (ISO 15765-2)
▲ Upper layers use lower layers
Related-functions layer (application / profile)Application / Profile
Application functions on top of the stack: device profiles, managers, LSS, bootloaders, conformance testing, configuration tools and more.
Examples: CiA 401 I/O, CiA 402 motion, LSS (CiA 305), flash bootloader, configuration tools

Functions by CiA specification number — what it can and cannot do

CANopen is based on CiA 301 (the communication profile). Numbered additional functions and device profiles build on top of it. Which numbers a product supports determines what it can do.

CANopen Master & Slave Stack (CiA 301)
CiA no.FeaturesWith supportConstraints / what it cannot do
CiA 301 ✓ supportedApplication layer and communication profile (basic)OD (object dictionary), PDO, SDO, NMT, SYNC, EMCY, TIME, heartbeat. SDO block transfer, MPDO (v4.x). This is the foundation for everything else.On its own, it does not define device functions such as I/O or motion (a separate profile is required).
CiA 1301CANopen FD application layerCANopen on CAN FD. PDOs up to 64 bytes, FD-capable SDO. Large, fast payloads.Not directly interoperable with Classic CAN nodes (FD-capable devices only).
CiA 302Additional functions: manager, configuration, bootNMT master / flying master, configuration manager, SDO manager (dynamic SDO), program download, multi-level networking.Does not include device-side I/O definitions (those belong to device profiles).
CiA 305LSS (Layer Setting Services)Assigns node IDs to unconfigured devices and changes bit rates in two frames. Fastscan identifies unconfigured devices. Essential for plug-and-play configuration.LSS configuration assumes a master-side implementation. A slave alone cannot set its own ID.
CiA 306 / 311EDS / DCF / XDD (electronic data sheets)OD descriptions of devices (CiA 306 = INI-format EDS, CiA 311 = XML-format XDD / ISO 15745). Required for conformance testing; enables automatic configuration by tools.A description file, not executable code.
CiA 401Device profile: generic I/OStandardizes digital/analog I/O (up to 64 digital and 12 analog points; 512 in the FD version). Devices with the same profile are interoperable and interchangeable.Motion control and sensor-specific functions are out of scope (402/404).
CiA 402Device profile: motion / drivesControl of servos, inverters, and steppers (FSA state machine, operating modes, PDO/SDO). Compliant with IEC 61800-7-201/301. 64-byte PDOs in the FD version.Many optional functions; full compatibility between vendors is not guaranteed (check the EDS).
CiA 404 / 417 / 447…Other device / application profilesIndustry-specific standard functions such as 404 = measuring / closed-loop control, 417 = elevators, 447 = special-purpose vehicles, and 422 = refuse collection vehicles.Not suitable outside the target industry. Implementation requires a product that supports the relevant profile.

Main uses

  • Sensors, actuators, and I/O for industrial automation
  • Volume production of CANopen master/slave devices
  • Network diagnostics, configuration, and service

Benefits

  • No runtime license fees
  • Highly efficient with zero-copy implementation and modular structure
  • Easy to port to new targets (hardware layer separated)

Environment

  • Supported OS: bare metal / Linux (SocketCAN) / Windows / Windows Embedded Compact 2013 / FreeRTOS / SafeRTOS / ThreadX / SEGGER embOS / Keil RTX5 / PxROS
  • Standards: CiA 301 (device) / CiA 302 (manager)
  • Delivery: ANSI-C source (buy-out, per site)

Frequently asked questions

What is CANopen Master & Slave Stack (SO-877)?
It is a CANopen protocol stack providing the full functionality of CiA 301 as ANSI-C source. It includes NMT master, LSS master, and SDO client, so you can implement full-featured master and slave devices while remaining standards-compliant. Its zero-copy, event-driven design also makes it suitable for real-time applications.
How are license fees charged?
It is a buy-out source-code license, with no product royalties or runtime licenses. One year of free technical support and updates is included.
What if the MCU we want to use is not in the support table?
SYS TEC offers an adaptation service. Porting CAN drivers, implementing specific demo projects, and adapting to unsupported processors usually take a few days. For inquiries, please contact Positive ONE Group.

Solutions that include this product

This product is part of the following configuration combining several products. See each solution page for its place in the overall configuration.

Environment and specifications

Supported MCUsExamples from Supported Targets V5.71: STM32 (F0/F1/F2/F3/F4/F7/G4/H5/H7), NXP S32K1xx, LPC17xx/18xx/2xxx, Kinetis, MPC56xx, Infineon XMC4xxx, TriCore TC17xx, XC22xx, Traveo T2G, Microchip PIC32MX/MK/MZ, dsPIC33, TI TMS570, Hercules RM4x, C2000 (TMS320F28x), Stellaris, Renesas RX72, Synergy, GigaDevice GD32F4, Linux (x86/x64, Raspberry Pi 3, AM335x), Windows (x86/x64)
Development environmentsEnvironments with demos: Keil MDK-ARM, IAR Embedded Workbench, STM32CubeIDE, S32 Design Studio, MCUXpresso, Code Composer Studio, e² studio, MPLAB X, Tasking, GCC (Eclipse), Microsoft Visual Studio
CAN I/FOn-chip CAN controllers of each MCU (bxCAN, FDCAN, FlexCAN, MultiCAN, DCAN, ECAN, etc.), Linux SocketCAN; on Windows, SYS TEC USB-CANmodul, PEAK, Vector, Kvaser, IXXAT, etc.
IncludedStack source code, ODBuilderII, documentation, site-specific company license (no runtime fees), 12 months of updates/support
OptionsCiA 304 safety protocol extension, CiA 402 drive profile (add-ons)

SYS TEC electronic middleware and protocol stack products

Contact

Tell us your target MCU, quantity, and safety requirements, and we will propose the best configuration with a rough estimate.

Manufacturer of CANopen stacks, CAN interfaces, and I/O modules

See all SYS TEC electronic products →