CPB CANopen Technical Manual

LSS protocol

The services of the LSS protocol (Layer Settings Services) are used to assign the node-ID and/or the baud rate of the controller directly via the CANopen bus. This is especially useful with devices that have no means for the mechanical configuration (e.g., rotary switches) of the parameters.

General

The LSS protocol requires a CANopen device in the network that performs the role of the LSS master. All other devices have the role of the LSS slave.

Each LSS slave is equipped with a unique LSS address that consists of the four 32-bit entries of object 1018h Identity Object.

An LSS slave may either be in configuration mode or in wait mode. The LSS master is responsible for switching between the two modes. Some LSS services (Configuration, Inquiry) are only available in configuration mode.

LSS message

All messages of the LSS protocol consist of 8 bytes (DLC=8), whereby byte 0 always contains the Command Specifier (CS) of the service.

Two CAN IDs are reserved for the LSS protocol:

  • 7E5h: For the messages from the LSS master to the LSS slaves (request)
  • 7E4h: For the messages from the LSS slaves to the LSS master (response)

LSS services

Switch state services

With these services, the LSS master can switch the LSS slaves to configuration mode or to wait mode.

The node-ID and baud rate can only be changed with the Configuration services and Inquiry services while in configuration mode.

Switch state global service

With this service, the LSS master switches all LSS slaves in the network to configuration mode or to wait mode.

Byte 0 : CS (Command Specifier)
Value = "04h"
Byte 1: mode
Value = "00h": Switches to wait mode
Value = "01h": Switches to configuration mode
Bytes 2-7 :
reserved (=0h)

Switch state selective service

With this service, the LSS master switches the LSS slaves with the (or parts of the) corresponding LSS address to configuration mode.

The LSS master sends four messages, which contain the LSS address:

  1. The LSS master switches the LSS slaves with the corresponding vendor ID to configuration mode:

    Byte 0 : CS (Command Specifier)
    Value = "40h"
    Bytes 1-4: Vendor-ID
    Vendor-ID: see 1018h:01h
    Bytes 5-7:
    reserved (=0h)
  2. The LSS master switches the LSS slaves with the corresponding product code to configuration mode:

    Byte 0 : CS (Command Specifier)
    Value = "41h"
    Bytes 1-4: Product Code
    Product code: see 1018h:02h
    Bytes 5-7:
    reserved (=0h)
  3. The LSS master switches the LSS slaves with the corresponding revision number to configuration mode:

    Byte 0 : CS (Command Specifier)
    Value = "42h"
    Bytes 1-4: Revision Number
    Revision number: see 1018h:03h
    Bytes 5-7:
    reserved (=0h)
  4. The LSS master switches the LSS slaves with the corresponding serial number to configuration mode:

    Byte 0 : CS (Command Specifier)
    Value = "43h"
    Bytes 1-4: mode
    Serial number: see 1018h:04h
    Bytes 5-7:
    reserved (=0h)

The LSS slave with the corresponding LSS address was switched to configuration mode and sends a confirmation:

Byte 0 : CS (Command Specifier)
Value = "44h"
Bytes 1-7 :
reserved (=0h)

Configuration services

With these services, the LSS master can change and, if necessary, store the node-ID or baud rate of the LSS slaves.

Note: The LSS slaves must be in configuration mode. See chapter Switch state services.

Configure node-ID service

The LSS master sends a message with the new node-ID to an LSS slave:

Byte 0 : CS (Command Specifier)
Value = "11h"
Byte 1: N-ID (Node-ID)
Valid node-ID between 01h and 7Fh
Bytes 2-7 :
reserved (=0h)

The LSS slave responds with a confirmation/error code:

Byte 0 : CS (Command Specifier)
Value = "11h"
Byte 1: Error Code
Value = "00h": Not an error
Value = "01h": Invalid node-ID
Bytes 2-7 :
reserved (=0h)

Configure bit timing parameters service

The LSS master sends a message with the new baud rate to an LSS slave:

Byte 0 : CS (Command Specifier)
Value = "13h"
Byte 1: Table Selector
Value = "00h": The table for the baud rate from the CiA 301 standard is used.
Byte 2: Table Index
The value for the index is taken from the following table.
Bytes 3-7 :
reserved (=0h)

The following values are supported for the Table Index:

Table Index

Baud rate in kBd

0 1000
2 500
3 250
4 125
6 50
7 20
8 10

The LSS slave responds with a confirmation/error code:

Byte 0 : CS (Command Specifier)
Value = "13h"
Byte 1: Error Code
Value = "00h": Not an error
Value = "01h": Invalid Table Index/baud rate is not supported
Bytes 2-7 :
reserved (=0h)

Activate bit timing parameters service

The LSS master uses this command to activate the set baud rate of all LSS slaves in the network simultaneously:

Byte 0 : CS (Command Specifier)
Value = "51h"
Bytes 1-2: Switch Delay

Delay in ms. It is thereby ensured that all LSS slaves in the network have the same baud rate before messages may again be sent.

After receiving this messages from each LSS slave, the time that is stored here is allowed to elapse. Only then is the new baud rate accepted.

The same time is allowed to elapse a second time; only then may an LSS slave send messages again.

Bytes 3-7 :
reserved (=0h)

Store configuration service

With this command, the LSS master saves the set node-ID and baud rate of an LSS slave. The LSS master must ensure that at that moment only one LSS slave in the network is in configuration mode.

Byte 0 : CS (Command Specifier)
Value = "17h"
Bytes 1-7 :
reserved (=0h)

The LSS slave responds with a confirmation/error code:

Byte 0 : CS (Command Specifier)
Value = "17h"
Byte 1: Error Code
Value = "00h": Not an error
Value = "02h": Access of non-volatile memory failed
Bytes 2-7 :
reserved (=0h)

Inquiry services

With these services, the LSS master can query the LSS address or the node-ID of an LSS slave. The LSS master must ensure that only one LSS slave in the network is in configuration mode.

Inquire LSS address service

With this service, the LSS master queries the LSS address of a slave.

  1. The LSS master queries the vendor ID:

    Byte 0 : CS (Command Specifier)
    Value = "5Ah"
    Bytes 1-7 :
    reserved (=0h)

    The LSS slave returns its vendor ID:

    Byte 0 : CS (Command Specifier)
    Value = "5Ah"
    Bytes 1-4: Vendor-ID
    Vendor-ID: see 1018h:01h
    Bytes 5-7:
    reserved (=0h)
  2. The LSS master queries the product code:

    Byte 0 : CS (Command Specifier)
    Value = "5Bh"
    Bytes 1-7 :
    reserved (=0h)

    The LSS slave returns its product code:

    Byte 0 : CS (Command Specifier)
    Value = "5Bh"
    Bytes 1-4: Produt Code
    Product code: see 1018h:02h
    Bytes 5-7:
    reserved (=0h)
  3. The LSS master queries the revision number:

    Byte 0 : CS (Command Specifier)
    Value = "5Ch"

    The LSS slave returns its revision number:

    Byte 0 : CS (Command Specifier)
    Value = "5Ch"
    Bytes 1-4: Revision Number
    Revision number: see 1018h:03h
    Bytes 5-7:
    reserved (=0h)
  4. The LSS master queries the serial number:

    Byte 0 : CS (Command Specifier)
    Value = "5Dh"
    Bytes 1-7 :
    reserved (=0h)

    The LSS slave returns its serial number:

    Byte 0 : CS (Command Specifier)
    Value = "5Dh"
    Bytes 1-4: Serial Number
    Serial number: see 1018h:04h
    Bytes 5-7:
    reserved (=0h)

Inquire node-ID service

With this service, the LSS master queries the node-ID of a slave.

The LSS master queries the node-ID:

Byte 0 : CS (Command Specifier)
Value = "5Eh"
Bytes 1-7 :
reserved (=0h)

The LSS slave responds with its node-ID:

Byte 0 : CS (Command Specifier)
Value = "5Eh"
Byte 1: Node-ID
Node-ID of the LSS slave
Bytes 2-7 :
reserved (=0h)

Identification services

With these services, the LSS master can ask the LSS slaves to identify themselves based on their LSS address.

LSS identify remote slave service

With this service, the LSS master asks the LSS slaves to identify themselves with the (or parts of the) corresponding LSS address with the LSS identify slave service.

A range can be defined for the revision number and the serial number. All LSS slaves whose numbers are in the corresponding range must identify themselves. It is the task of the LSS master to restrict the range so that ultimately only one LSS slave responds.

  1. The LSS master defines the Vendor-ID of the LSS slaves that are to identify themselves:

    Byte 0 : CS (Command Specifier)
    Value = "46h"
    Bytes 1-4: Vendor-ID
    Vendor-ID: see 1018h:01h
    Bytes 5-7:
    reserved (=0h)
  2. The LSS master defines the product code of the LSS slaves that are to identify themselves.:

    Byte 0 : CS (Command Specifier)
    Value = "47h"
    Bytes 1-4: Product Code
    Product code: see 1018h:02h
    Bytes 5-7:
    reserved (=0h)
  3. The LSS master defines the lowest and highest revision number of a range. All LSS slaves whose revision number is within this range are to identify themselves:

    Byte 0 : CS (Command Specifier)
    Value = "48h"
    Bytes 1-4: Revision Number low
    Lowest revision number of the range: see 1018h:03h
    Bytes 5-7:
    reserved (=0h)

    Byte 0 : CS (Command Specifier)
    Value = "49h"
    Bytes 1-4: Revision Number high
    Highest revision number of the range: see 1018h:03h
    Bytes 5-7:
    reserved (=0h)
  4. The LSS master defines the lowest and highest serial number of a range. All LSS slaves whose serial number is within this range are to identify themselves:

    Byte 0 : CS (Command Specifier)
    Value = "4Ah"
    Bytes 1-4: Serial Number low
    Lowest serial number of the range: see 1018h:04h
    Bytes 5-7:
    reserved (=0h)

    Byte 0 : CS (Command Specifier)
    Value = "4Bh"
    Bytes 1-4: Serial Number high
    Highest serial number of the range: see 1018h:04h
    Bytes 5-7:
    reserved (=0h)

LSS identify slave service

The LSS slave whose LSS address was defined with the LSS identify remote slave service by the LSS master identifies itself:

Byte 0 : CS (Command Specifier)
Value = "4Fh"
Bytes 1-7 :
reserved (=0h)

Example

The controller (LSS slave) is delivered with the following parameters:

  • Node-ID = 7Fh (=127d)
  • Baud rate = 1000 kBd

The parameters are to be set as follows:

  • Node-ID = 05h (=5d)
  • Baud rate = 125 kBd

It is assumed that only one LSS slave is currently present in the network.

  1. The LSS master switches the LSS slave to configuration mode (see Switch state global service):

    7E5 | 04 01 00 00 00 00 00 00

  2. The LSS master queries the node-ID of the LSS slave (see Inquire node-ID service):

    7E5 | 5E 00 00 00 00 00 00 00

    The LSS slave responds with its node-ID:

    7E4 | 5E 7F 00 00 00 00 00 00

  3. The LSS master sets the node-ID to "05h" (see Configure node-ID service):

    7E5 | 11 05 00 00 00 00 00 00

    The LSS slave confirms (error code=00h):

    7E4 | 11 00 00 00 00 00 00 00

  4. The LSS master sets the baud rate to 125 kBd (Table Index=4) (see Configure bit timing parameters service):

    7E5 | 13 00 04 00 00 00 00 00

    The LSS slave confirms (error code=00h):

    7E4 | 13 00 00 00 00 00 00 00

  5. The LSS master sends the command to save the changes (see Store configuration service):

    7E5 | 17 00 00 00 00 00 00 00

  6. The LSS master switches the LSS slave to wait mode (see Switch state global service):

    7E5 | 04 00 00 00 00 00 00 00

    The LSS slave confirms (error code=00h):

    7E4 | 17 00 00 00 00 00 00 00

  7. The new parameters are accepted after the controller is restarted.

The controller registers with node-ID 5 and baud rate 125 kBd:

705 | 00

▶   next

Contents