How to interpret serial protocols: SPI vs BiSS vs SSI vs RS-485
How to interpret serial protocols: SPI vs BiSS vs SSI vs RS-485
SPI and BiSS are two open license serial protocols used for communication in multiple applications including encoders. RS-485 is a standard for serial communication and can be used for multiple devices to communicate over long distances. SSI is a cost effective option mainly used for absolute encoders to transmit data.
When choosing a serial communication protocol for encoder systems it’s important to understand how each protocol works.
The choice can impact everything from data speed and accuracy to system scalability and interference resistance. Today we’ll take a look at four major serial protocols—SPI, BiSS, SSI, and RS-485, and how they relate to encoders, including the strengths and limitations of each.
SPI (Serial Peripheral Interface)
SPI is a synchronous, full duplex communication protocol developed by Motorola. It uses a master slave architecture where the master device initiates and controls all communication. The SPI bus typically consists of four signals:
- MISO (Master In Slave Out)
- MOSI (Master Out Slave In)
- SCLK (Serial Clock)
- SS (Slave Select)
SPI is most commonly used for short distance communication between microcontrollers and peripheral devices such as sensors, ADCs, DACs, and encoders.
How SPI works with encoders
In the context of encoders, SPI is used to transfer position and speed data from the encoder to a controller or processor. The protocol is ideal for applications requiring high speed data retrieval from a single encoder.
Pros
- High speed: SPI supports clock rates of several megahertz, which makes it suitable for high speed applications.
- Simple implementation: The protocol is straightforward and widely supported by microcontrollers and embedded systems.
- Full duplex communication: Data can be sent and received simultaneously.
Cons
- Short distance: SPI is not suited for long cable runs, making it less ideal for large machinery.
- Limited device support: While multiple slaves are possible, it requires separate chip select lines, which can become cumbersome with many devices.
- No standard error checking: SPI does not include built in error checking, which is critical in industrial applications.
BiSS (Bidirectional Synchronous Serial)
Overview
BiSS (Bidirectional Synchronous Serial) is an open source protocol designed for digital sensors and actuators, especially encoders. Developed to improve on SSI, BiSS offers real time, high speed communication with bidirectional capabilities, enabling feedback from the sensor to the controller.
There are several types of BiSS protocols, including BiSS-C (cyclic) and BiSS-B (unidirectional), but BiSS-C is the most widely adopted for encoder applications.
How BiSS works with encoders
BiSS-C enables precise, cyclic data transmission from the encoder, including position, speed, temperature, and status flags. The protocol supports daisy chaining multiple devices, making it scalable for complex automation systems.
Pros
- High speed and resolution: BiSS can support clock rates up to 10 MHz with resolution up to 56 bits, making it suitable for high precision encoders.
- Bidirectional communication: Enables device configuration, error reporting, and diagnostics.
- Open source and license free: Encourages broad adoption without proprietary limitations.
- Error checking and data integrity: BiSS includes CRC and status bits for robust error detection.
Cons
- More complex implementation: BiSS requires more sophisticated controller logic than SPI or SSI.
- Less common in consumer electronics: Primarily used in industrial automation, which may limit capability with off the shelf hardware.
SSI (Synchronous Serial Interface)
Overview
SSI is a widely used point-to-point communication protocol for absolute encoders. Originally developed by Telemecanique, it is now supported across the automation industry. SSI uses a master-slave configuration and supports synchronous, half-duplex communication using just two lines: clock and data.
How SSI works with encoders
SSI transmits position data from an encoder to a controller after a clock signal is sent. The encoder responds with a fixed length data stream representing the current position. It is often used in applications where cost and reliability are more critical than data speed.
Pros
- Simple and reliable: The protocol is easy to implement and well established in industrial environments.
- Deterministic communication: Fixed timing makes SSI ideal for real time control applications.
- Cost effective: Especially attractive for systems that need a basic yet reliable absolute position feedback method.
Cons
- No bidirectional communication: Unlike BiSS, SSI cannot send diagnostics or receive configuration commands.
- Limited speed: Typically supports lower clock rates (100 kHz to 1 MHz), which may not suit high speed systems.
- Short cable lengths: Like SPI, SSI is best for short distance communication.
RS-485 (Recommended Standard 485)
Overview
RS-485 is not a protocol in itself, but an electrical standard defining signal levels and differential signaling for robust serial communication. It supports long distance, multi drop communication and is widely used in industrial networks. RS-485 forms the physical layer for several higher layer protocols such as Modbus, Profibus, and others.
How RS-485 works with encoders
When used with encoders, RS-485 is usually the hardware layer for a protocol like Modbus RTU. It allows one controller to communicate with multiple encoders over long distances, often up to 4000 feet (around 1200 meters), depending on the baud rate and cable quality.
Pros
- Long distance communication: Perfect for applications requiring extended cable runs in large factories or machines.
- Supports multi drop networks: Multiple encoders can be connected on the same bus.
- Noise resistance: Differential signaling improves reliability in electrically noisy environments.
- Widely supported: Compatible with many industrial communication systems.
Cons
- Not a full protocol: Requires a higher level protocol for structured communication.
- Slower than SPI or BiSS: RS-485 typically supports lower baud rates (up to 10 Mbps in ideal conditions).
- More complex network management: Addressing, collision handling, and error checking depend on the higher level protocol used.
Comparing protocols for encoder applications
|
Feature |
SPI |
BiSS |
SSI |
RS-485 |
|
Communication type |
Full duplex, synchronous |
Bidirectional, synchronous |
Half duplex, synchronous |
Half duplex, differential |
|
Distance supported |
Short (typically <2m) |
Medium (up to 20m) |
Short (typically <10m) |
Long (up to 1200m) |
|
Speed |
High |
Very high |
Moderate |
Moderate to low |
|
Device scalability |
Limited (1 to 1 or few) |
Moderate to high (daisy chain) |
One to one |
High (multi drop) |
|
Error checking |
None (native) |
Yes (CRC, status flags) |
None (native) |
Depends on protocol (e.g., Modbus) |
|
Cost |
Low |
Medium |
Low |
Medium to high |
|
Configuration capability |
None |
Yes |
No |
Yes (with protocol) |
|
Typical use case |
Embedded devices |
Industrial automation |
Cost sensitive automation |
Factory wide systems |
Choosing the right protocol
Each protocol serves a different purpose depending on the application. Here's a general guide:
- Choose SPI when you're working with short range, high speed data in embedded systems and only need to communicate with one or two encoders.
- Choose BiSS when you need high resolution, fast, and reliable data transfer with diagnostics, especially in robotics or precision automation.
- Choose SSI when you need a simple and cost effective solution for absolute position sensing in a short distance industrial setup.
- Choose RS-485 when distance, robustness, and multiple device support are critical, and you can implement a higher level protocol like Modbus RTU.
