Open search

CANopen software

Platform-independent protocol stack

Simma Software (US) is the latest member of CAN in Automation. It provides a CANopen protocol stack that can be used on any platform with an 8/16/32-bit micro-controller.

CANopen CPU cycles per message (Photo: Simma Software)

The company’s CANopen source code uses an application program interface (API) for sending and receiving CANopen messages. It is written entirely in the C programming language and can be used on any platform with an 8/16/32-bit micro-controller, either with or without an operating system. The company claims that benchmarks have shown the stack to be 800 % more efficient than other commercially available solutions.

The CANopen protocol stack software abstracts away the technical details and many complexities associated with message timing and interfacing to the CANopen networks. The software supports multiple CAN channels with a maximum of 512 TPDOs and RPDOs. Also supported are expedited SDO transfers, NMT messages, heartbeat producing, and PDO event/inhibit timers. The protocol stack is Misra C compliant, runs with or without an RTOS, and comes with multi-channel support.

CANopen code size comparison (Photo: Simma Software)

Deliverables include the CANopen protocol stack, a documented source code, a complete user’s manual, and examples showing how to send and receive CANopen messages. According to the company, its protocol stacks, device drivers, and bootloaders have been used in more than a million embedded systems, by automotive OEMs and in more than 200 real-time designs. Simma Software is specialized in real-time communication protocols for the embedded systems industry. The product line includes solutions for J1939, CANopen, CAN, J1587, J1708, J2497, J1922, ISO 15765, OBD-II, UDS, and KWP2000. The company just became a member of CAN in Automation and received a CANopen vendor-ID.

CANopen refreshment

CANopen is a real-time protocol used in automation, automotive, and medical equipment. It handles the data link, transport protocol, network management, and application layers. CANopen uses CAN as the physical layer with bit-rates ranging from 125 kbit/s to 1 Mbit/s. Several different application layers exist and are known as device profiles. For example, CiA 401 defines the application layer (i.e. device profile) for a generic I/O device while CiA 402 defines operation for servo drives, frequency inverters, and stepper motors. Altogether there are more than 50 separate and defined device profiles.


Publish date

Simma Software