CANopen FD – The art of embedded networking

CANopen FD is an advancement of CANopen, a communication system based on CAN FD. It comprises higher-layer protocols and profile specifications. CANopen FD has been developed with special regard to making use of CAN FD’s higher data throughput, by keeping the key-attributes of CANopen. CANopen FD offers a high data throughput, advantageous for data demanding cloud applications. Embedded systems that can be modified by the end user during system run-time, benefit from the new USDO that allows a dynamical, simple establishment of cross-communication, in unicast and broadcast.

As we can expect a broad range of micro-controllers with integrated CAN FD controllers, CANopen FD is available as improved, flexible, robust, and reliable communication medium for application fields, where CANopen is used today.

CANopen FD unburdens the developer from dealing with CAN hardware-specific details such as bit timing and acceptance filtering. It provides standardized communication objects (COB) for time-critical processes, configuration as well as network management data.

CANopen FD and the IIoT

Major tasks in future embedded networking are the integration of embedded networks in Cloud-applications, providing lots of “nice to have data” to “big data applications”, meeting increasing security requirements, etc. CANopen FD was designed in order to meet the requirements of future embedded networking. The high communication flexibility, thanks to the powerful USDO, enables e.g. a CANopen FD / IIoT gateway simple access to any data element, provided in the embedded CANopen FD network architecture. In addition to the transfer of any size of data in the local network, CANopen FD’s inherent routing capability allows accessing CANopen FD devices connected to a remote network as well.

CANopen FD keeps the CANopen object dictionary almost unchanged. Therefore CANopen FD can easily make use of the harmonized application data, specified in more than 10 000 pages of existing and wide-spread implemented CANopen device and application profiles. This way CANopen FD devices can support a high degree of plug and play capability and cloud-based applications can safe processing power as formatting the data is eased.

The increased payload provided by data transport-oriented CANopen FD protocols, allows meeting supporting advanced concepts for security as well as functional safety.

CANopen FD at a glance

CANopen FD provides several communication objects, which enable device designers to implement desired network behavior into a device. The communication objects PDO, USDO, SYNC, TIME, EMCY, NMT and Error Control allow CANopen FD devices to communicate configuration and process data in broadcast and unicast, indicate device-internal error conditions or influence and control the network behavior. CANopen FD functions enable a simple management of dynamically changing network setups. The CANopen FD internal device structure, is identical to that defined in CANopen. CANopen users can therefore reuse lot of their CANopen knowledge, in case they use CANopen FD.

CANopen FD lower layers

CANopen FD demands a physical layer implementation according to ISO 11898-2:2016, capable to support bitrates of up to 5 Mbit/s. Implementations according to ISO 11898-2:2016 may support a low-power mode as well as the selective wake-up capability. Therefore CANopen FD is already enabled to support sophisticated power saving concepts. With regard to the cabling and topology, CANopen FD refers to the CiA 6xx specification series. In addition to recommendations on how to setup a CAN-FD based network, the responsible IG CAN FD is currently specifying cable parameters that shall be supported by cables used for CAN-FD based networking.

The bit timing for CANopen FD is provided in CiA 1301. For CAN clocks with a frequency of 80 MHz, CANopen FD specifies bit rates for arbitration and data phase. Those given bit rates can be easily combined, because all defined bit rates are based on the same time quantum. For being future-proof, CANopen FD supports bit rates up to 10 Mbit/s in the data phase, however todays CAN implementations are designed to support bit rates up to 2 or 5 Mbit/s.

The CANopen FD data link layer is based on ISO 11898-1:2015 and utilizes for all communication protocols, the CAN FD frame format. CANopen FD does not differentiate whether the data is communicated in CAN FD frames with or without bit rate switching. In contrast to CANopen, CANopen FD does not support CAN remote frames.

Internal device architecture

A CANopen FD device consists of three logical parts. The CANopen FD protocol stack handles the communication via the CAN FD network. The application software provides the internal control functionality as well as the interface to the process hardware interfaces. The CANopen FD object dictionary interfaces the protocol- as well as the application software. It contains references (indices) for all used data types and stores all communication and application parameters.

The CANopen FD object dictionary is most important for CANopen FD device configuration and diagnostics. As device-internal reference, a 16-bit index, which is given as 4-digit hexadecimal value, is used. The index range 1000h to 1FFFh provides references to all parameters that determine the CANopen FD communication behavior of the CANopen FD device. The index range 2000h to 9FFFh provides the references to all application-related parameters. CANopen FD distinguishes between proprietary parameters (index range 2000h to 5FFFh) and standardized parameters (index range 6000h to 9FFFh).

CANopen FD protocols

A CANopen FD protocol stack controls the CAN FD communication of a CANopen FD device. The CANopen FD protocols stack provides several CANopen FD COBs for configuration, diagnosis and control purposes. Therefore a CANopen FD user is enabled to transfer control information, to react to certain error conditions or to influence and control the network behavior. CANopen FD is very scalable and the CANopen FD protocol stack can be tailored to the required functionality on the one hand and to the available resources on the micro-controller on the other hand. The capabilities supported by a CANopen FD device can be evaluated by checking the existence of the related object dictionary entries that describe the communication behavior.