CiA® 1305: Layer setting services (LSS) for CANopen FD

LSS introduces communication services between an LSS master (typically residing in the host controller) and LSS slaves. LSS enables the LSS master to modify the LSS slaves’ CANopen FD network-ID and node-ID. Additionally LSS provides means to modify the CAN FD bit timing parameters (for nominal bit-rate and data bit-rate) in all CANopen FD devices. The LSS for CANopen FD are specified in the document CiA 1305, which will be released soon.

CANopen FD network-ID and node-ID assignment via LSS

The entire 128 bit of the CANopen FD Identity object 1018h (vendor-ID, product-code, revision number, serial number, as specified in CiA 1301) are considered as LSS address. The LSS address is a unique number, for any CANopen FD device. Therefore an LSS master can differentiate between several LSS slaves, by means of the LSS address, even if these LSS slaves do not own a valid network-ID or node-ID. Via the LSS switch state selective FD command, the LSS master forces exactly one LSS slave to enter the LSS configuration state. Only in this state the LSS slave accepts a new network-ID or node-ID that is proposed by the LSS master. It is the LSS master’s task to ensure that during the assignment of the network-ID or node-ID, there is only one LSS slave in the LSS configuration state.

In case the LSS addresses of the LSS slaves are unknown to the LSS master, the LSS master may have several means to detect the LSS slaves’ LSS addresses. In case the LSS slaves own already a valid network-ID and node-ID, the LSS master just reads the content of the object 1018h, of all LSS slaves in the system, via USDO (universal service data object). In case the LSS slaves do not own a valid network-ID and node-ID the LSS master has to rely on additional LSS services. The LSS switch state selective FD service enables the LSS master to scan via 4-bit-nibble-masks, whether there exists an unconfigured LSS slave, that's LSS address is in a given LSS address range. By executing several scanning cycles, the LSS master can identify exactly one unconfigured LSS slave and can provide subsequently a valid CANopen FD network-ID and node-ID.

CANopen FD bit timing parameter modification, via LSS

The LSS enable the LSS master to switch the entire CANopen FD network from one pair of nominal bit-rate and data bit-rate, to another. Changing the bit timing parameters in all CANopen FD devices, connected to the very same CANopen FD network, causes this. The LSS master configures via LSS in all CANopen FD devices in the network the intended bit timing parameters, individually. After the successful configuration, the LSS master requests the bit timing switch, by means of a global LSS service, at all LSS slaves, at the very same time. After a switch delay, all devices in the CANopen FD network operate on the new nominal bit-rate and data bit-rate, based on new bit timing parameters.

It is recommended to use the switching of LSS bit timing parameters very carefully. In case there is at least one device that is not switching correctly, the CANopen FD network shows a severe error behavior. A proper control system is not available any longer. CAN controllers of CANopen FD devices, operating on the “wrong” bit timing, end up in the CAN error state Bus off, cannot communicate via CAN any longer, and have to be dismantled from the system for re-configuration purposes. Only in a separate system, running on the same bit-rates, these devices can be re-configured, prior to install them again in the control system. For the initial adjustment of the CANopen FD bit timing parameters, the LSS bit timing switch service is not suitable. For such scenarios, methods such as the CANopen automatic bit-rate detection (CiA 801) may be used, in an adapted format, suitable for CANopen FD.

Identification of unconfigured LSS slaves using LSS switch state selective FD service

In case several unconfigured LSS slaves exist in a CANopen FD system, they can be identified by means of the LSS switch state selective FD service. To fulfill the service, the 128-bit LSS address was divided into 32 pieces (nibbles) of four bit each. The LSS master consequently asks the LSS slaves for the values of each nibble. 16 messages with the CAN-IDs from 07D0h to 07DFh are used as possible feedback. When the LSS master requests the value of the first nibble, the LSS slaves reply with 07D0h if their first nibble is zero, 07D1h if it is one and so forth until 07DFh if their first nibble is 0Fh. Then, the LSS master takes the first response (all others are ignored for this cycle) and packs the first nibble value into the next request. The LSS slaves with the first matching nibble inform the LSS master about the second-nibble value using the 16 messages with the mentioned CAN-IDs. This cycle is repeated until all nibbles have been processed and a single, unconfigured LSS slave is identified. Then, the LSS master can assign the network-ID and the node-ID to this LSS slave.

To decrease the boot-up time in CANopen FD systems that may be modified by the end user, the LSS master could store LSS addresses that have been identified. On each power-up, the LSS master could try those LSS addresses first and if there is then still an unconfigured LSS slave left in the system, the LSS switch state selective FD cycle is started.