As bidirectional transmission and bussing are not typically used in motion control applications, the primary advantages of BiSS-C are transmission speed and more robust error checking without the use of double transmissions. Fast data transfer means low latency – critical for high performance motion control. SSI is still used widely but BiSS-C, because of its advantages, continues to show significant growth in popularity.
There are two versions of parity checking: even and odd. In the case of even parity, the sensor counts the bits in the position data with a value of 1. If that count is odd, the parity bit value is set to 1, making the total count of occurrences of 1s in the whole set (including the parity bit) an even number. If the count of 1s is already even, the parity bit is set to 0. The master performs a similar check to ensure a data bit was not corrupted in the transmission.
Cyclic Redundancy Check is a more powerful technique than parity checking which can fail to detect the corruption of multiple bits. The sensor applies a 16 or 32 bit polynomial to the position data that is to be transmitted and appends the result. The master applies the same polynomial to the data and compares its result with the result appended by the sender. If they agree, the data has been received successfully.
A BiSS encoder provides an open-source interface for point-to-point or bus communication, which can send complete absolute position data when the controller polls the encoder (not just at startup). The BiSS encoder uses four data lines, one pair is used to carry the data from the encoder, one pair is used to carry the clock data from it, plus two power lines. BiSS encoders can be connected point-to-point or via a bus. BiSS can easily recover from instantaneous data loss during operation and is compatible with SSI hardware. BiSS can address the internal registers in the encoder, and the host can use the identification and resolution data to read and write the internal registers. BiSS encoders can carry and transmit digital data to the host without interfering with real-time operation.