What Is Synchronous Serial Interface?

Updated Apr 2, 2026

Reported In

Software

  • LabVIEW FPGA Module

Driver

  • NI-DAQmx

Issue Details

I have a device/communication bus that uses the Synchronous Serial Interface (SSI) protocol, what does this mean and how does this protocol work?

Solution

Synchronous Serial Interface (SSI) is a widely used serial interface between an absolute position sensor and a controller. SSI uses a clock pulse train from a controller to initiate a gated output from the sensor.

Position data is continually updated by the sensor and made available to the shift register. Between each clock pulse train there is a minimum dwell of 25 microseconds during which fresh data is moved into the register. Data is shifted out when the sensor receives a pulse train from the controller. When the least significant bit (LSB) goes HIGH and the minimum dwell time has elapsed, new data is available to read. Refer to the diagrams below for examples of a typical SSI block diagram, timing diagram, and a timing diagram showing the 25 microsecond dwell between data sets.

 
SSI Block Diagram
 
SSI Timing Diagram
 
SSI Timing for Sequential Measurements

 

Additional Information

Despite the name, SSI has both Synchronous and Asynchronous modes:
 

  • Synchronous Mode: A synchronous pulse from the control system starts the measuring time of the sensor, the measured result is available before the next synchronizing pulse is generated. The synchronizing pulse is the first high to low transition of the clock train after the dwell time.
  • Asynchronous Mode: SSI takes measurements at its fastest internal interrogation rate (length dependent) and provides information upon request.

SSI also has different supported baud rates based on cable lengths:
 

Cable Length (ft.)<100<200<400<400
Baud Rate*<400 kHz<300 kHz<200 kHz<100 kHz
*Maximum baud rate = 1.5 MBaud

 

The way to implement SSI with NI products is to use an FPGA board with digital lines and program the protocol in the FPGA. With our FlexRIO PXI(e) devices, we provide the NI-6584, which is designed for interfacing with RS422 or RS485. Be sure to use it with a compatible FlexRIO device.

NI provides an example in Use FPGA Board to Implement Synchronous Serial Interface (SSI) with NI Products.