Interfața este un set de algoritmi de schimb și mijloace tehnice care asigură schimbul de informații între dispozitive.
Alocați diferite nivele ale interfeței A - interfața intrasystem - asigură interacțiunea componentelor kernelului (foarte
viteză mare, implementată nestandard); B - interfața sistemului - interfața elementelor și elementelor kernelului subsistemului input / output;
Interfața C-I / O asigură coerența între controlerul I / O și procesorul I / O;
D - Interfață de interfață periferică a controlorilor I / O cu dispozitive externe.
Procesorul I / O efectuează procesarea și comunicarea cu controlorii I / O.
Controlerul I / O controlează unitățile individuale (dispozitive externe).
Realizarea fizică - conector Număr de contacte - 36
Numărul de dispozitive conectate - 1 (dacă nu există scheme complexe de decodificare) Numărul de biți de date - 8 - ieșire, 4 intrări Viteza de ieșire a datelor - 80-120 KB / s (depinde de viteza receptorului și a transmițătorului)
Viteza de intrare a datelor - 40-60 Kb / s Lungime cablu - până la 2 m.
Dezavantajele acestei interfețe îl fac incomod pentru utilizarea în sistemele profesionale de măsurare, excepțiile fiind blocuri simple cu rate de schimb reduse, care sunt special concepute pentru conectarea simplă la orice calculator standard.
Este o interfață standard de imprimantă în computerele personale și a fost proiectată special pentru acest scop. Prin urmare, pentru a conecta dispozitivele de măsură și control, această interfață este incomodă datorită specificității (vezi Fig.
Există modificări la această interfață, mai convenabile pentru conectarea diferitelor periferice:
1. "Bitronics" bidirecțional cu posibilitatea de a introduce numere de opt cifre și, prin urmare, dublarea vitezei de introducere a datelor
2. Interfață avansată - „PPE“ (Enhanced Parallel Port) și interfață cu caracteristici avansate „ECP“ (port cu capabilități extinse), inclusiv oportunitățile PPE plus suport pentru accesul direct la memorie, ambele opțiuni au viteza portului paralel de schimb de informații este crescut teoretic până la 2 MB / s, însă acestea necesită cabluri speciale
1. Mod sincron (transmisia și recepția biților sunt tactate de impulsuri de sincronizare). Informația este transmisă și recepționată prin intrarea RxD. Prin ieșirea transmițătorului TxD, se generează impulsuri de ceas care percep biții recepționați sau ieșiți. Formatul pachetului este de 8 biți. Viteza de recepție și de transmisie este stabilită de la un număr de frecvențe de ceas.
2. Modul asincron. Informația este transmisă prin ieșirea TxD, dar este recepționată prin RxD. Formatul parcelei este de 11 biți (pornire - "0", 8 biți de informație, 9 biți programabili și biți stop - "1"). Al 9-lea bit este folosit ca bit de control al parității / oddității sau în sisteme multiprocesor pentru
Realizarea fizică - conector
Numărul de contacte - 9 sau 25
Numărul de dispozitive conectate este standard 1, dar există extensii de protocol care vă permit să conectați până la 256 de dispozitive
Numărul de biți de date - de la 5 la 9
Rata de transfer de date este de 110. 115200 bps
Distanța este standard până la 15 m, în majoritatea cazurilor, cu o scădere a vitezei de transmisie poate fi mărită.
Caracteristicile acestei interfețe sunt o rată de transfer foarte scăzută (aproximativ 10-14 KB / s), distanța relativă a obiectului de schimb de informații de la calculator, utilizarea unei interfețe standard pentru conectarea la un calculator fără ao deschide.
Protocol de schimb pentru interfața serială asincronă
În absența transmisiei în linie, se menține un nivel ridicat (unic) logic. Transmisia începe cu un bit de pornire având o valoare zero, după care se transmit biți de informație - biți ai numărului binar transmis.
Primul este gradul inferior, ultimul este cel senior. Numărul de biți de date este de la 5 la 8 (cel mai adesea - 8).
Mai mult, sunt transmise 1, 1,5 sau 2 biți stop cu un nivel de unitate.
Aceasta transferă partea de informații (cuvinte) se termină și un nivel ridicat este setat pe linie, durata acestui interval de timp este nelimitat.
Dacă receptorul nu detectează biții de oprire, atunci este produs un semnal - o eroare de încadrare. Dacă receptorul detectează o nepotrivire a bitului de paritate calculat și primit, se generează un semnal - o eroare de paritate.
Caracteristicile electrice ale semnalelor interfeței
Există două opțiuni pentru implementarea unei interfețe seriale
RS-232C - semnalul este standardizat prin tensiune, logica emițătorului 1 - de la +5 V la +15 V, logica 0 - de la -5 V la -15 V, pe partea receptorului, logica 1 - de la +3 V la +25 V, logic 0 - de la -3 V la -25 V. Această variantă a interfeței este cea mai comună.
buclă de curent - nivelurile logice sunt transmise prin comutarea curentului de 20 mA, sarcina standard este de 680 Ω. Această metodă utilizează de obicei izolarea galvanică a intrărilor receptorului. Această versiune a interfeței are o lungime de transmisie lungă.
USB bus (Universal Serial Bus)
Serial bus universal pentru conectarea diferitelor dispozitive la un calculator. Potrivit dezvoltatorilor, un calculator cu autobuz USB ar trebui să arate așa (Figura 1):
Figura 1 - Conectarea perifericelor cu magistrala USB
Arhitectură bus USB:
Fig. 2 - Arhitectură bus USB
Topologia magistralei USB este foarte asemănătoare cu un copac (figura 2). La rădăcina sa este dispozitivul gazdă - gazda care gestionează magistrala. Sarcinile gazdă includ: detectarea conexiunii / deconectării dispozitivului, controlul fluxului de date, monitorizarea
starea dispozitivului, contabilizarea statisticilor, distribuția alimentării interne între dispozitivele conectate. În autobuz, există întotdeauna doar o gazdă, astfel încât direcția transmisiei de date este de obicei determinată din poziția sa. Dacă transferul este de la gazdă la dispozitiv, fluxul are direcția OUT și se numește în aval. La transferul de la dispozitiv la gazdă, fluxul are o direcție IN și se numește în amonte.
Dispozitivele conectate la magistrala sunt subordonate și sunt împărțite în două tipuri: un hub și un dispozitiv care efectuează o anumită funcție. Hub-ul funcționează ca un splitter de autobuz și oferă porturile sale pentru conectarea altor dispozitive, inclusiv hub-uri. Gazda solicită periodic starea hub-ului și, prin modificarea acestuia, determină conectarea noului dispozitiv sau oprirea lucrătorului. Hub-ul, combinat cu gazda, se numește hub rădăcină. Funcțiile efectuate de butucul rădăcină și hubul obișnuit sunt aceleași.
Ramurile formate de capătul butucului cu un dispozitiv conectat care îndeplinește o anumită funcție. Unele porturi ale hub-ului rămân libere, sunt interzise înainte de conectarea noului dispozitiv și autobuzul nu afectează funcționarea.
Dispozitivele slave nu pot transmite în mod independent, în mod spontan, date pe magistrală, toate operațiile fiind efectuate de acestea doar la cererea gazdei. Cu toate acestea, dacă gazda a transformat dispozitivul într-un mod de reducere a consumului de energie redus, atunci după trezirea de la impactul extern, dispozitivul semnalează schimbarea stării sale fără a aștepta invitația gazdei.
Dispozitivele pot utiliza propria sursă de alimentare sau sursă internă de magistrală USB. Curentul total consumat de dispozitivele de la sursa de magistrală USB nu trebuie să depășească 1 A. Este posibil să se conecteze până la 127 dispozitive slave la magistrala și nu mai mult de șapte niveluri (a se vedea figura).
Trei moduri de operare de mare viteză ale dispozitivelor sunt disponibile pe magistrala USB: viteză redusă - până la 1,5 Mb / s, mod de viteză maximă - până la 12 Mb / s și mod de mare viteză - până la 480 Mb / s. În primul rând, viteza autobuzului determină gazda și, chiar și atunci când este conectată, dispozitivul este reglat la viteza maximă disponibilă. Cea mai mare viteză de transmisie este realizată atunci când dispozitivul funcționează pe o magistrală de mare viteză.
Dispozitivele USB sunt conectate la magistrala comună cu 4 fire reprezentată în Fig. 3 - 2 fire de alimentare și 2 fire de semnale răsucite în pereche torsadată pentru a reduce interferențele. Dispozitivele USB pot fi conectate și deconectate de la magistrala fără a opri alimentarea (așa-numitele "conectări la cald"). Lungimea maximă a cablului este de 10 m.
GND ground, putere Vbus, transmisie de date D + D.
Fig.3 - Linii de conectare prin cablu USB
Conectorii de la capetele cablului USB sunt, de asemenea, specificați și arată astfel
Fig. 4 - Conectori pentru cablu USB
Structura fluxului de informații
Toate informațiile transmise prin magistrala USB pot fi împărțite în următoarele tipuri:
solicita pachete (token);
pachete de date (date);
semne de strângere a mâinii;
Cererile disponibile pentru gazdă au următoarea atribuire (indicate în câmpul PID):
OUT - gazda transmite transmiterea datelor către punctul ENDP al ADDR;
IN - gazda așteaptă date din punctul ADDP al ADDR;
SETUP - gazda pornește transmisia de control pentru punctul ENDP al dispozitivului ADDR;
PING - gazda verifică disponibilitatea punctului ADDP al ADDR. Această solicitare
este disponibil pe o magistrală de mare viteză pentru transmisia BULK (tipul de transmisie a transmiterii garantate a datelor fără erori) și este îndreptată către puncte cu direcție
Pachetul de date este întotdeauna trecut după solicitare. Pachetul include un PID (marcator de date), date utile și o sumă de control CRC16. Dimensiunea pachetului de date este limitată de tipul transferului de date și modul de operare al magistralei USB.
Există următoarele marcaje de date (tipul de marcator este indicat în câmpul PID):
DATAO - pachet de date chiar;
DATA1 - pachet de date impar;
DATA2, MDATA sunt markeri suplimentari utilizați pentru schimbul izocron (unidirecțional) pe o magistrală de mare viteză.
Marcatorii de date permit nu numai identificarea pachetului, ci și controlul integrității fluxului datorită secvenței specifice.
Marcatorii pentru strângere de mână sunt destinați pentru raportarea rezultatelor obținerii datelor și a stării punctului dispozitivului.
Marcatorii poartă următoarele informații (tipul de marcator este indicat în câmpul PID):
ASK - datele primite fără erori și vor fi procesate;
NAK - pentru punctul OUT - datele au fost primite fără erori, dar nu este posibilă prelucrarea acestora și, prin urmare, este necesară o retransmisie a datelor. Pentru punctul IN, datele nu sunt pregătite, gazda poate încerca din nou cererea;
STALL - punctul este în starea HALT și nu poate să-și îndeplinească funcțiile fără intervenția gazdei. Gazda nu trebuie să repete cererea;
NYET - datele sunt primite fără erori și vor fi procesate. Următorul pachet al punctului nu este pregătit să primească. Acest marcator are loc pe o magistrală de mare viteză pentru transmisia BULK și este folosit de punctele OUT.
Alte pachete includ SOF, PRE, ERR, SPLIT. Pentru programator, pachetul SOF este de interes. Acest pachet este utilizat pentru sincronizare și este transmis de gazdă la un anumit interval de timp.
Tipuri de transmisii de date
Există patru tipuri de transfer de date pe magistrala USB. Ele diferă în ceea ce privește cantitatea de date transferate, prioritatea livrării și sistemul de monitorizare și eliminare a erorilor.
Cel mai frecvent utilizat tip este BULK. Pentru un astfel de transfer, se garantează că datele sunt livrate fără erori, în timp ce timpul de livrare nu este garantat și depinde de volumul de lucru al autobuzului. Controlul datelor se efectuează la nivelul pachetelor - suma CRC16 - și la nivelul fluxului, unde pachetul par și ciudat au marcatori corespunzători - DATA0, DATA1. Dacă se detectează o eroare, partea receptoare nu returnează un jet de confirmare, atunci mecanismul de retransmisie a transmisiei automate este declanșat pe partea de transmitere.
Mărimea pachetului de date poate fi arbitrară, inclusiv zero, dar nu trebuie să depășească valoarea maximă admisă. Pentru o magistrală USB de mare viteză, valoarea maximă este de 512 octeți, pentru viteză maximă, 8, 16, 32 sau 64 octeți.
Transferul de date BULK pentru o magistrală de viteză completă este prezentat în Figura 5. Gazda pentru două cicluri transmite date către dispozitiv și primește confirmarea. În al treilea ciclu, după primirea datelor, dispozitivul raportează incapacitatea de a procesa datele. Acest exemplu arată punctul slab al magistralei de viteză completă, unde cel de-al treilea pachet de date este pierdut și este necesară retransmiterea acestuia, ceea ce mărește încărcarea magistralei.
Al doilea tip de transmisie este INTERRUPT (întrerupere). Acest tip este utilizat când trebuie să faceți schimb de date într-un anumit interval de timp. Gazda garantează schimbul cu un interval specificat și ia în considerare acest lucru la distribuirea încărcării magistralei.
Dimensiunea pachetului de date pentru o magistrală de mare viteză este de la 1 până la 1024 octeți, iar pentru o magistrală cu viteză maximă este de la 1 până la 64 de octeți. Intervalul de interogare a punctului depinde, de asemenea, de modul de funcționare al magistralei și se situează în intervalul de 0,125. 4 ms pentru modul de viteză mare și 1. 255 ms pentru rata maximă.
Ciclurile de schimb sunt similare cu tipul de transmisie BULK prezentat în Fig. 5 și 6 de mai sus. Absența datelor pentru transmiterea de la punctul IN este o situație obișnuită, gazda va trimite următoarea solicitare după expirarea timpului specificat.
Dimensiunea pachetului de date de pe magistrala de mare viteză este de 1024 octeți, iar pe magistrala cu viteză maximă este de 1023 octeți.
O recepție tipică a informațiilor izocronice este prezentată în Fig. 7. După cum se poate vedea din figură, nu există indicatori de recunoaștere în ciclurile de schimb.
Fig. 7 - Recepția datelor izocronice
Ultimul tip de transmisie de date este CONTROL (control, control). Acest tip
Transmisia este utilizată numai când accesați punctul de referință al dispozitivului. total
Tranzacția transmisiei de control (figura 8) constă din trei faze.
Fig. 8 - Formatul tranzacției de control
Prima fază, prezentată în partea de sus a figurii, se numește SETUP, în această fază gazda transmite un pachet de date de 8 octeți în mărime. Acest pachet conține cerința pe care dispozitivul trebuie să o îndeplinească. A doua fază, descrisă în partea de mijloc a figurii, faza de date, este opțională. Acesta este prezent în cazul în care sunt necesare date suplimentare pentru a îndeplini cerința. Structura fluxului în faza de date este complet identică cu tranzacția BULK. Ultima fază se numește faza de stare. Gazda, care așteaptă confirmarea îndeplinirii cererii de către dispozitiv, trimite cereri. Direcția cererilor este opusă celei utilizate în faza de date. Când cererea OUT este trimisă, gazda trimite un pachet de date cu lungime zero. În timp ce dispozitivul este ocupat îndeplinind această cerință, acesta răspunde cu marcatorul NAK, după încheierea cu succes, cu marcatorul ACK. Dacă dispozitivul nu poate să îndeplinească cerințele sau nu îl acceptă, atunci în faza de date sau de stare este necesară returnarea marcajului STALL. Dimensiunea pachetului de date de pe magistrala de mare viteză este de 64 octeți, pe magistrala full-rate este 64, 32, 16 sau 8 octeți.
Cerințele standard utilizate pentru controlul dispozitivului sunt transmise prin acest tip de transmisie. Atunci când dezvoltați un dispozitiv USB, programatorul trebuie să se asigure că toate cerințele standard sunt îndeplinite și, dacă este necesar, să adauge propriile cerințe.
• Adăugat 2 perechi de fire - ecranate (recepție și transmisie - implementate
Pentru a continua descărcarea, trebuie să colectați imaginea: