What Is Serial Synchronous Interface

Updated Apr 15, 2021

Reported In


  • LabVIEW FPGA Module


  • NI-DAQmx

Issue Details

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


Serial Synchronous 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