Synchronous Serial Interface (SSI)

SSI stands for Synchronous Serial Interface and describes a digital synchronous interface with a differential clock line and a differential data line.

With the first falling clock edge, the data word to be output is buffered in the BTL to ensure data consistency. Data output takes place with the first rising clock edge, i.e. the BTL supplies a bit to the data line for each rising clock edge. In doing so, the line capacities and delays of drivers tv when querying the data bits must be taken into account in the controller.

The max. clock frequency fClk is dependent on the cable length (see Maximum SSI clock frequency depending on the cable length). The tm time, also called monoflop time, is started with the last falling edge and is output as the low level with the last rising edge. The data line remains at low until the tm time has elapsed. Afterwards, the BTL is ready again to receive the next clock package.

../../_images/ssi_signals.png

The BTL works in asynchronous operation. If the minimum sampling time is undercut, the BTL outputs the same position value several times. The external sampling rate is then greater than the internal rate. In addition, TA must be long enough so that the next clock package does not occur in the tm range of the previous package.

Data format

The BTL with SSI interface has the following factory settings:

  • Number of bits: 24, 25 or 26

  • Binary or Gray coded

  • Rising or falling

../../_images/ssi_24bit_format.png

Example 24-bit SSI data frame with position data
M = MSB (Most Significant Bit)
L = LSB (Least Significant Bit)

The content of the information to be transmitted (e.g. position or velocity) is configurable. The MSB is always transmitted first.

../../_images/ssi_16bit_format.png

Example of a complete data transmission (number of bits = 16)

Depending on configuration, position or velocity data may be signed. Negative values are output in two’s complement by default. For positive speeds, the position magnet moves away from the connection side; for negative speeds it moves toward the connection side. The controller must then be set to process signed data.

Depending the configuration, the device can output additional data following the main process data (e.g., 24-bit position and 8-bit temperature).

Example with 24 bit position data:

Additional data enable

Main data

Additional data

Data bits (in total)

Disabled (default)

Position (24 bit)

-

24

Enabled

Position (24 bit)

Temperature (8 bit)

24 + 8 = 32

Advanced settings

Besides factory settings following interface related parameters can be modified (see Comissioning):

  • Number of bits

  • Monoflop time tm

  • Coding (binary/Gray)

  • Additional error and parity bit (even or odd)

  • Multiple transmission mode

  • Output characteristic

  • Error value

  • Representation of negative values (two’s complement or sign bit mode)

  • Data resolution

  • Enable additional data output

Note

Error and parity bits are stuffed into the SSI data frame to the highest bit positions (MSB) by not extending the configured number of bits. Parity bit is always the MSB (if enabled).

Note

If additional data with Gray coding is enabled, Gray coding is applied separately to both data parts!

Faulty query

Underclocking

If there are too few clock edges, the current data level will be maintained for the time to (to = 2 x TClk timeout times) after the last negative edge from Clk. If, however, another positive edge occurs, the next bit will then be output. Afterwards a To event will occur, the data output goes to Low and after time tm has elapsed to High. The high level is maintained until the next clock burst. Time tm following to.

Overclocking

If there are too many clock edges, the data output will switch to low after the correct number of cycles has been completed. The tm timer is reset for every additional negative edge of Clk and internally the Tm event is set. After time tm the data again goes to high. A To or Tm event is shown in the status field as a communication error. In summary a communication error can have the following causes:

  • The bit number set in the BIR does not correspond to the bit number in the controller.
    nBTL > nPLC → To event
    nBTL < nPLC → Tm event

  • The SSI clock frequency is too low
    fClk < 9.771 kHz → To event

  • The pause between two clock packages is too short → Tm event

Asynchronous operation

During asynchronous operation, the external sampling frequency is independent of the internal sampling frequency of the BTL. Depending on the external query point, the position is more or less current and the position delay tD is not constant. In the worst case, it is equal to the internal sampling period. The BTL always works with the maximum possible internal sampling frequency. Due to the measuring principle, the maximum sampling frequency fA,max is dependent on the nominal length of the BTL. The following graphic shows the behavior of internal and external sampling in asynchronous operation:

../../_images/ssi_asynchronous_operation.png

Behavior in asynchronous operation

Note

The sampling frequency is the reciprocal value of the time between two clock packages and may not be confused with the SSI clock frequency.

Data multiplexer

The device has two special digital inputs labeled La and Lb (see Electrical Connection) which can be used as multiplexer inputs to select various pre-defined data formats for SSI.

Note

Changing the settings on these inputs affects only the output of additional data.

By default these inputs are inactive. For detailed information on the configuration options and on how to enable these inputs, see SSI output configuration.