Application Note # 2438
Galil SSI Encoder Interface
Synchronous Serial Interface (SSI) allows for serial transmission of absolute position data
(either binary or Gray code) from the encoder based on a timed clock pulse train from the
controller. Connection between the controller and encoder is based on two signal lines,
clock and data, which are usually differential for increased noise immunity. For each
sequential clock pulse of the controller, the encoder transmits one data bit from shift
registers on the encoder. Figure 1 shows a typical SSI timing diagram, which shows the
sequential clock pulse train from the controller and the corresponding data bits.
n = total # of data bits
T = clock period (sec)
1/T = clock frequency ~500kHz to ~2.5 MHz (set by sign of p argument of SI command*)
t
1
= minimum time required for encoder to freeze data and prepare shift registers before
receiving the first rising edge to prompt the MSB
t
2
= data transmission delay (increases with cable length)
t
3
= required delay to refresh position data between subsequent position reads.
Figure 1 Typical SSI Timing Diagram
The transfer of data from the encoder to the controller is initiated when the first "falling"
edge (a) of the clock pulse train prompts the encoder to freeze the current absolute
position data into the encoder shift registers and prepare for the coming clock pulse train
from the controller. Typical SSI encoders trigger on the rising edges (as shown in Figure
1) where the first rising edge on the clock (1) prompts the encoder to set the first data bit
(MSB) on the data line. The controller then latches and stores the data bit at the next
"rising" edge (2) while also sending the next request for the subsequent bit. The process
continues until all data bits (down to the LSB) have been clocked and stored on the Galil,
after which, the clock signal remains high until the next position read cycle occurs. This
cycle occurs every sample period of the controller (i.e. 1 kHz at TM1000).
The Galil controller is configurable for a specific SSI encoder using the following SI
command. Extended I/O and custom hardware/firmware modification are both necessary
for any Galil controller to interface with SSI encoder data (contact Galil for an NRE
quote).
ARGUMENTS:
SIn = si0, si1, si2, si3 <p >q where
- 1 -
Galil Motion Control, Inc.
· 3750 Atherton Road · Rocklin, CA 95765 USA · 800-377-6329 · Ph: 916-626-0101 · Fax: 916-626-0102 · www.galilmc.com