We use cookies to make your experience better. To comply with the new e-Privacy directive, we need to ask for your consent to set the cookies. Learn more.
The CANopen source code implements the complete functionality pursuant to the CiA 301 draft standard. The CANopen source code supports the fast and standard compliant design of own fully-featured CANopen master or slave devices, including NMT master (Network Management), LSS master (Layer Setting Services) or SDO client.
The straightforward, event-oriented signaling up to Application Level attains a high degree of performance. The CANopen source code is prepared for easy integration to operating systems. The well-defined and thoroughly thought-out API allows for an easy use of the CANopen services without diving into details of the implementation. Many example programs, target specific demo projects and the comprehensive documentation assist you step-by-step.
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.
CANopen Stack - Supported Target Platforms
Board / MCU Manufacturer | MCU Family / Boards | CAN controller / interface | Operating System | Demo based on MCU | Demo based on IDE | Demo CANopen Master/Slave P/N SO-877 | Demo CANopen Manager P/N SO-1063 | Demo for CiA device profile / Add-on | Supported via standard scope of the CANopen Stack |
- | X86 | SocketCAN | Linux | GCC Eclipse | Yes | Yes | CiA 401 | Yes | |
- | X86 | SYS TEC USB-CANmodul series, SYS TEC CAN-Ethernet Gateway, PEAK PCAN-PCI, PEAK PCAN-USB, Vector CANcaseXL, Tews Technologies TPMC 816 | Microsoft Windows OS | Microsoft Visual Studio | Yes | Yes | CiA 401 | Yes | |
Atmel | AT90 AVR | internal | - | AT90CAN128 | IAR Embedded Workbench | Yes | No | CiA 401 | Yes |
Atmel | AT90 AVR | internal | - | AT90CAN128 | Atmel Studio | Yes | No | CiA 401 | Yes |
Atmel | AT91 ARM7 | internal | - | AT91SAM7A3 | Keil uVision | Yes | No | CiA 401 | Yes |
Cypress / Fujitsu | F2MC-16FX | internal | - | MB96F348 | Softune Workbench | Yes | No | CiA 401 | Yes |
Enclustra | Mars ZX3 | ZYNQ CAN Controller | eCos | Zync Z-7020 SoC | GCC Eclipse | Yes | No | CiA 401 | Yes |
F&S | armStone A9 | internal FlexCAN | Windows Embedded Compact 7 | Microsoft Visual Studio | Yes | No | CiA 401 | Yes | |
Freescale | Kinetis K60 | internal FlexCAN | - | No | No | No | |||
Infineon | XMC4xxx | internal MultiCAN | - | XMC4500 | Keil uVision | Yes | No | CiA 401 | Yes |
Infineon | TriCore TC1766 | internal MultiCAN | PxROS | TC1766 | GCC | Yes | No | CiA 401 | Yes |
Infineon | TriCore TC1796 | internal MultiCAN | PxROS | TC1796 | GCC | Yes | No | CiA 401 | Yes |
Infineon | XC22xx | internal MultiCAN | - | XC2287 | Tasking | Yes | No | CiA 401, CiA 304 SRDO (requires SO-1059) | No |
Microchip | PIC32MX | internal ECAN | - | PIC32MX795F512L | Microchip MPLAB | Yes | No | CiA 401 | Yes |
Microchip | dsPIC33F | internal ECAN | - | dsPIC33F256 | Microchip MPLAB | Yes | No | CiA 401, Bootloader (requires SO-1089) | Yes |
Microchip | external MCP2515 | No | No | Yes | |||||
NXP, Phytec | phyCORE-ADuC | external SJA1000 | - | ADuC812 | Keil uVision | Yes | No | CiA 401 | Yes |
NXP | LPC17xx | internal NXP CAN controller | - | LPC1768 | Code Red Tech - LPCXpresso | Yes | No | CiA 401 | Yes |
NXP | LPC21xx | internal NXP CAN controller | - | LPC2129 | Keil uVision | Yes | No | CiA 401 | Yes |
NXP | LPC22xx | internal NXP CAN controller | - | LPC2294 | IAR Embedded Workbench | Yes | No | CiA 401 | Yes |
NXP | LPC23xx | internal NXP CAN controller | - | LPC2368 | Keil uVision | Yes | No | CiA 401 | Yes |
NXP | LPC2xxx | internal NXP CAN controller | - | LPC2129, LPC2294, LPC2368 | No | No | Bootloader (requires SO-1089) | No | |
Phytec | phyCORE-AM335x | SocketCAN | Linux | AM3359 | GCC | Yes | No | CiA 401 | Yes |
Renesas | Synergy S7 | internal | Express Logic ThreadX | Synergy S7G2 | e2 studio | Yes | No | CiA 401 | No |
Renesas | Synergy S5 | internal | Express Logic ThreadX | Synergy S5D9 | e2 studio | Yes | No | CiA 401 | No |
Renesas | Synergy S3 | internal | Express Logic ThreadX | Synergy S3A7 | e2 studio | Yes | No | CiA 401 | No |
Renesas | Synergy S7 | internal | - | Synergy S7G2 | e2 studio | Yes | No | CiA 401 | No |
Renesas | Synergy S5 | internal | - | Synergy S5D9 | e2 studio | Yes | No | CiA 401 | No |
Renesas | Synergy S3 | internal | - | Synergy S3A7 | e2 studio | Yes | No | CiA 401 | No |
Renesas | RX62T | internal | - | No | No | Yes | |||
Silicon Laboratories | C8051 | internal BoschCAN | - | C8051F043 | No | No | No | ||
STMicroelectronics | STM32F | internal bxCAN | - | STM32F407 | Keil uVision | Yes | Yes | CiA 401, CiA 304 SRDO (requires SO-1059) | Yes |
STMicroelectronics | STM32F | internal bxCAN | Segger embOS | STM32F107 | IAR Embedded Workbench | Yes | No | CiA 401 | Yes |
STMicroelectronics | STM32F | internal bxCAN | - | STM32F107 | Keil uVision | Yes | No | CiA 401 | Yes |
STMicroelectronics | STM32F | internal bxCAN | - | STM32F107, STM32F072 | IAR Embedded Workbench | No | No | Bootloader (requires SO-1089) | No |
Texas Instruments | AM335X | SocketCAN | Linux | AM3359 | GCC Eclipse | Yes | No | CiA 401 | Yes |
Texas Instruments | TMS570 | internal DCAN | - | TMS570LS20216 | Code Composer Studio | No | No | CiA 304 SRDO (requires SO-1059) | Yes |
Texas Instruments | Hercules RM48 | internal DCAN | - | RM48L952 | Code Composer Studio | No | No | CiA 304 SRDO (requires SO-1059) | Yes |
Texas Instruments | Hercules RM42 | internal DCAN | - | RM42L32 | Code Composer Studio | No | No | CiA 304 SRDO (requires SO-1059) | Yes |
Texas Instruments | Stellaris® LM3S | internal BoschCAN | - | LM3S8971 | Keil uVision | Yes | No | CiA 401 | Yes |
Xilinx | ZYNQ7000 | ZYNQ CAN Controller | eCos | Zync Z-7020 SoC | GCC Eclipse | Yes | No | CiA 401 | Yes |
Xilinx | ZYNQ7000 | ZYNQ CAN Controller | Micrium μC/OS-II | Zync Z-7010 SoC | GCC Eclipse | Yes | No | CiA 401, CiA 402 (requires SO-1081) | No |
• CiA 301 compliant CANopen Source Code
• Complete source code set of CANopen master and slave services included
• 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 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 / N | Description |
---|---|
SO-877 | CANopen Source Code CANopen Protocol Stack Source Code (NMT Master & Slave), ODBuilderII, Documentation, facility-related CANopen Stack company license without runtime fees incl. 12 month updates and support |
SO-877-VP | CANopen Source Code Value Pack CANopen Protocol Stack Source Code (NMT Master & Slave), 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 |
5006008 | Lizenzerweiterung für CANopen Stack for project-related, time-limited using by external development partners |
Tecnologix offers support which is directly handled by development team. Do not hesitate to get in touch with our experts.
Just ask here