Skip to main content
Skip table of contents

Primary Absolute Slave 1

Summit servo drives implement BiSS-C and SSI interfaces. It is able to manage both multi-turn and single-turn devices and the frame parsing is configurable allowing to support a wide range of absolute encoder devices.


BiSS-C is a serial protocol that offers a series of advantages. These (amongst others) are:

  • It has a standard protocol definition

  • Contains error and warning bits and provides CRC checking

  • It allows for daisy chain operation.

More information about the BiSS-C protocol can be found below:

The standard frame described in the BiSS-C BP1 / BP3 profiles have the following structure

Where the ACK, Start, and CDS bits are automatically taken into account by the drive (when BiSS-C protocol is selected). The frame also contains active low error and warning bits, and a CRC field.


Summit servo drives only support the unidirectional and point to point BiSS-C topology (shown below)

BiSS-C daisy chain operation

The absolute encoder module supports up to two feedbacks in daisy chain operation when using the BiSS-C protocol. To be able to use both feedbacks (this one and BiSS-C slave 2 (daisy chain)) in a daisy chain, they need to be configured separately, both selected as feedback somewhere, and the number of feedbacks in the chain needs to be specified. 

The following picture shows an example of a BiSS-C daisy chain frame.

When using the daisy chain, the drive will use a frame size that is made up of the combination of the BiSS-C slave 1 / Primary SSI - Frame size and BiSS-C slave 2 (daisy chain) - Frame size. This combination must fit the maximum frame size.

For more information, check Primary Absolute Slave 2 (daisy chain) section

How the data is parsed

Bidirectional communication

This section is available from version 2.5.0 of some devices. Check the product manual to see if the feature is supported.

The drives have the capability of acting as a bridge for communicating the BiSS-C feedback through the Control communication.

Further details of BiSS-C protocol Control Communication is freely available on the official BiSS interface website.

The Control Communication allows to configure parameters of the connected feedbacks without interrupting the position readings. The drives allow to transmit and receive information to and from the encoder through this protocol. 

For accessing the bidirectional interface, Summit devices implement 4 registers:

By means of these registers, we support access to the feedback registers (registers of the encoder itself). Each encoder has its own registers, for more information please refer to the datasheet of your encoder.

There are not different registers to access Primary Slave 2 (daisy chain). If you use a daisy chain, you will have to use the Control register to request the data from the second encoder. Please see the detail in the two procedures below.

Reading encoder registers

The procedure for reading an encoder register is the next one:

  1. Read the Operation status and check that the absolute interface is idle. This means that the bidirectional interface is able to handle messages.

  2. Write the address of the register to be read to the Register address.

  3. Using Control write 0x01 for triggering a read operation of the indicated register. Alternatively, command “0x1001” can be used to access the second encoder if using daisy chain.

  4. Double-check using register Operation Status that the bidirectional command has been executed properly (no error).

  5. Read Register data, the content of this register corresponds to the data received from the encoder for the indicated register.

Writing encoder registers

The procedure for writing an encoder register is the next one:

  1. Read the Operation status and check that the absolute interface is idle. This means that the bidirectional interface is able to handle messages.

  2. Write the address of the register to be written to the Register address.

  3. Write Register data with the desired value to be written to the register.

  4. Using Control write 0x02 for triggering a write operation of the indicated register. Alternatively, command “0x1002” can be used to access the second encoder if using daisy chain.

  5. Double-check using register Operation Status that the bidirectional command has been executed properly (no error).

  6. (Optional) Read back the register to ensure that the data has been applied (follow the read encoder register procedure for that).


SSI is also a serial protocol but does not define a specific frame. Every feedback product has its own protocol/frame over SSI. These frames can contain manufacturer-specific special bits. Some of these frame types are supported, allowing decoding special bits in some cases. An example of a manufacturer-specific SSI frame is the "Zettlex - SSI1" frame type, which contains a "Position valid bit" that can be used to detect transmission/encoder errors.

An SSI frame would have the following structure:

Serial Synchronous 1

Serial Synchronous 1 is a protocol created to communicate with devices that implement a non-standard SSI protocol used by some manufactures. It follows the structure of the SSI protocol described above but the clock signal is inverted respect to the standard: the signal is in low state when inactive and data is transmitted on falling edges.

Configuration for EtherCAT/CANopen drives:

A set of parameters are available to the user to adapt the absolute interface to the different supported protocols:

  • Protocol: Indicates if the encoder protocol is SSI, BiSS-C or Serial Synchronous 1

  • Frame size. Indicates the total number of bits of the frame. These include position bits, special bits, warning, error and CRC bits, etc. 

    • 0x2370 - Primary Absolute Slave 1 - Frame size

      ACK, START and CDS bits should not be included in this parameter

      Please be aware that the maximum frame size depends on the Actual refresh rate and the Baudrate. Larger frame sizes (over 40 bits) may require higher baudrates.

  • Error tolerance. The drive is able to detect an incorrect frame (for example by reading the position valid flag of the SSI1 frame type, or by parsing the CRC and error bits in the BiSS-C frame). If an incorrect frame is detected, it is ignored and the drive keeps the last read position as the current position. However, if too many errors are detected in a row, the drive generates a fault and stops the operation. This register specifies the number of errors accepted before generating the fault. 

  • Wait cycles. Control loops might work at high rates, and the specified minimum period between BiSS-C / SSI frames might be higher than the loop update rate. In this case, the drive must wait for some control loops before requesting new data. This register specifies how many position loop cycles the drive will wait before requesting new encoder data.

This parameter has been deprecated on Firmware version 2.4.0

  • Polarity. Indicates the direction of rotation of the encoder. 0 value applies standard polarity (read directly from the feedback) and a value different than 0 reverses the polarity.

  • Frame type. Indicates the format of the received frame. This parameter allows parsing frames in a specific way. For example, the BiSS-C BP3 profile frame type will assume there are CRC, error and warning bits and will use them to detect errors in the frame

    • 0x2374 - Primary Absolute Slave 1 - Frame type

      For unsupported frame types, use raw or raw gray modes. These modes allow reading the position from any frame type without processing special bits such as CRC or error flags.


      Frame type 3 implements the BiSS-C BP3 profile. By selecting this frame type, the first 8 bits will automatically be used for CRC and error checking, since a BP3 BiSS-C frame is assumed. More information about this profile can be found here

      With BiSS-C BP3 type selected, frames with errors will be discarded.

  • Position bits. Indicates the number of bits used for position readings.

    • 0x2375 - Primary Absolute Slave 1 - Position bits


      The device calculates its own multi-turn data to allow covering the whole position variable range. Use position range configuration if the systems needs to work only in the absolute encoder range.

  • Single-turn bits. Indicates the number of position bits that represent single-turn information.

    • 0x2376 - Primary Absolute Slave 1 - Single-turn bits

      This information is used by the drive to compute the angle commutation properly. For multi-turn absolute encoders, this information gives the reference of 1 mechanical revolution to the drive.

      For single-turn absolute encoders, position bits must be equal to single-turn bits.


      Writing the following parameters will cause the software multi-turn (multi-turn part calculated by the driver) to be reset to 0: Frame size, Polarity, Frame type, Position bits, Single-turn bits, Position start bit and Position offset

  • Position start bit. Defines how many bits the position information is displaced from the LSB in the serial absolute feedback frame.

  • Position offset. Adds an offset to the read encoder position (after polarity has been applied). Negative values on this parameter shift the overall position in the negative direction and positive values shift it to the positive direction

  • Position. Shows the encoder position value taking into account the polarity, position offset and (if available) software multi-turn.

  • Full frame. Contains last received frame including special bits, for debugging purposes

  • Maximum refresh rate. This parameter specifies the maximum refresh rate allowed for the absolute encoder connected. The driver will send frames to the encoder at a rate equal or lower than the value introduced.

  • Actual refresh rate. This parameter shows the refresh rate at which absolute encoder frames are being sent. It will be a multiple of the position loop rate and will never exceed the 'Maximum refresh rate'. The driver can lower the refresh rate if the frame duration is too long. 

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.