
SSI Encoders
Interfaccia Seriale Sincrona
Interfaccia Seriale Sincrona (SSI) è uno standard ampiamente utilizzato nelle applicazioni industriali tra un master (es. controller) e uno slave (es. sensore).
Il master pilota la linea di clock (CLK), lo slave gestisce la linea dati (DATA). In stato inattivo, entrambe le linee sono a livello alto.
Il valore di posizione viene trasmesso sincronicamente al segnale di clock del sistema di controllo, a partire dal bit più significativo (MSB). Al primo fronte di discesa del clock (Figura 1 A), i dati del sensore vengono congelati (latchati) per evitare modifiche durante la trasmissione.
Al fronte di salita successivo (Figura 1 B) inizia la trasmissione con il MSB; ad ogni fronte di salita seguente, viene emesso il bit successivo. Dopo il bit meno significativo (LSB), l’ultima salita del clock (Figura 1 C) porta la linea dati a basso, segnando la fine della trasmissione.
Tempo di pausa
Dopo l’ultimo fronte di discesa del clock, la linea dati rimane bassa per un certo periodo di tempo, denominato timeout di trasferimento (nelle pubblicazioni più datate anche chiamato tempo monostabile). È il tempo minimo richiesto dallo slave per riconoscere che la trasmissione dei dati è terminata. Dopo tm
, la linea dati torna allo stato inattivo (Figura 1 D) e lo slave inizia ad aggiornare i suoi dati. Se un segnale di clock (richiesta di output dati) viene ricevuto durante questo intervallo, gli stessi dati verranno trasmessi di nuovo (vedi trasmissione multipla).
Il tempo minimo di pausa è di 20 µs, mentre non esiste un limite massimo.
Figura 1: Trasmissione SSI

Interruzione della trasmissione
La trasmissione può essere interrotta in qualsiasi momento semplicemente smettendo di inviare impulsi di clock all’encoder. Dopo il tempo di pausa, il valore dei dati viene aggiornato e l’encoder è pronto a trasmettere nuovamente. Non è necessario alcun comando di arresto aggiuntivo, né è possibile compromettere l’interfaccia inviando comandi errati.
Figura 1: Trasmissione SSI
Rappresentazione binaria della trasmissione SSI
La rappresentazione dei dati non è standardizzata tra i produttori di encoder. La forma più comune è una rappresentazione binaria allineata a sinistra. Ciò significa che i dati iniziano con il bit più significativo (MSB), ovvero il bit più alto di un encoder multiturno (Figura 2 in alto) o di un encoder singolo giro (Figura 2 in basso).
Figura 2: Rappresentazione binaria dei dati nella trasmissione SSI
Mxx – Rappresenta i dati di rivoluzione per encoder multiturno (25 bit)
Sxx – Rappresenta i dati angolari per encoder singolo giro (13 bit)

Rappresentazione dei dati in codice Gray
I dati dell’encoder sono talvolta rappresentati in codice Gray. In questo tipo di codifica è ancora abbastanza comune l’uso del cosiddetto “formato Tannenbaum”. In questa rappresentazione, i primi 12 bit rappresentano i dati multiturno (rivoluzioni), mentre i 13 bit successivi rappresentano i dati singolo giro. I dati sono centrati rispetto al ciclo di 13 impulsi di clock. Un esempio è mostrato nella Figura 3.
Figura 3: Rappresentazione dei dati nella trasmissione SSI – Codice Gray

Multitrasmissione / Anello di scorrimento
Per garantire l’integrità dei dati, è possibile trasmettere più volte gli stessi dati e confrontare i valori ricevuti. Questa procedura è spesso indicata anche come trasmissione multipla o ringshift. La sequenza per ottenere una multitrasmissione consiste nel continuare a inviare segnali di clock dopo aver ricevuto l’intera parola dati (Figura 4 A). Dopo un singolo byte “0”, i dati ripartono dal bit più significativo (MSB). La trasmissione multipla si conclude nello stesso modo della trasmissione singola: interrompendo semplicemente i segnali di clock. Attenzione: non tutti i modelli di encoder supportano la funzione di trasmissione multipla.
Figura 4: Trasmissione multipla SSI

Fisica e cablaggio
La trasmissione fisica è realizzata secondo lo standard EIA-422 (RS-422), che garantisce la disponibilità dei componenti e una trasmissione affidabile anche in ambienti industriali. I vantaggi sono:
Distanze di trasmissione fino a 1200 m (4000 piedi)
Trasmissione differenziale che migliora l’immunità al rumore
Ampio range di modo comune che consente differenze di potenziale di massa tra master e slave
Si consiglia di utilizzare cavi a coppie intrecciate conformi allo standard RS-422. La velocità massima di trasmissione dipende dalla lunghezza del cavo; come riferimento si possono usare i seguenti valori:
Lunghezza del cavo in m (piedi) | 13 (42) | 44 (144) | 85 (278) | 300 (984) | 750 (2460) |
Frequenza massima del clock | 2 MHz | 1 MHz | 600 kHz | 200 kHz | 80 kHz |
Suggerimenti e consigli
Come collegare encoder con risoluzione singleturn superiore a 13 bit?
I controllori sono spesso limitati a una risoluzione singleturn di 13 bit. Se si desidera collegare encoder con risoluzioni singleturn più elevate (es. 16 bit), si può provare a utilizzare il controllore in modalità multiturn a 25 bit e sfruttare la funzione di scaling disponibile.