MicroCANopen Classic
European customers must order from our European store at www.canopenstore.eu.
Powerful and flexible CANopen compliant source code. Designed for small-footprint and high-performance applications with many tuning options. Including a wide range of features including dynamic PDO mapping and legacy CANopen features, this stack is ideal for standalone, off-the-shelf CANopen slave devices.
| Purchase | |
|---|---|
| Price: Varies depending on requirements | |
Efficient CANopen® implementation with maximum performance. MicroCANopen Classic was developed to allow for maximum task optimization, especially when used with an RTOS. Even without an RTOS, MicroCANopen Classic allows adapting the execution priorities of critical tasks making MicroCANopen Classic one of the best performing CANopen® stacks available.
Efficient Implementation. The CANopen® Process Data Objects (PDO) allow 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 MicroCANopen Classic, 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 MicroCANopen Classic are controlled from one single module. If MicroCANopen Classic 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.
Flexibility. 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 MicroCANopen Classic 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).
Portable. MicroCANopen Classic is written in 100% standard ANSI C code allowing for straightforward porting. For targets without standard support packages, designers familiar with their target processor can easily perform the port themselves. Or, ask us for a quote to add support to your target!
Compact. ROM Specifications: 8K - 18K bytes (for CANopen® Slaves) depending upon processor and options selected.
An Affordable Pricing Structure. MicroCANopen Classic offers a low, one-time fee and no royalties on deployed products and includes all source code with every purchase.
Features
The following is a non-exhaustive list of features in MicroCANopen Classic:
-
NMT State Machine
-
Object Dictionary with Process Image
-
Expedited, segmented and block-transfer SDO
-
SDO Clients
-
Dynamic PDO mapping
-
PDO with runtime-configurable event time, inhibit timer and transmission type
-
PDO with SYNC
-
TPDO with RTR trigger (select platforms)
-
Heartbeat Generator
-
Heartbeat Consumers
-
Emergencies
-
Node Guarding (select platforms)
-
Non-volatile save/restore of parameter
-
Device setup via non-volatile memory
-
NMT Master primitives
-
Extensive call-back API interface
-
Central task control in one module, runs with or without RTOS
What's Included
MicroCANopen Classic 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!
Full documentation is supplied. All software products include a one-year maintenance and priority support agreement that can be extended anytime.
Currently Available Ports
The following list is the microcontrollers and compiler combinations that MicroCANopen Classic is currently available for. For additional combinations you can either perform the port yourself or we can perform it for you.
-
Freescale 56F8300 w/ CodeWarrior
-
C166 and XC166 w/ Keil, Tasking
-
Atmel AT89C51CC0x w/ Keil
-
NXP LPC21xx/LPC22xx w/ GNU, Keil
-
Fujitsu w/ Softune
-
Freescale PPC w/ Tasking
-
Freescale S12 w/ CodeWarrior
-
NXP XAC3 w/ Raisonance
- Renesas R8C23 w/ HEW (High-performance Embedded Workshop)
-
PC Simulation (with PCANopen Magic ProS)
Comparison Between CANopen® Implementations
| Feature | MicroCANopen | MicroCANopen Classic | MicroCANopen Plus |
|---|---|---|---|
| CANopen Architect EDS for automatic code generation included | |||
| Network Management state machine with autostart option | |||
| Heartbeat producer, object [1017h] | |||
| Heartbeat consumers, objects [1016h] | |||
| Emergency Producer, objects [1014h] and [1015h] | |||
| Error and Emergency History, objects [1003h] | |||
| Emergency Consumer, objects [1028h] | |||
| Node Guarding responses (deprecated by CiA) | |||
| Run-time configuration of OD and PI via Task Setup File |
|
||
|
Object Dictionary support for any data type per entry |
Only up to 4 bytes |
||
| Dynamic PDO communication parameters (objects [14xxh] and [18xxh] writable) | |||
| Dynamic PDO mapping parameters (objects [16xxh] and [1Axxh] writable) | |
||
| Store PDO parameters in non-volatile memory (objects [1010h], [1011h] and [1020h]) | |||
| TPDO trigger by Event Time | |||
| TPDO trigger by COS with Inhibit Time | |||
| TPDO and RPDO trigger by SYNC | |||
| TPDO trigger by RTR (deprecated by CiA) |
|
||
| TPDO trigger by application | |||
| CiA305 Layer-Setting Services (LSS) |
|||
| SDO Clients | |||
| NMT Master | |||
| Time Stamp Object processing | |||
| CANopen Wake-up support | |||
| Flexible integration into RTOS | |||
| Maximum number of RPDOs/TPDOs | 4/4 | 512/512 | 512/512 |
| Maximum size of process image storing all data that can be mapped to PDOs (in bytes) | 254 | 65,534 | 65,534 |
| Smallest timer tick resolution available | 1ms | .1ms | 1ms |
| Minimal SDO Manager | |
||
| CiA447 Car Add On Devices Support |
| Purchase | |
|---|---|
| Price: Varies depending on requirements | |



