Embedded Development Tools

The CANopen Store

Visit the main Embedded Systems Academy site for technical information and more related to CAN, CANopen and embedded systems!

MicroCANopen

European customers must order from our European store at www.canopenstore.eu.

Small footprint, flexible CANopen stack. Designed to run on 8-bit microcontrollers with limited resources. Easy to adapt to specific applications. Royalty free. Written in C.

Purchase
Price: Varies depending on requirements

MicroCANopen is a low-cost, small-footprint CANopen® implementation. Ideal for situations requiring minimal configurability but great performance especially on 8-bit microcontrollers.

Designed and implemented by the authors of the book "Embedded Networking with CAN and CANopen" and members of the CAN in Automation User's Group.

MicroCANopen is written in 100% standard C code. As a consequence, clients can decide to port the software to processors not yet supported, including microprocessors, microcontrollers and DSPs. Designers familiar with their target processor can easily perform the port themselves.

 

Adapt the basics

MicroCANopen does not aim at 100% CANopen® conformance. While it can be made 100% conformant, the primary idea behind MicroCANopen is to implement the minimal set of features that is required to cover standard communication methods and that allow making use of exiting CANopen® tools like configurators and analyzers. If the system growths in the future, an upgrade path is already laid out - upgrading to "true" CANopen® does not require any changes in the communication channels.

Minimal resource requirements

Even on 8051 derivatives, MicroCANopen can fit in as little as 4k of code and about 170 bytes of RAM. Full-featured CANopen® implementations are sometimes more in the range of 40k-60k of code and 600 or more bytes of RAM.

Minimal learning curve

MicroCANopen reduces the learning curve for newcomers to CANopen®. As advanced features are not implemented, engineers do not need to learn about them immediately. For example, MicroCANopen allows the transmitting and receiving of CAN messages with process data, without needing the process of "mapping variables from an Object Dictionary into PDOs - Process Data Objects".

Features

The following is a non-exhaustive list of features in MicroCANopen:

  • NMT State Machine
  • Heartbeat
  • Object Dictionary (OD) with entries of up to four bytes
  • Expedited SDO
  • TPDO trigger by COS
  • TPDO with Event Timer and Inhibit Time

Suggested Application Usage

MicroCANopen is best suited for minimal CANopen® slaves that are pre-configured and do not need to be re-configured during operation. CAN baud rate, the node ID and all PDO parameters are known at implementation and hard-coded into the module.

Comparison Between CANopen Implementations

Feature MicroCANopen MicroCANopen Classic MicroCANopen Plus
CANopen Architect EDS for automatic code generation included  
check
Network Management state machine with autostart option check check check
Heartbeat producer, object [1017h] check check check
Heartbeat consumers, objects [1016h]   check check
Emergency Producer, objects [1014h] and [1015h]   check check
Error and Emergency History, objects [1003h]  
check
Emergency Consumer, objects [1028h]   check check(M)
Node Guarding responses (deprecated by CiA)   check check
Run-time configuration of OD and PI via Task Setup File
   check  

Object Dictionary support for any data type per entry
SDO Expedited, Segmented and Block Transfer mode supported

Only up to 4 bytes
check check
Dynamic PDO communication parameters (objects [14xxh] and [18xxh] writable)   check check
Dynamic PDO mapping parameters (objects [16xxh] and [1Axxh] writable)    check  
Store PDO parameters in non-volatile memory (objects [1010h], [1011h] and [1020h])   check check
TPDO trigger by Event Time check check check
TPDO trigger by COS with Inhibit Time check check check
TPDO and RPDO trigger by SYNC   check check
TPDO trigger by RTR (deprecated by CiA)
   check  
TPDO trigger by application     check
CiA305 Layer-Setting Services (LSS)
  checkRegular
checkRegular/FastScan
SDO Clients   check
check(M)
NMT Master   check
check(M)
Time Stamp Object processing     check
CANopen Wake-up support     check
Flexible integration into RTOS   check check
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    check  
CiA447 Car Add On Devices Support     check(447)
check(M) = With optional Manager Add-on
check (447) = With optional CiA447 Add-on
 
pip/canopen-architect-eds.html

CANopen Kits

This product is also available as part of a kit. Buy a bundle of software and save money!
View the available kits.

 

Purchase
Price: Varies depending on requirements