SSI ( Synchronous Serial Interface , interfață sincronă-serială ) este o interfață de transmisie digitală unidirecțională, nemultiplexată, cu transmisie serială bit-cu-bit, concepută pentru aplicații industriale cu niveluri ridicate de interferență electromagnetică și linii lungi de comunicație (până la 1,5 km) cu o rată de transmisie de 100 kbps până la 2 Mbps, de exemplu, între un senzor de la distanță și un controler și este potrivit pentru aplicații care necesită fiabilitate în măsurători în medii industriale dure.
În ceea ce privește nivelurile de semnal și cerințele pentru linia de comunicație, acesta corespunde interfeței RS-422 .
SSI a fost dezvoltat inițial în 1984 de către Max Stegmann GmbH [1] pentru a transmite date de la codificatoare digitale absolute de poziție și unghi , motiv pentru care unii producători de servo și servo encoder se referă adesea la interfața lor SSI ca „interfață Stegmann”.
Condițiile de utilizare au fost reglementate anterior de brevetul german DE 3445617, care a expirat în 1990.
În această interfață, transferul cuvintelor de date binare se realizează secvențial și bit cu bit într-o direcție de la un singur dispozitiv - de obicei un senzor la un alt dispozitiv, de exemplu, un controler programabil . Dispozitivul de recepție nu transmite date către senzor, ci controlează procesul de transmisie. Prin urmare, controlerul este de obicei denumit master și senzorul ca slave.
Transmisia de biți este sincronizată de un ceas generat de master. Fiecare bit este transmis într-un ciclu de ceas. Astfel, slave și master sunt conectate prin două canale - canalul pentru transmiterea impulsurilor de sincronizare de la master și canalul pentru transmiterea de biți ai cuvântului de date de la senzor. Deoarece ceasul și datele sunt aproape egale ca lungime pe perechile răsucite, ele au, de asemenea, întârzieri egale de propagare, ceea ce duce la o transmisie stabilă a datelor pe distanțe lungi la viteze mari.
Protocolul de transmisie nu utilizează impulsuri de oprire și pornire, ca, de exemplu, în interfața RS-232 , care crește viteza de transmisie.
Protocolul de schimb prevede monitorizarea stării de sănătate a liniei - verificarea întreruperilor și scurtcircuitelor nucleelor cablurilor.
Din punct de vedere electric, o pereche de dispozitive sunt conectate prin două perechi răsucite prin care semnalele sunt transmise într-o formă diferențială, similar cu interfețele RS-422 și RS-485 [2] , o pereche este concepută pentru a transmite impulsuri de sincronizare, a doua pentru a transmite biți de date. Cu o astfel de transmisie, nivelurile de tensiune din perechile răsucite se schimbă în antifază, iar perechile răsucite din partea receptorului sunt conectate la intrările amplificatoarelor diferențiale . Metoda diferențială de transmisie a semnalului asigură o suprimare semnificativă a zgomotului în modul comun, ceea ce crește imunitatea la zgomot.
Liniile de perechi răsucite sunt de obicei denumite Clock+ și Clock- sau Clk+ și Clk- pentru un semnal de ceas și Data+ și Data- pentru un semnal de date. Pentru interfața RS-422, se obișnuiește să se considere nivelul scăzut al liniei „+” în raport cu linia „-” ca 1 logic, dar mai departe în textul diagramelor de timp, nivelurile 1 logic sunt afișate ca obișnuit – de sus.
Este posibil să utilizați linii de alimentare suplimentare ale senzorului într-un singur cablu de comunicație slave-master. De obicei, perechile răsucite dintr-un cablu, în special în cazul cablurilor lungi, sunt ecranate cu o împletitură conectată la masă pentru a reduce interferența.
În dispozitivele de recepție ale masterului și slavei, se utilizează de obicei izolarea galvanică , ceea ce crește, de asemenea, imunitatea la zgomot la interferența în modul comun , elimină suprasarcina amplificatoarelor diferențiale de intrare cu un semnal de mod comun și blochează fluxul de curent circulant la potențiale diferite ale pământului. a dispozitivelor master și slave. Optocuplele sau optocuptoarele sunt aproape întotdeauna folosite ca elemente care asigură izolarea galvanică .
Parametrii electrici de comunicație sunt reglementați de standardul de interfață RS-422 - niveluri de tensiune diferențiale între conductorii perechi răsucite ± 6 V la o rezistență de sarcină de 100 Ohm , la utilizarea cablurilor de comunicație recomandate de standardul RS-422, lungimea maximă a linia de comunicație este de 1,5 km la o rată de transmisie de până la 100 kbps. Când se utilizează linii de comunicație mai scurte, standardul RS-422 permite o creștere a vitezei de transmisie cu până la 10 Mbps, dar standardul SSI limitează rata de transmisie (frecvența ceasului) la 2 MHz.
Un dispozitiv master peste o pereche răsucită poate sincroniza până la 3 dispozitive slave, desigur, perechile de date răsucite de la dispozitivele slave sunt individuale pentru fiecare dispozitiv slave.
Standardul SSI nu specifică tipul de conectori pentru cabluri de terminare; sunt adesea folosite perechi de conectori de tip Mini-DIN sau DE-9 . O serie de producători folosesc terminale cu șuruburi .
Dispozitivul slave are un registru de deplasare inel cu o înregistrare paralelă a cuvântului de date - rezultatul măsurării și ieșirea în serie a biților la trecerea la linia de date printr-un driver diferenţial . Conținutul registrului de deplasare este actualizat la începutul transferului de cuvânt de conținutul registrului intermediar. În absența transmiterii datelor, cuvântul rezultatului măsurării este scris periodic în registrul intermediar și rezultatul măsurării este astfel actualizat constant în acest registru [3] .
De asemenea, dispozitivul slave are un one -shot repornit cu o durată fixă a stării instabile, durata stării instabile - modul activ al interfeței este evident mai mare decât durata de transmitere a unui bit. În starea instabilă a one-shot, scrierea paralelă la registrul suplimentar este blocată. Transferul one-shot-ului într-o stare instabilă și repornirea one-shot-ului se realizează prin nivelul zero ("0") al semnalului de sincronizare. În starea instabilă a one-shotului, actualizarea datelor din registrul suplimentar este blocată. Această singură lovitură participă la protocolul de transmisie și diagnosticarea cablului.
Lungimea cuvântului în biți este determinată de proiectarea (programul) programului slave și master și poate fi de lungime arbitrară. Pe lângă datele măsurate efective - rezultatul numeric al măsurării, dezvoltatorii de senzori includ uneori câmpuri de biți de serviciu în cuvântul de date , de exemplu, rezultatele autodiagnosticării senzorului și/sau câmpuri de biți pentru corecție și detectarea erorilor.
Codificarea datelor rezultatului măsurării este, de asemenea, arbitrară, în funcție de senzorul specific, de exemplu, codul binar pozițional obișnuit sau codul Gray . Transferul rezultatului numeric al măsurării se face de obicei cu cei mai semnificativi biți mai întâi. Formatul cuvântului transmis este descris în detaliu în specificația pentru un anumit senzor.
Există 2 opțiuni pentru transmiterea datelor - în cuvinte separate și cu transmitere continuă a cuvintelor.
Protocol de transmisie cu un singur cuvântInițial și în modul de așteptare al transmisiei, masterul ține linia de sincronizare în starea 1 logic ("1"), singurul shot al slave este într-o stare stabilă, în timp ce actualizarea conținutului în registrul auxiliar pe baza rezultatelor măsurătorii este permis, linia de date este ținută de slave în starea „1”. Starea de așteptare poate dura o perioadă de timp arbitrară.
Începutul transmisiei este inițiat de către master, setând „0” pe linia de sincronizare. În același timp, următoarele acțiuni sunt efectuate simultan:
Începutul transferului primului bit începe cu transferul liniei de sincronizare la „1”, în timp ce ieșirea registrului de deplasare este transmisă la linia de date.
Recepția efectivă a bitului către master se realizează pe marginea descendentă a semnalului de sincronizare. Următoarea margine ascendentă a sincronizării deplasează cuvântul în registrul de deplasare inel și dă următorul bit al cuvântului de la ieșirea registrului de deplasare la linia de date, care este citită din nou de lider pe marginea descendentă a sincronizării. Procesul descris se repetă până când toți biții sunt transmisi. După primirea ultimului bit, slave ține „1” pe linia de sincronizare, iar repornirea one-shot se oprește. După timpul de întoarcere, singura fotografie trece la starea de echilibru, ceea ce pune interfața în modul de așteptare, în timp ce actualizarea registrului auxiliar cu date noi de măsurare se reia.
Modul standby durează până la o nouă transmisie.
Deoarece în modul de așteptare linia de date este neapărat „1”, iar după încheierea transmisiei, în timp ce o singură fotografie este într-o stare instabilă, linia de date trebuie să fie neapărat „0”, acestea sunt semnături de diagnosticare ale unei defecțiuni a cablului - întreruperi sau scurtcircuite ale nucleelor liniei de date sau sincronizare. Dacă linia de sincronizare eșuează, slave pur și simplu nu răspunde. Semnăturile de diagnosticare sunt procesate de programul principal.
Evident, în această interfață, durata perioadei de ceas poate varia foarte mult și chiar poate fi diferită atunci când sunt transmiți diferiți biți ai cuvântului. Cerința principală este ca durata perioadei să fie în mod evident mai mică decât durata stării instabile a unui singur vibrator.
Modul de retransmitere a cuvintelorAcest mod este utilizat pentru a verifica corectitudinea transmisiei în condiții de interferență puternică pe linia de comunicație.
După starea inactiv, transmisia unui cuvânt nu este diferită de transmisia cuvintelor individuale, dar masterul în acest mod generează o reluare a impulsurilor de sincronizare înainte ca slave-ul one-shot să treacă la starea staționară. Deoarece actualizarea registrului de deplasare este blocată în stare instabilă, iar după numărul de deplasări egal cu lungimea registrului de deplasare inel, acesta intră în aceeași stare ca înainte de schimbare, același cuvânt este transmis prin interfață.
Comparația pentru egalitatea a două sau mai multe cuvinte obținute în acest mod de către programul gazdă vă permite să obțineți informații fiabile în condiții de interferență puternică fără a utiliza coduri de detectare a erorilor sau de corectare a erorilor, de exemplu, codul Hamming , care simplifică foarte mult hardware-ul senzorului. În consecință, răzbunarea pentru aceasta este că atunci când retransmite, debitul canalului scade.