Absolute SSI Encoder

The function block CMS_IO_SSI_CNT can be used to control SSI absolute encoder function CMS_IO_SSI_ENC: CMS_IO_SSI_ENC CMS_IO_SSI_ENC. There is an interface for absolute angle and linear encoders (displacement measurement systems).

It allows the transmission of absolute position information through a serial data transfer.

The transmission is based on synchronous serial communication. The device sends a clock signal to the encoder and synchronously, the encoder returns the positioning data from the most significant to the less significant bit.

The synchronization for a new data stream is based on time without clock pulse. This quiet time depends on the encoder.

Possible operation modes: 14-1 <no title>

../_images/8ae18766e38b72770a33139000eba54e2

Chronogram with data organization with the clock pulse

Resolution

For the resolution of the encoder device see technical data from manufacturer. The resolution can be set in configuration under SSI parameters ‣ SSI resolution.

../_images/a2af228d6376d5040a317d314669eed42

SSI parameters

The trace B of the FM502_CMS is switched as output signal (differential). On the rising edge of the signal, the sensor shifts a new value, starting from the most significant bit.

The clock frequency can be specified under SSI parameters ‣ SSI frequency.

Caution

:strong:Risk of malfunctions!

The clock frequency is only an approximately value.

Do not use the clock frequency for any other purposes, e.g. time measurements.

SSI Polling Time Definition

The complete read sequence is launched regularly by the Function Module. The interval between each sequence can be configured under SSI parameters ‣ SSI polling time.

../_images/eaa69e24e38b73610a33139000eba54e

SSI and Touch/Catch Operation

Touch operation is valid with SSI sensor. The goal of touch operation is to synchronize sensors with the same hardware signal. In the SSI mode the management is different depending on the reading procedure is running or not.

If the reading procedure has already started while the touch signal becomes active, the reading procedure finishes normally and the last read value is stored in the touch register.

If the reading procedure has not started, the encoder is in the interval between 2 measurements. The reading procedure is started one time more and the result of the last reading is stored in the touch register.

../_images/8021f1d4e38b73130a33139000eba54e2

Touch/catch operation is enabled through control bit (EN_TOUCH). This resets the status flag (RDY_TOUCH), when the pre-determined edge occurs; the current counter value is stored in the touch value double word. In the same time, the status RDY_TOUCH is set to TRUE.

A rising edge at input DI0, DI1, DC2 or DC3 causes the function block to store the current counter value CNT32 (ACT) and to display this value at output CNT_TOUCH.

Overflow Operation

The counter operates as infinite counter. An overflow occurs corresponding to the 32 bit value at 16#80000000 = 2147483648 and any exceeding or falling below of this value (depending to up and down use) OFL will set to TRUE.

../_images/203b22abe38b70a30a33139000eba54e2