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
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.
Note
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:
Register address
0x2440 - Primary absolute interface - Register address for the primary absolute feedback
Register data
0x2441 - Primary absolute interface - Register data for the primary absolute feedback
Operation status
0x2442 - Primary absolute interface - Operation status for the primary absolute feedback
Control
0x2443 - Primary absolute interface - Control for the primary absolute feedback
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:
Read the Operation status and check that the absolute interface is idle. This means that the bidirectional interface is able to handle messages.
Write the address of the register to be read to the Register address.
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.
Double-check using register Operation Status that the bidirectional command has been executed properly (no error).
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:
Read the Operation status and check that the absolute interface is idle. This means that the bidirectional interface is able to handle messages.
Write the address of the register to be written to the Register address.
Write Register data with the desired value to be written to the register.
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.
Double-check using register Operation Status that the bidirectional command has been executed properly (no error).
(Optional) Read back the register to ensure that the data has been applied (follow the read encoder register procedure for that).
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.
0x2371 - Primary Absolute Slave 1 - Error tolerance
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 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.
Note
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
Note
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.
Note
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.
0x2398 - Primary Absolute - Maximum refresh rate
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.
0x239A - Primary Absolute - Actual refresh rate
This parameter exists after FW version 2.4.0