Back to ESAcademy Home Page


MicroCANopen

MicroCANopen

Minimal CANopen Implementations

 
CANbus USA (Controller Area Network)
CANopen USA
CANopen Applications Examples

CANopenIA Instant Access to CANopen

CANopen Magic Monitoring, Configuration and Test Tool for CANopen

About the Current Release: V3.30

Need Development Tools?

PCANopen Magic
Low cost CANopen network monitoring and control. Also available with a PEAK CAN interface.

CANopen Architect EDS
Affordable Electronic Datasheet creation and editing.

Many more tools, source code and services available from
The CANopen Store!

For many embedded networking applications CAN, the Controller Area Network, is a preferred choice as CAN interfaces are present on microcontrollers from more than 25 different chip manufacturers. However, CAN itself is not sufficient to implement a communication network - a higher-layer protocol is needed to provide pre-defined communication functions. For applications that just use a few nodes and messages, many engineers still tend to develop their own higher-layer protocol, as full protocol stacks like CANopen seem to be an overkill for their application.

Click here to learn more about CANopenWhat is MicroCANopen?

MicroCANopen is a minimal CANopen implementation targeted at embedded networking applications. To learn more about CANopen, go to CANopen.us. The tutors of ESAcademy implemented MicroCANopen with several goals in mind:

  1. Adapt the basics
    MicroCANopen does not aim at 100% CANopen conformance. While it can be made 100% conformant (since V2.00), the primary idea behind MicroCANopen is to simply adapt 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.
  2. Minimal resource requirements
    Full-size CANopen implementations require more resources than some of the latest 8-bit microcontrollers with CAN interface have. On 8051 derivatives, MicroCANopen can fit in as little as 4k of code and about 170 bytes of RAM. Full-featured CANopen implementations often require a multiple of these resources.
  3. 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.
  4. Easy Source Code Configuration
    Since release V3.30 MicroCANopen can include C source files generated by the electronic data sheet editor CANopen Architect EDS. Using this editor, developers can specify the CANopen features and functions required and export C source files for MicroCANopen.
  5. Easy Migration to MicroCANopen Plus
    The 'Plus' Version of MicroCANopen includes the most often needed CANopen functions. MicroCANopen Plus is part of our CANopen Magic ProDS Development System.

Implementation

MicroCANopen requires two interfaces.

There is a CAN hardware interface between the CAN controller and the CANopen stack. To keep MicroCANopen simple and portable, this driver has to take care of all microcontroller specific and real-time issues that occur in embedded applications. This includes both timer and CAN interrupt service routines.

The application interface towards the user program provides the functions to initialize the communication and pass on process data back and forth.

Learn more about the interfaces:

Learn more about the implementation

Upcoming Classes

Comparison of CANopen with MicroCANopen

  CANopen Standard MicroCANopen MicroCANopen Plus
CAN baud rates 10k, 20k, 50k, 125k, 250k, 500k, 800k, 1M 10k, 20k, 50k, 125k, 250k, 500k, 800k, 1M 10k, 20k, 50k, 125k, 250k, 500k, 800k, 1M
Max. nodes per segment 127 127 127
Network Management Controlled by NMT Master or autostart Controlled by NMT Master or autostart Controlled by NMT Master or autostart

Node guarding / heartbeat

Heartbeat usage recommended by CiA Heartbeat Producer Heartbeat Producer and Heartbeat Consumer
Emergency Support Emergency Producer and Consumer Not supported Emergency Producer
Non-Volatile Memory support for configuration Current configuration can be saved Not supported Current configuration can be saved
Object Dictionary:
Entries
Any type, any size Only data types with a size of up to 32-bit Almost any type and size
Object Dictionary:
Maximum size of all process data
Unlimited 254 Bytes 65,534 Bytes
Maximum number of PDOs (process data msg) 1024 8 254
PDO Configuration:
Communication Parameters
CAN ID used and triggering methods configurable Static pre-configured, hard-coded configuration CAN ID used and triggering methods configurable
PDO Configuration:
Mapping Parameters (data contents)
PDO message contents can be dynamically re-configured Static PDO message contents is hard-coded (import from EDS editor) Static PDO message contents is hard-coded (import from EDS editor)
PDO Configuration:
Transmission Trigger
Any combination of time-based, polled, change-of-state, synchronized or manufacturer specific. Inhibit time supported. Time-based and/or change-of-state only. Inhibit time supported.
 
Time-based and/or change-of-state. Inhibit time supported. SYNC supported
Layer-Setting Services and FastScan Node ID and bit rate configurable Not supported Node ID configurable
 

Trace window showing the boot-up-sequence of a MicroCANopen Node

Trace recording

Node ID is 3, the heartbeat time is 2.5 seconds and the node has two transmit PDOs using their default (pre-defined) CAN identifiers.

Request MicroCANopen Source Code

Request the free MicroCANopen source code with examples for the NXP LPC2119 and the Atmel T89C51CC01. Once you registered, the distribution file will be emailed to you.

Online Class

We have an online class explaining MicroCANopen V1.xx and walking through an implementation example. View it now.

Commercial Usage

Although we allow the free download of MicroCANopen the license included is purely an educational license and not for usage in commercial projects.

To use MicroCANopen commercially, buy the $495 license from the
The CANopen Store!

For applications where full CANopen conformance and minimum configuration through the network is required we recommend MicroCANopen Plus.

Support and Feedback

Your feedback is gratefully appreciated. We will consider all suggestions for improving MicroCANopen. For bugs and feedback please send Email to:

Note that due to a high amount of spam email received the link above is not an active link anymore. Please use your email program and hand-type the address into the TO: field to send us an email. We apologize for the inconvenience.

MicroCANopen related publications:

© Embedded Systems Academy, Inc. All Rights Reserved.

San Jose, CA
Tel. (877) 812-6393
Fax. (877) 812-6382

www.esacademy.com
info@esacademy.com