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.
Check in the product manual if BiSS-C is supported. Some part numbers only support SSI in the secondary interface.
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)
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.
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.
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 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 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 is deprecated in FW 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
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.
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.
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.
This parameter exists after FW version 2.4.0
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.
This parameter exists after FW version 2.4.0
How the data is parsed
BiSS-C daisy chain operation
Daisy chain is not supported on secondary absolute encoder