USB (magistrală serial universală, magistrală serial universală)

În lumea modernă, tehnologia electronică este dezvoltată de salturi și limite. În fiecare zi există ceva nou și nu numai îmbunătățiri minore ale modelelor existente, ci și rezultate ale aplicării tehnologiilor inovatoare care permit îmbunătățirea caracteristicilor de mai multe ori.







Industria electronică ține, de asemenea, pasul cu industria electronică - de fapt, pentru a dezvolta și a lansa noi dispozitive pe piață, acestea trebuie să fie testate temeinic atât la etapa de proiectare și dezvoltare, cât și la etapa de producție. Există noi tehnici de măsurare și noi metode de măsurare și, în consecință, noi termeni și concepte.

Pentru cei care se confruntă adesea cu abrevieri, abrevieri și termeni incomprehensibili și doresc să înțeleagă mai profund semnificația lor, iar acest titlu este destinat.

USB (magistrală serial universală, magistrală serial universală)

USB (magistrală serial universală, magistrală serial universală)

Arhitectura USB comună

Arhitectura fizică a USB-ului este determinată de următoarele reguli:

  • dispozitivele sunt conectate la gazdă;
  • conectarea fizică a dispozitivelor între ele se efectuează în funcție de topologia unei stele cu mai multe straturi, a cărei vârf este nodul rădăcină;
  • centrul fiecărei stele este un hub;
  • fiecare segment de cablu conectează două puncte: o gazdă cu un hub sau o funcție, un hub cu o funcție sau un alt hub;
  • la fiecare port al hub-ului se poate conecta un dispozitiv USB periferic sau un alt hub, permițând în același timp până la 5 nivele de hub-uri în cascadă, fără a socoti rădăcina.

Cel mai înalt nivel este hubul rădăcină, care este de obicei combinat cu un controler USB.

La hubul rădăcină pot fi conectate dispozitive sau alte huburi pentru a mări numărul de porturi disponibile. Concentratorul poate fi realizat sub forma unui dispozitiv separat sau poate fi construit în altul, adică dispozitivele conectate la USB pot fi împărțite în dispozitive funcționale, adică cele care efectuează o funcție specifică (de exemplu, șoareci), dispozitivele hub care efectuează numai funcția de ramificare și dispozitivele combinate care includ un hub care extinde setul de porturi (de exemplu, monitoare, cu porturi pentru conectarea altora).

USB (magistrală serial universală, magistrală serial universală)
USB (magistrală serial universală, magistrală serial universală)

La al cincilea nivel, un dispozitiv combinat nu poate fi utilizat. În plus, ar trebui să menționăm separat o gazdă, care este mai degrabă un complex software și hardware decât un dispozitiv.

USB (magistrală serial universală, magistrală serial universală)
USB (magistrală serial universală, magistrală serial universală)

Detaliile arhitecturii fizice sunt ascunse de programele de aplicație din software-ul de sistem (SO), astfel încât arhitectura logică arata ca o stea obișnuită, centrate pe software-ul aplicației, iar nodurile reprezintă un set de puncte finale. Programul de aplicații schimbă informații cu fiecare punct final.

Componentele USB

Magistrala USB constă din următoarele elemente:

  • Gestiunea gazdă (controler gazdă, gazdă scurtă) este controlerul principal care face parte din unitatea de sistem a calculatorului și controlează funcționarea tuturor dispozitivelor de pe magistrala USB. Numai o gazdă este permisă pe magistrala USB. Unitatea de sistem a computerului personal conține una sau mai multe gazde, fiecare controlând o magistrală separată USB.
    Sarcinile gazdei includ:
    • monitorizarea conectării și deconectării dispozitivelor;
    • organizarea fluxurilor de control între dispozitivul USB și gazdă;
    • organizarea fluxurilor de date între dispozitivul USB și gazdă;
    • dispozitive de monitorizare și menținerea statisticilor de activitate;
    • Alimentarea dispozitivelor conectate cu sursa de alimentare.
  • USB (magistrală serial universală, magistrală serial universală)
    Un dispozitiv poate fi un hub, o funcție sau un dispozitiv combinat; port (port) - punctul de conectare;
  • hub (hub, hub) este un dispozitiv care oferă porturi suplimentare pe magistrala USB, adică Hubul convertește un port (port în amonte, port în amonte) la mai multe porturi (porturi din aval, porturi din aval). Arhitectura permite conectarea mai multor hub-uri (nu mai mult de 5). Hub-ul recunoaște conectarea și deconectarea dispozitivelor la porturi și poate controla alimentarea cu energie a porturilor. Fiecare dintre porturi poate fi activat sau dezactivat și poate fi configurat la un curs de schimb complet sau limitat. Hubul asigură izolarea segmentelor cu viteză redusă de la cele de mare viteză. Hub-ul poate limita curentul consumat de fiecare port;
  • rădăcină hub (hub rădăcină) este un hub care face parte din gazdă;
  • funcția (funcția) este un dispozitiv USB periferic sau unitatea separată, capabil să transmită și să primească informații prin magistrala USB. Înainte de utilizare, funcția trebuie să fie configurată de gazdă - trebuie să fie alocată o bandă în canal și sunt selectate opțiunile de configurare;
  • Un dispozitiv USB logic (dispozitiv logic) este o colecție de puncte finale cu care datele pot fi schimbate. Numărul și funcția punctelor depind de dispozitiv și de funcțiile pe care le efectuează și sunt determinate în timpul producției. Există un punct obligatoriu cu numărul 0 - pentru a monitoriza starea dispozitivului și pentru a-l controla. Înainte de a configura dispozitivul prin punctul 0, celelalte canale nu sunt disponibile.
    Fiecare punct final al dispozitivului este descris de următorii parametri:
    • frecvența accesului la autobuz și cerințele privind întârzierile;
    • lățimea de bandă necesară;
    • numărul de punct final;
    • cerințele de gestionare a erorilor;
    • dimensiunea maximă a cadrului care poate fi recepționată sau trimisă;
    • tipul de transfer de date acceptat;
    • direcția transmisiei între exactul final și gazdă.

Proprietățile dispozitivului USB

Niveluri de comunicare logică

Specificația USB definește trei nivele logice cu reguli specifice de interacțiune. Dispozitivul USB conține interfața, componentele logice și funcționale. Gazdă este, de asemenea, împărțit în trei părți - interfață, sistem și software. Fiecare parte este responsabilă numai pentru o anumită serie de sarcini.







Astfel, operațiunea de schimb de date între programul de aplicație și magistrala USB se realizează prin transferarea tampoanelor de memorie prin următoarele nivele:

  • nivel de software client în gazdă:
    • apare de obicei ca un driver de dispozitiv USB;
    • oferă interacțiunea utilizatorului cu sistemul de operare, pe de o parte, și driverul de sistem, pe de altă parte;
  • Nivelul driverului de sistem USB gazdă (USB, Universal Serial Bus Driver):
    • controlează numerotarea dispozitivelor din magistrală;
    • controlează distribuția lărgimii de bandă și a puterii;
    • Procesează solicitările de driver de utilizator;
  • nivel al controlerului gazdă al interfeței bus USB (HCD, driver de controler gazdă):
    • convertește cererile I / O la structurile de date pentru care se efectuează tranzacții fizice;
    • funcționează cu registrele gazdă.

Relația dintre software-ul clientului și dispozitivele USB: USB furnizează interfața pentru interacțiune și numai aceasta, permițând software-ul clientului să existe în mod izolat de dispozitivul conectat la magistrala și configurația acestuia. Pentru un program client, USB este doar un set de funcții.

Interacțiunea componentelor USB este prezentată în diagrama de mai jos:

USB (magistrală serial universală, magistrală serial universală)

Structura avută în vedere include următoarele elemente:

Dispozitiv fizic USB este un dispozitiv pe magistrală, care efectuează funcții care sunt de interes pentru utilizatorul final.

Client SW - software care corespunde unui anumit dispozitiv, executat pe computerul gazdă. Acesta poate fi o parte integrantă a sistemului de operare sau a unui produs special.

USB System SW - suport pentru sistem USB, independent de dispozitive specifice și software client.

USB Host Controller - hardware și software pentru conectarea dispozitivelor USB la un computer gazdă.

Principii de transmitere a datelor

Mecanismul de transmitere a datelor este asincron și blocat. Un bloc de date transmise se numește un cadru USB sau un cadru USB și se transmite într-un interval de timp fix. Funcționarea comenzilor și a blocurilor de date se realizează utilizând o abstracție logică, numită canal. Un canal este legătura logică dintre gazdă și punctul final al dispozitivului extern.

Pentru a trimite comenzi (și date incluse în comenzi), se utilizează canalul implicit, iar pentru transferul de date se deschid fie canalele de flux, fie canalele de mesaje.

Caracteristicile corespunzătoare punctului final sunt asociate cu canalele. Canalele sunt organizate la configurarea dispozitivelor USB. Pentru fiecare dispozitiv activat, există un canal de mesaj (Control Pipe 0), prin care se transmite informația de configurare, control și stare.

Orice schimb prin intermediul magistralei USB este inițiat de controlerul gazdă. El organizează schimburi cu dispozitive în conformitate cu planul său de alocare a resurselor.

Controlorul ciclic (cu o perioadă de 1,0 ± 0,0005 ms) generează cadre la care sunt plasate toate transmisiile programate.

Fiecare cadru începe cu trimiterea unui pachet de marcatori SOF (Start of Frame), care este semnalul de sincronizare pentru toate dispozitivele, inclusiv hub-uri. La sfârșitul fiecărui cadru, este alocat un interval de timp EOF (End of Frame) pentru care hub-urile interzic transmiterea spre controler. Dacă hub-ul detectează că datele sunt transferate de la un port în acest moment, acest port este dezactivat.

În modul de transmisie de mare viteză, pachetele SOF sunt transmise la începutul fiecărei microframe (perioada 125 ± 0,0625 μs).

Gazda planifică încărcarea cadrelor astfel încât acestea să aibă întotdeauna un loc pentru transmisiile cu prioritate maximă, iar spațiul liber al cadrelor este umplut cu transmisii cu prioritate redusă de cantități mari de date. Specificația USB vă permite să împrumutați până la 90% din lățimea de bandă a magistralei pentru tranzacții periodice (izocronice și întreruperi).

Fiecare cadru are propriul număr. Controlerul gazdă funcționează cu un contor de 32 de biți, dar în simbolul SOF sunt transmise numai cele 11 biti inferiori. Numărul cadrului este crescut în mod ciclic în timpul EOF.

Pentru transferul izocron, este important să se sincronizeze dispozitivele și controlerul. Există trei variante de sincronizare:

  • sincronizarea generatorului intern al dispozitivului cu marcatori SOF;
  • Ajustarea frecvenței cadrelor la frecvența dispozitivului;
  • potrivirea vitezei de transmisie (recepție) a dispozitivului cu rata cadrelor.

În fiecare cadru, se pot efectua mai multe tranzacții, numărul lor permisibil depinde de viteza, lungimea câmpului de date al fiecăruia, precum și de întârzierile introduse de cabluri, hub-uri și dispozitive. Toate tranzacțiile cadru trebuie să fie finalizate înainte de timpul EOF. Frecvența de generare a cadrelor poate varia ușor, cu ajutorul unui registru special al controlerului gazdă, care vă permite să reglați frecvența transmisiilor izocronice. Ajustarea ratei de cadre a controlerului este posibilă în funcție de frecvența sincronizării interne a unui singur dispozitiv.

Informațiile de pe canal sunt transmise ca pachete (pachete). Fiecare pachet începe cu câmpul de sincronizare SYNC (SYNChronization), urmat de identificatorul de pachete PID (Packet IDentifier). Câmpul de verificare este un invers bitwise al PID-ului.

Structura datelor pachetului depinde de grupul din care face parte.

USB (magistrală serial universală, magistrală serial universală)

1. Software-ul client trimite cererile IPR la nivelul USBD.

2. Driver-ul USBD împarte cererile de tranzacții în conformitate cu următoarele reguli:

  • executarea cererii este considerată completă atunci când toate tranzacțiile care alcătuiesc tranzacția sunt finalizate cu succes;
  • toate detaliile prelucrării tranzacțiilor (cum ar fi așteptarea pregătirii, repetarea tranzacției pe eroare, indisponibilitatea receptorului etc.) la software-ul clientului nu sunt aduse;
  • Software-ul poate porni cererea și poate aștepta sau executa cererea sau poate ieși din timpul de expirare;
  • Dispozitivul poate semnala erori grave, ceea ce duce la o reziliere anormală a solicitării, care este notificată de către sursa cererii.

3. Driverul controlerului gazdă primește o listă de tranzacții din driverul de sistem și efectuează următoarele acțiuni:

  • planifică executarea tranzacțiilor primite, adăugându-le în lista de tranzacții;
  • preluă următoarea tranzacție din listă și o transmite la interfața gazdă a interfeței gazdă;

4. Controler-ul gazdă al interfeței bus USB generează cadre;

5. Cadrele sunt transmise prin transmisie serială bit folosind metoda NRZI

Astfel, putem formula următoarea schemă simplificată:

USB (magistrală serial universală, magistrală serial universală)

1. Fiecare cadru este alcătuit din parcelele cu cea mai mare prioritate, a căror compoziție formează șoferul gazdă;

2. fiecare transfer constă într-una sau mai multe tranzacții;

3. Fiecare tranzacție este formată din pachete;

4. Fiecare pachet constă dintr-un identificator de pachete, date (dacă există) și o sumă de control.

Tipuri de mesaje pe USB

Specificația magistralei definește patru tipuri diferite de transfer (tip de date) pentru obiectivele finale:

Mecanism de întrerupere

Nu există nicio întrerupere pentru magistrala USB a acestui mecanism. În schimb, gazda sondează dispozitivele conectate pentru a prezenta date de întrerupere. Sondajul are loc la intervale fixe, de obicei la fiecare 1 până la 32 ms. Dispozitivului i se permite să trimită până la 64 de octeți de date.

Din punctul de vedere al șoferului, capabilitățile de întrerupere sunt de fapt determinate de gazdă, care oferă suport pentru implementarea fizică a interfeței USB.

Moduri de transfer de date

Busul USB are trei moduri de transfer de date:

  • Viteză redusă (LS, viteză mică) de 1,5 Mbps;
  • Viteză maximă (LF, viteză maximă) de 12 Mbit / s;
  • Viteză mare (HS, viteză mare, numai pentru USB 2.0) 480 Mbit / s.

Conectarea perifericelor la magistrala USB

Pentru conectarea dispozitivelor periferice la magistrala USB, se utilizează un cablu cu patru fire, cu două fire (pereche torsadată) în comutarea diferențială utilizată pentru recepționarea și transmiterea datelor și două fire pentru alimentarea dispozitivului periferic.

Specificația 1.0 reglează două tipuri de conectori:

USB (magistrală serial universală, magistrală serial universală)
USB (magistrală serial universală, magistrală serial universală)

Ulterior, conectorii miniaturați au fost dezvoltați pentru utilizarea dispozitivelor USB în dispozitive portabile și mobile, numite Mini-USB.

USB (magistrală serial universală, magistrală serial universală)

Există, de asemenea, conectori de tipul Mini AB și Micro AB, cu care sunt conectați conectorii corespunzători de tip A și de tip B.

USB (magistrală serial universală, magistrală serial universală)

De asemenea, există conectori miniaturați - Micro USB.

USB (magistrală serial universală, magistrală serial universală)

Conectarea unui dispozitiv de viteză redusă

USB (magistrală serial universală, magistrală serial universală)

Semnalele de sincronizare sunt codificate împreună cu datele prin metoda NRZI (Non Return to Zero Invert). Fiecare pachet este precedat de un câmp de sincronizare SYNC, care permite receptorului să regleze frecvența emițătorului.

Cablul are, de asemenea, linii VBus și GND pentru transferarea tensiunii de alimentare de 5 V la dispozitive. Secțiunea transversală a conductorilor este selectată în funcție de lungimea segmentului pentru a asigura un nivel de semnal garantat și o tensiune de alimentare.

Materiale pe tema:







Trimiteți-le prietenilor: