English / 联系我们 / 设为首页 / 加入收藏
 您现在的位置 > Embedded Software
CANopen Stack
Efficient CANopen implementation with maximum performance

CMX-CANopen allows for optimized implementations of CANopen conformant devices.

CMX-CANopen was developed to allow for maximum task optimization, especially when used with an RTOS such as CMX-RTX. Even without an RTOS, CMX-CANopen allows adapting the execution priorities of critical tasks making CMX-CANopen one of the best performing CANopen stacks available.

ROM Specifications: 8K - 18K bytes (for CANopen Slaves)

Supported Features
NMT State Machine
Heartbeat Producer
Node Guarding Response
Object Dictionary (OD) with SDO server
Expedited and segmented
SDO transfer
Static PDO Mapping
Dynamic PDO Mapping
PDO with event time
PDO with inhibit time
Emergency Producer
LSS Slave
Non-volatile memory support
Central task control in one module

Master Features
NMT Master Message
LSS Master
SDO Client
Network Scanner
Heartbeat Consumer
Emergency Consumer

CMX-CANopen has been developed applying the CMX spirit: provide an elegant solution minimizing the resources required and maximizing the performance. After all, if an implementation uses less code it also executes faster! Our developers have the expertise and hands-on experience to satisfy the most stringent real time demands that the embedded community deals with every day. With CMX-CANopen we created a new level of performance and quality for CANopen implementations:

Efficient Implementation

The CANopen Process Data Objects (PDO) allow for a very flexible configuration allowing a single CANbus message to be filled with a combination of variables available in the Object Dictionary (OD) of a node. This PDO mapping process is implemented so efficiently in CMX-CANopen, that in most cases an incoming Receive PDO (RPDO) can be processed right in the CANbus interrupt service routine.

Advanced Task Control.

All major tasks performed in CMX-CANopen are controlled from one single module. If CMX-CANopen is not used with an RTOS, the execution of tasks can still be optimized towards an application. In general, tasks can be executed within the CAN interrupt service routine, a timer interrupt service routine or in the background. This even allows processing different PDOs at different priority levels.


When designing multiple CANopen devices that only vary slightly (for example in some Object Dictionary (OD) entries and/or in PDO configuration) it is desirable to only develop and maintain one version of the code. With CMX-CANopen the entire OD and the PDO configuration can be stored in non-volatile memory. As a result, the configuration of a node can be changed drastically just by downloading a configuration file (download via CANopen supported).

An Affordable Pricing Structure.
CMX-CANopen offers a low, one-time fee and no royalties on deployed products. And you get the entire source code for with every purchase!

Supported Processors
Atmel T89C51CC0x (8051)
Freescale 56F83xx
Freescale 68HC12
Freescale Power Architecture Technology
Infineon C16x and XC16x
Philips LPC2000 (ARM7)
Philips 8xC591 (8051)
Philips XA-C37

Looking for more in a CANopen Protocol Stack?
CMX-CANopen is delivered with two examples for implementations of the CANopen Device Profile DS401 - generic I/O. Additional and customized examples are available upon request and can include Device Profile Implementations such as Joysticks, Encoders (DS406), Batteries (DSP418), Chargers (DSP419) or Elevators/Lifts (DSP417).

All our examples pass the official CANopen Conformance Test!

CMX-CANopen has been designed for maximum portability and is written in 100% standard C code. As a consequence, clients can decide to port the software to processors not yet supported directly by CMX, including microprocessors, microcontrollers and DSPs. Our developers are confident that designers familiar with their target processor can easily perform the port themselves. Contact CMX for an in-depth discussion with one of our developers about this option.

Important Features of CMX-CANopen
Extremely Small ROM/RAM Requirements
Device Setup via Non-Volatile Memory
Supports Virtually All 8-, 16-,32-bit Processors and DSPs
Use of Internal CAN Interface or External
No Proprietary Protocols
Runs Stand Alone or with RTOS
Central Task Control
Economical One Time Fee
Full Source Code Provided
No Royalties on Deployed Products
Excellent Documentation and Support


Flash Technology飞思德晶华贸易(上海)有限公司版权所有 电话:8621-61457130 沪ICP备11027505号-1"