Systec CANopen Manager Source Code CiA 302


A CANopen network usually consists of several devices with different functionality. One main function is the NMT master which shall exist in every CANopen network. Its task is to control and monitor the NMT state of all NMT slaves. Commonly, the CANopen device which controls the system from an application point of view implements the NMT master also, e.g. a PLC.

The CANopen Manager according to CiA 302 combines the NMT master with additional functionalities and implements processes in a standardized way, e.g. the boot-up of the network. This boot-up consists of the scan for expected CANopen devices and their configuration by the Configuration Manager.

Furthermore the CANopen Manager may implement the SDO manager which is responsible for dynamic establishment of SDO connections. This means, that SDO connections do not have to be configured when installing the system, but CANopen devices are able to request SDO connections to other devices at run time. These CANopen devices which are the counterpart of the SDO manager are called “SDO requesting device”. The SDO manager ensures that the same SDO server of a CANopen device is not used by two SDO clients at the same time, if and only if no SDO connections are established dynamically by CANopen devices themselves.

A CAN driver porting, implementing of specific demo projects or adaptation of the CANopen software to processors that are not directly supported can be carried out in a few days. Please contact SYS TEC for further information on the available adaptation services.

Modular, Scalable and Portable

The continuous modularization of the functionalities and implementation in ANSI-C make possible simple porting to different target systems. Great importance was set on scalability and performance. Highly optimized memory management and zero-copy implementation prevent unnecessary copying of data. With our CANopen Source you can just as cost-effectively create single-chip solutions and complex, multi-channel master applications. Our CANopen protocol stack was successfully ported, along with a number of microcontrollers, to a DSP.

The CANopen software is organized into individual modules. Some modules can be incorporated into or removed from the project, depending on the required functionality. The modules do not cross-call functions to another module but only functions from subordinate or superordinate modules (as Callback function). There are no cross-references of global variables between the modules. A central software layer, called "CANopen Controlling Module" (CCM), provides a simplified API of the CANopen functions to the application layer and controls the interaction of the individual modules. Furthermore, the hardware specific implementation is clearly decoupled from the CANopen protocol stack, resulting in a minimum effort required for porting to a new target platform.

No Royalties on Deployed Products

We offer an attractive pricing structure. You get the complete source with project examples on every purchase as Buy-Out license for an economic one-time fee. There are no royalties on your deployed products.

The license is location-bound and can be used for various targets, projects and products by your engineers without further license fees.

Through a license extension, development partners and other sites of their company can use the source code.
Our update and support services can be renewed annually - so your stack is always up to date.

Board / MCU ManufacturerMCU Family / BoardsCAN controller / interfaceOperating SystemDemo based on MCUDemo based on IDEDemo CANopen Master/Slave P/N SO-877Demo CANopen Manager P/N SO-1063Demo for CiA device profile / Add-onSupported via standard scope of the CANopen Stack
-X86SocketCANLinux GCC EclipseYesYesCiA 401Yes
-X86SYS TEC USB-CANmodul series, SYS TEC CAN-Ethernet Gateway, PEAK PCAN-PCI, PEAK PCAN-USB, Vector CANcaseXL, Tews Technologies TPMC 816Microsoft Windows OS Microsoft Visual StudioYesYesCiA 401Yes
AtmelAT90 AVRinternal-AT90CAN128IAR Embedded WorkbenchYesNoCiA 401Yes
AtmelAT90 AVRinternal-AT90CAN128Atmel StudioYesNoCiA 401Yes
AtmelAT91 ARM7internal-AT91SAM7A3Keil uVisionYesNoCiA 401Yes
Cypress / FujitsuF2MC-16FXinternal-MB96F348Softune WorkbenchYesNoCiA 401Yes
EnclustraMars ZX3ZYNQ CAN ControllereCosZync Z-7020 SoCGCC EclipseYesNoCiA 401Yes
F&SarmStone A9internal FlexCANWindows Embedded Compact 7 Microsoft Visual StudioYesNoCiA 401Yes
FreescaleKinetis K60internal FlexCAN-  NoNo No
InfineonXMC4xxxinternal MultiCAN-XMC4500Keil uVisionYesNoCiA 401Yes
InfineonTriCore TC1766internal MultiCANPxROSTC1766GCCYesNoCiA 401Yes
InfineonTriCore TC1796internal MultiCANPxROSTC1796GCCYesNoCiA 401Yes
InfineonXC22xxinternal MultiCAN-XC2287TaskingYesNoCiA 401, CiA 304 SRDO (requires SO-1059)No
MicrochipPIC32MXinternal ECAN-PIC32MX795F512LMicrochip MPLABYesNoCiA 401Yes
MicrochipdsPIC33Finternal ECAN-dsPIC33F256Microchip MPLABYesNoCiA 401, Bootloader (requires SO-1089)Yes
Microchip external MCP2515   NoNo Yes
NXP, PhytecphyCORE-ADuCexternal SJA1000-ADuC812Keil uVisionYesNoCiA 401Yes
NXPLPC17xxinternal NXP CAN controller-LPC1768Code Red Tech - LPCXpressoYesNoCiA 401Yes
NXPLPC21xxinternal NXP CAN controller-LPC2129Keil uVisionYesNoCiA 401Yes
NXPLPC22xxinternal NXP CAN controller-LPC2294IAR Embedded WorkbenchYesNoCiA 401Yes
NXPLPC23xxinternal NXP CAN controller-LPC2368Keil uVisionYesNoCiA 401Yes
NXPLPC2xxxinternal NXP CAN controller-LPC2129, LPC2294, LPC2368 NoNoBootloader (requires SO-1089)No
PhytecphyCORE-AM335xSocketCANLinuxAM3359GCCYesNoCiA 401Yes
RenesasSynergy S7internalExpress Logic ThreadXSynergy S7G2e2 studioYesNoCiA 401No
RenesasSynergy S5internalExpress Logic ThreadXSynergy S5D9e2 studioYesNoCiA 401No
RenesasSynergy S3internalExpress Logic ThreadXSynergy S3A7e2 studioYesNoCiA 401No
RenesasSynergy S7internal-Synergy S7G2e2 studioYesNoCiA 401No
RenesasSynergy S5internal-Synergy S5D9e2 studioYesNoCiA 401No
RenesasSynergy S3internal-Synergy S3A7e2 studioYesNoCiA 401No
RenesasRX62Tinternal-  NoNo Yes
Silicon LaboratoriesC8051internal BoschCAN-C8051F043 NoNo No
STMicroelectronicsSTM32Finternal bxCAN-STM32F407Keil uVisionYesYesCiA 401, CiA 304 SRDO (requires SO-1059)Yes
STMicroelectronicsSTM32Finternal bxCANSegger embOSSTM32F107IAR Embedded WorkbenchYesNoCiA 401Yes
STMicroelectronicsSTM32Finternal bxCAN-STM32F107Keil uVisionYesNoCiA 401Yes
STMicroelectronicsSTM32Finternal bxCAN-STM32F107, STM32F072IAR Embedded WorkbenchNoNoBootloader (requires SO-1089)No
Texas InstrumentsAM335XSocketCANLinuxAM3359GCC EclipseYesNoCiA 401Yes
Texas InstrumentsTMS570internal DCAN-TMS570LS20216Code Composer StudioNoNoCiA 304 SRDO (requires SO-1059)Yes
Texas InstrumentsHercules RM48internal DCAN-RM48L952Code Composer StudioNoNoCiA 304 SRDO (requires SO-1059)Yes
Texas InstrumentsHercules RM42internal DCAN-RM42L32Code Composer StudioNoNoCiA 304 SRDO (requires SO-1059)Yes
Texas InstrumentsStellaris® LM3Sinternal BoschCAN-LM3S8971Keil uVisionYesNoCiA 401Yes
XilinxZYNQ7000ZYNQ CAN ControllereCosZync Z-7020 SoCGCC EclipseYesNoCiA 401Yes
XilinxZYNQ7000ZYNQ CAN ControllerMicrium μC/OS-IIZync Z-7010 SoCGCC EclipseYesNoCiA 401, CiA 402 (requires SO-1081)No

• CiA 302 compliant CANopen Manager Source Code
• Complete source code set of CANopen manager, master and slave services included
• Same API for both NMT master and pure NMT slave CANopen devices (useful for HMI devices)
• High scalability and portability
• Implemented in plain ANSI C
• Seamlessly integrated SDO manager and SRD client for dynamic establishment of SDO connections
• Completely transparent management of SDO clients
• Configuration Manager, which uses concise DCFs (a compressed format of DCF) to configure CANopen devices
• Automatic configuration of heartbeat or life/node guarding
• Multi-instance support - Implement different logical CANopen devices on a single physical hardware platform
• The first year of software maintenance and technical support included - free of charge!
• No royalties on deployed products
• Bundled versions (so-called Value Packs) with complete set of fully-enabled CANopen tools included available
• Straight-forward ANSI-C implementation and the clear modularized structure support easy porting to new target platforms
• Generic OS API suitable for integration with real time operating systems
• CANopen Manager Protocol Stack provides the communication layer for implementing all standardized CANopen device profiles
• CAN driver source code for many target systems included
• Uniform CAN driver API for all supported CAN interfaces
• High resolution time stamp
• CiA 304 compliant CANopen Safety Protocol Extension (optional add-on)
• CiA 402 Device Profile for Motion Control and Drives (optional add-on)

P / NBeschreibung
SO-1063CANopen Manager Source Code 
CANopen Manager Protocol Stack Source Code, ODBuilderII, Documentation, facility-related CANopen Stack company license without runtime fees incl. 12 month updates and support
SO-1063-VPCANopen Manager Source Code Value Pack 
CANopen Manager Protocol Stack Source Code, ODBuilderII, CANopen Configuration Suite with LSS plug-in, USB-CANmodul1, Documentation, facility-related CANopen Stack company license without runtime fees incl. 12 month updates and support
5006008License extension for CANopen Stack 
for project-related, time-limited using by external development partners