
SSI Encoders
Synchronous Serial Interface (SSI)
Synchronous Serial Interface (SSI) to szeroko stosowany standard interfejsu szeregowego w zastosowaniach przemysłowych między urządzeniem nadrzędnym (kontroler) a podrzędnym (sensor).
Master generuje zegar (CLK), a slave wysyła dane na linii DATA. W stanie spoczynku obie linie są na poziomie wysokim.
Wartość położenia jest przesyłana synchronicznie względem sygnału zegara systemu sterowania, zaczynając od bitu najbardziej znaczącego (MSB). Gdy sygnał zegara po raz pierwszy przechodzi z wysokiego na niski (rys. 1 A), dane czujnika zostają zablokowane (zachowane), aby nie ulegały zmianie podczas transmisji.
Następnie przy następnym narastającym zboczu (rys. 1 B) rozpoczyna się transmisja MSB, a każde kolejne zbocze narastające powoduje wysłanie kolejnego bitu. Po przesłaniu najmniej znaczącego bitu (LSB), ostatnie narastające zbocze (rys. 1 C) ustawia linię danych na niski poziom, co oznacza zakończenie transmisji.
Czas pauzy
Po ostatnim opadającym zboczu sygnału zegarowego linia danych pozostaje w stanie niskim przez pewien czas – nazywany czasem przekroczenia transmisji (w starszej literaturze również jako czas monoflop).
Jest to minimalny czas potrzebny dla urządzenia podrzędnego (slave), aby rozpoznać zakończenie transmisji.
Po czasie tm
linia danych wraca do stanu bezczynności (rys. 1 D), a urządzenie podrzędne rozpoczyna aktualizację danych.
Jeśli w tym czasie zostanie odebrany sygnał zegarowy (żądanie danych), te same dane zostaną przesłane ponownie (patrz: wielokrotna transmisja).
Minimalny czas pauzy to 20 µs; brak ograniczenia dla maksymalnego czasu.
Rysunek 1: Transmisja SSI

Przerwanie transmisji
Transmisję można przerwać w dowolnym momencie, przestając wysyłać sygnały zegarowe do enkodera. Po czasie pauzy wartość danych zostanie zaktualizowana, a enkoder będzie gotowy do ponownej transmisji. Nie jest wymagane żadne dodatkowe polecenie zatrzymania, a interfejsu nie da się uszkodzić przez wysłanie błędnych poleceń.
Rysunek 1: Transmisja SSI
Reprezentacja binarna danych w transmisji SSI
Reprezentacja danych nie jest ustandaryzowana przez producentów enkoderów. Najczęściej stosowaną metodą jest wyrównanie binarnego kodu do lewej strony. Oznacza to, że dane zaczynają się od najbardziej znaczącego bitu (MSB), który jest najwyższym bitem w enkoderze wieloobrotowym (rysunek 2 – góra) lub w enkoderze jednoobrotowym (rysunek 2 – dół).
Rysunek 2: Reprezentacja binarna danych transmisji SSI
Mxx – Reprezentuje dane obrotowe dla enkodera wieloobrotowego (25 bitów)
Sxx – Reprezentuje dane kątowe dla enkodera jednoobrotowego (13 bitów)

Reprezentacja danych w kodzie Graya
Dane z enkodera są czasami przedstawiane w kodzie Graya. Nadal dość często stosuje się w tym przypadku tzw. „format Tannenbaum”. W tej reprezentacji pierwsze 12 bitów odpowiada za dane wieloobrotowe (obroty), a kolejne 13 bitów za dane jednoobrotowe. Dane są wyśrodkowane względem 13-cykli zegarowych. Przykład pokazano na rysunku 3.
Rysunek 3: Reprezentacja danych transmisji SSI – Kod Graya

Wielokrotna transmisja / Przesunięcie pierścieniowe
Aby zapewnić integralność danych, można przesłać identyczne dane kilkukrotnie i porównać wartości odebrane. Procedura ta jest często nazywana transmisją wielokrotną lub przesunięciem pierścieniowym. Sekwencja realizacji polega na kontynuowaniu wysyłania sygnałów zegarowych po odebraniu pełnego słowa danych (rysunek 4 A). Po pojedynczym bajcie „0” dane zaczynają się ponownie od najbardziej znaczącego bitu (MSB). Wielokrotna transmisja kończy się w ten sam sposób co transmisja pojedyncza – przez zatrzymanie sygnałów zegarowych. Uwaga: nie wszystkie modele enkoderów obsługują funkcję transmisji wielokrotnej.
Rysunek 4: Wielokrotna transmisja SSI

Transmisja fizyczna i okablowanie
Transmisja fizyczna jest realizowana zgodnie ze standardem EIA-422 (RS-422), co zapewnia dostępność komponentów i niezawodność transmisji nawet w warunkach przemysłowych. Zalety tego rozwiązania to:
Długie odległości transmisji – do 1200 m (4000 stóp)
Transmisja różnicowa zwiększająca odporność na zakłócenia
Szeroki zakres trybu wspólnego umożliwiający różnice potencjałów masy pomiędzy masterem a slave’em
Zaleca się stosowanie kabli skrętkowych zgodnych ze standardem RS422. Maksymalna prędkość transmisji zależy od długości kabla; orientacyjnie można przyjąć następujące wartości:
Długość kabla w m (stopach) | 13 (42) | 44 (144) | 85 (278) | 300 (984) | 750 (2460) |
Maksymalna częstotliwość zegara | 2 MHz | 1 MHz | 600 kHz | 200 kHz | 80 kHz |
Wskazówki i porady
Jak podłączyć enkodery o rozdzielczości jednoobrotowej większej niż 13 bitów?
Sterowniki są często ograniczone do rozdzielczości 13 bitów dla jednego obrotu. Jeśli chcemy podłączyć enkoder o wyższej rozdzielczości (np. 16 bitów), można spróbować użyć trybu 25-bitowego multiturn w sterowniku oraz funkcji skalowania dostępnej w urządzeniu.