Summit servo drives implement EnDat 2.2 interface. It is able to manage both multi-turn and single-turn devices and the frame parsing is configurable allowing it to support a wide range of absolute encoder devices.

EnDat 2.2 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 bidirectional communication

More information about the EnDat 2.2 protocol can be found below:

This protocol supports different frame formats, summit servo drives supports the basic one:

  • Encoder transmit position values

This frame is composed of:

Frame parsing starts just after the start bit.


Fault 1, Fault 2, and CRC fields are automatically processed by the drive setting the proper configuration (see below)

Frame parsing is configured in the same way as other absolute encoders, however, EnDat specifies the position transmission LSB first. This position swap is automatically managed by the summit drive.


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

  • Protocol. Must be set to EnDat 2.2

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

  • Error tolerance. The drive is able to detect an incorrect frame (by parsing the CRC and error bits). 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 followed errors are detected, the drive generates a fault and stops the operation. This register specifies the number of errors accepted before generating the fault. 

    Setting a 0 value will ignore any error from the encoder.

  • Wait cycles. Control loops might work at high rates, and the specified minimum period between EnDat 2.2 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.

  • 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. It must be set to EnDat 2.2

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


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

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

    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 of the position information are displaced from the MSB 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 the last received frame including special bits, for debugging purposes