Why and how to migrate to CANopen FD?

18/05/2021 by Torsten Gedenk - Emotas Embedded Communication GmbH

CANopen FD in a nutshell

CANopen FD is the successor to CANopen – the popular industrial CAN-based network that has been around for more than 25 years. The new CANopen FD protocol has been standardized by CAN in Automation (CiA), the international CAN users’ and manufacturers’ group, with the specification published in CiA 1301. Based on CAN FD, CANopen FD supports higher bit rates and longer frames of up to 64 bytes compared to 8 bytes in classical CAN. The main objective of the specification was to remain as close as possible to CANopen but to make best use of new features within CAN FD and improve the services that benefit most from CAN FD. Most CANopen features are still available in CANopen FD, such as:

  • An object dictionary with 16-bit indices and 8-bit sub-indices to address parameters, configuration data and process data.
  • The Process Data Object (PDO) service to exchange process data as broadcast messages – using up to 64 bytes of the CAN FD frame.
  • The well-known Network Management (NMT) state machine.

Some services have been improved:

  • The Emergency (EMCY) service to asynchronously transmit alarm messages to provide more detailed information.

And with the Universal Service Data Object (USDO) service that replaces the Service Data Object (SDO) protocol in CANopen, new, more powerful features have been added:

  • Easier point-to-point USDO communication.
  • New broadcast potential for parameter/configuration download and upload or even firmware download using CANopen FD’s USDO service.

CANopen FD in the market

The number of available CANopen FD devices in the market is still small, although several companies use CANopen FD as an embedded network in their own devices or networks. In most of these cases, the device manufacturers don’t mention that CANopen FD is inside, so market visibility is limited. Known use cases among our customers are back-bones in modular, industrial IO-modules, a crane control system and a proprietary communication network for large-scale heating components.

Nevertheless, all the necessary components are available for successful CANopen FD development. Nearly all microcontroller manufacturers provide microcontrollers with integrated CAN FD controllers and stand-alone CAN FD controllers are available from different sources. A CANopen FD protocol stack is an advantage because it shortens development time drastically. To monitor devices during development, a physical connection to the bus is needed. Kvaser offers many different CAN FD interfaces that, together with emotas’ CANopen FD protocol stack and CANopen FD tool chain, make it possible to begin developing CANopen FD devices quickly.

Switching to CANopen FD or using it instead of a proprietary protocol, device manufacturers benefit from the higher bandwidth, faster response times and new CANopen FD features, whilst leveraging CANopen experience that has often been gained over decades.

A potential migration path could be to develop new devices that support both CANopen and CANopen FD. These devices could be used in old installations with CANopen and in new CANopen FD networks.

A CANopen FD tool chain

As mentioned above, a CANopen FD protocol stack is required to develop CANopen FD devices. Such a protocol stack implements the CANopen FD protocol by interpreting the CAN FD messages according to CANopen FD and vice versa, composing CAN FD messages that follow the CANopen FD specification. A CANopen FD stack handles all communication tasks, allowing the application developer to focus on the application itself, including connecting the application to the protocol stack.

Emotas’ CANopen FD stack can be used with various microcontrollers or on PC-based systems with CAN FD interfaces. Although CANopen FD protocol stack represents the core of each development, the development process is simplified by a comprehensive tool chain that has been built around the stack.

emotas tool chain chart

Besides a CAN FD interface, everyone working with CAN FD needs a CAN FD analyzer. There are various analyzers available, but most lack the capability to interpret CAN FD messages according to the CANopen FD protocol. That is where emotas’ CANinterpreter enters the stage, providing a detailed interpretation of all CANopen FD messages.

To develop a CANopen FD network, one usually starts with the design of the object dictionary. This task can be simplified by emotas’ CANopen DeviceDesigner, a GUI tool that defines the object dictionary based on existing object databases or imported device description files and target specific customization of the objects and CANopen FD services. Based on all inputs, the tool generates an object dictionary representation as C structures (an ANSI-C file) which is linked to the stack and application, but also an XML device description file (XDD) according to CiA specification CiA 1311.

When a complete new CANopen FD network consisting of multiple CANopen FD devices is envisaged, emotas’ CANopen NetworkDesigner is recommended over CANopen DeviceDesigner, which is for single CANopen FD device development. As the name suggests, CANopen NetworkDesigner enables a complete CANopen FD network with multiple devices to be designed, with the tool handling all communication relationships between devices.

When developing CANopen FD devices, a CANopen FD host controller will usually be required as a counterpart to the communication. A PLC or other hardware can be used, but in many situations, the full flexibility of a tool like emotas’ CANopen DeviceExplorer is beneficial. In addition to the CANopen FD interpretation features of emotas’ CANinterpreter, CANopen DeviceExplorer includes analysis and configuration functionality. It can send and receive USDOs, PDOs, NMT commands and many more. An integrated scripting language enables programming of automated test or configuration tasks.

To complete the CANopen FD tool chain, emotas offers a CANopen FD bootloader and CANopen UpdateManager that can update single CANopen FD devices or complete CANopen FD networks with new firmware via CANopen FD.

All mentioned emotas tools and protocol stacks can be used with Kvaser CAN FD interfaces on Windows, Linux and some Mac OS X, using can4osx.