Open search

CAN Newsletter magazine

CANopen devices in J1939 networks

There are many CANopen devices, especially sensors, which are not available with standardized J1939 interfaces. However, J1939 system designers like to use them, in particular in construction machines and similar applications.

The complete article is published in the December issue of the CAN Newsletter magazine 2020. This is just an excerpt.

(Source: Adobe Stock)

Cranes use heavily encoders and inclinometers, for example. There are many CANopen encoders and inclinometers on the market complying with CiA 406 respectively CiA 410 profile specifications. But some original equipment manufacturers (OEM) are J1939-minded, because they have experience with this CAN-based application layer approach. Therefore, some CANopen sensor suppliers provide manufacturer-specific J1939 interfaces for their products. Interoperability and interchangeability were falling by the sideway.

CiA 406-J and CiA 410-J specifications

This situation could be overcome by mapping CANopen profiles to the J1939 application layer. The idea is simple. The PDOs (process data objects) are mapped to parameter groups (PG) as specified in J1939-21. These 8-byte messages use 29-bit identifiers containing the PGN (parameter group number). CiA (CAN in Automation) has requested from SAE International dedicated PGNs for encoders and inclinometers. They include the process data as specified in the corresponding CiA 406 respectively CiA 410 profiles. Because J1939 networks are self-starting without the need of a dedicated network manager, the implemented PGs are transmitted after power-on. The sensor behavior is very similar to the default behavior of a CANopen sensor.

Encoders provide by default position values in one PG as well as optionally calculated velocity or acceleration values in other PGs. Inclinometers send their axis angle values in standardized PGs. These PGs use PGNs assigned by SAE, but the details are specified in CiA 406-J respectively (CiA 410-J).

Figure 1: CANopen-compliant sensors such as encoders and inclinometers can be used in J1939 networks, when they implement the parameter groups specified in CiA 510, CiA 406-J respectively CiA 410-J; the CAM11 and CAM21 parameter groups, providing SDO-compliant functions, allow access to the CANopen object dictionaries in the sensors to write and to read parameters and process data (Source: CiA)

CANopen protocols on J1939

In order to change the behavior, like in CANopen devices, the CiA 406-J and CiA 410-J sensors provide the same configuration parameters. This means, they implement a CANopen dictionary in the J1939 devices. These configuration parameters can be written by means of SDO (service data object) services. These services are mapped to PGs specified in CiA 510. The CAM11 parameter group contains in its 8-byte payload the SDO client/server protocol and the CAM21 parameter group maps the SDO response (server-to-client). This means, the sensors implement partly a CANopen protocol stack, which sends and receives virtually SDOs and PDOs. Optionally, these J1939 sensors with CANopen behavior provide the EMCY parameter group, which transmits the 8-byte EMCY message as specified in CANopen. This PG provides the standardized 16-bit emergency error code and the 8-bit error register (see CiA 301).

If you would like to read the full article you can download it free-of-charge or you download the entire magazine.