Universal Serial Bus (USB) | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||
Tip de | Obosi | ||||||||||||||||||
Poveste | |||||||||||||||||||
Dezvoltator | Compaq , DEC , IBM , Intel , Microsoft , NEC și Nortel | ||||||||||||||||||
Dezvoltat | 1996 | ||||||||||||||||||
Produs | din mai 1996 [1] | ||||||||||||||||||
alungat |
Port serial , Port paralel , Port de joc , ADB , PS/2 , |
||||||||||||||||||
Specificații | |||||||||||||||||||
Lungime, mm | 6,65 ( Tip-C ) | ||||||||||||||||||
Latime, mm |
|
||||||||||||||||||
Înălțime, mm |
|
||||||||||||||||||
Schimb la cald | da | ||||||||||||||||||
Extern | da | ||||||||||||||||||
Cablu | 2–5 m (în funcție de categorie) | ||||||||||||||||||
concluzii |
|
||||||||||||||||||
Parametrii electrici | |||||||||||||||||||
Voltaj | 5VDC _ | ||||||||||||||||||
Max. Voltaj |
|
||||||||||||||||||
Max. actual |
|
||||||||||||||||||
Opțiuni de date | |||||||||||||||||||
Transfer de date | pachete de date definite prin specificații | ||||||||||||||||||
Lățimea biților | 1 bit | ||||||||||||||||||
Lățimea de bandă |
În funcție de mod:
|
||||||||||||||||||
Max. dispozitive | 127 | ||||||||||||||||||
Protocol | consistent | ||||||||||||||||||
Pinout | |||||||||||||||||||
|
|||||||||||||||||||
Fișiere media la Wikimedia Commons |
USB ( în engleză Universal Serial Bus - „universal serial bus”) este o interfață serială pentru conectarea dispozitivelor periferice la tehnologia computerului . A primit cea mai largă distribuție și a devenit interfața principală pentru conectarea perifericelor la electrocasnicele digitale.
Interfața permite nu numai schimbul de date, ci și furnizarea de energie dispozitivului periferic. Arhitectura de rețea vă permite să conectați un număr mare de periferice chiar și la un dispozitiv cu un singur conector USB.
Dezvoltarea specificațiilor USB se realizează în cadrul organizației internaționale non-profit USB Implementers Forum (USB-IF), care reunește dezvoltatorii și producătorii de echipamente cu magistrala USB. În procesul de dezvoltare, au fost dezvoltate mai multe versiuni ale specificațiilor . Cu toate acestea, dezvoltatorii au reușit să mențină un grad ridicat de compatibilitate între echipamentele diferitelor generații. Specificația interfeței acoperă o gamă fără precedent de probleme legate de conectarea și interacțiunea dispozitivelor periferice cu un sistem informatic:
La Intel, ziua de naștere a USB este 15 noiembrie 1995 [4] [5] . Primele specificații pentru USB 1.0 au fost prezentate în 1994-1995. Dezvoltarea USB a fost susținută de Intel , Microsoft , Philips , US Robotics . USB a devenit un „numitor comun” sub trei aspirații independente ale diferitelor companii:
Suportul USB a fost lansat în 1996 ca un patch pentru Windows 95 OEM Service Release 2 , ulterior a devenit standard în Windows 98 . În primii ani (1996-1997) existau puține dispozitive, așa că autobuzul era numit în glumă „Useless serial bus” („useless serial bus”) [6] . Cu toate acestea, producătorii și-au dat seama rapid de beneficiile USB, iar până în 2000, majoritatea imprimantelor și scanerelor au lucrat cu noua interfață.
Hewlett-Packard , Intel , Lucent (acum Alcatel-Lucent ), Microsoft , NEC și Philips au luat împreună inițiativa de a dezvolta o versiune mai rapidă de USB. Specificația USB 2.0 a fost publicată în aprilie 2000, iar la sfârșitul anului 2001 această versiune a fost standardizată de USB Implementers Forum. USB 2.0 este compatibil cu toate versiunile anterioare de USB.
Unele dintre cele mai vechi dispozitive mobile aveau un conector USB-B voluminos [7] încorporat în ele . Dar, mai des, dezvoltatorii au încălcat standardul prin încorporarea unui USB-A puțin mai compact [7] , sau au venit cu propriul conector. Cu standardul USB 2.0 au apărut conectori Mini-A și Mini-B special pentru dispozitivele mobile, iar ulterior a apărut specificația USB OTG. În 2007 au apărut conectorii Micro-A și Micro-B, de două ori mai subțiri decât Mini- și mai fiabili [7] . Un alt dezavantaj al MiniUSB este că dispozitivele de fixare se aflau la periferie, nu în cablu, iar în cazul unei avarii, dispozitivul trebuia reparat, mai degrabă decât schimbarea unui cablu ieftin [7] . În 2009, în încercarea de a reduce cantitatea de deșeuri electronice , Micro-B a fost anunțat ca standard principal pentru încărcătoarele de telefoane mobile, dar memoriul nu a fost niciodată implementat pe deplin - Apple a făcut pur și simplu un adaptor de la Micro-B la conectorul său.
La începutul anilor 2000, Apple Corporation a acordat prioritate autobuzului FireWire , în dezvoltarea căruia a fost implicată activ. Modelele timpurii ale iPod -ului erau echipate doar cu o interfață FireWire și nu exista USB. Ulterior, compania a abandonat FireWire în favoarea USB, lăsând FireWire doar pentru reîncărcare la unele modele. Cu toate acestea, unele dintre tastaturile și mouse-urile produse din a doua jumătate a anilor 1990 aveau o interfață USB.
De la începutul anilor 2000, suportul USB a fost activat în BIOS (suportul USB în segmentul corporativ a început la mijlocul anilor 1990). Acest lucru a permis pornirea de pe unități flash , de exemplu pentru a reinstala sistemul de operare; nevoia unei tastaturi PS/2 a dispărut . Plăcile de bază desktop moderne acceptă peste 10 porturi USB. Marea majoritate a laptopurilor și computerelor desktop moderne nu au porturi COM sau LPT .
În timp ce distribuția porturilor USB ale celei de-a doua versiuni avea loc, producătorii de hard disk-uri externe se „odihniseră” deja de limitarea USB 2.0 – atât în ceea ce privește curentul, cât și viteza. Era necesar un nou standard, care a fost lansat în 2008. Nu a fost posibilă întâlnirea celor patru vene vechi, așa că au fost adăugate cinci noi. Primele plăci de bază cu suport USB 3.0 au apărut în 2010 . Până în 2013, USB 3.0 a devenit mainstream. Există plăci de expansiune disponibile în comerț care adaugă suport USB 3.0 la computerele mai vechi.
Deja în primii ani, a fost descoperit un defect grav de design al conectorului USB-A: este asimetric, dar nu arată la ce parte să-l conecteze. În plus, telefoanele mobile au început să extindă funcționalitatea USB pentru a conecta dispozitive netradiționale: Motorola RAZR V3 a conectat un set de căști printr-un Mini-B, în smartphone -urile Samsung s-au adăugat șase noi între cei cinci pini Micro-B. Ambele probleme au fost rezolvate de conectorul simetric USB-C, care a apărut în 2014. Unele fire sunt duplicate pe ambele părți, controlerele „sunt de acord” cu alocarea altora atunci când sunt conectate. În plus, USB-C are mai multe fire redundante pentru a transporta, de exemplu, audio analogic sau video HDMI .
Lansat în 2019, USB4 a permis redirecționarea liniilor de foarte mare viteză, oferind 40 Gbps într-un singur sens. De asemenea, a permis așa-numita „ protocoal tunneling ”, unde video și PCIe sunt „împachetate” în pachete USB, oferind mai mult spațiu pentru date [8] (dispozitivele mai vechi care nu se pot implementa au nevoie de convertoare speciale). S-au abandonat vechii conectori, lăsând doar USB-C.
Un cablu USB (până la 2.0 inclusiv) este format din patru conductori de cupru: doi conductori de alimentare și doi conductori de date într-o pereche răsucită. Conductoarele sunt închise într-o împământare (scut).
Cablurile USB sunt orientate, adică au urechi diferite din punct de vedere fizic „la dispozitiv” (Tipul B) și „la găzduire” (Tipul A). Este posibil să implementați un dispozitiv USB fără un cablu cu un vârf „la gazdă” încorporat în corp. De asemenea, este posibilă încorporarea permanentă a cablului în dispozitiv, ca într-un mouse (standardul interzice acest lucru pentru dispozitivele cu viteză maximă și mare, dar producătorii îl încalcă). Există, deși interzise de standard, extensii USB pasive care au conectori „de la gazdă” și „la gazdă”.
Cablurile formează interfața dintre dispozitivele USB și gazda USB. Un controler USB controlat de software acționează ca o gazdă , care oferă funcționalitatea întregii interfețe. Controlerul, de regulă, este integrat în cipul Southbridge , deși poate fi realizat și într-un pachet separat. Controlerul este conectat la dispozitive externe printr-un hub USB . Datorită faptului că magistrala USB are o topologie arborescentă , hub-ul de nivel superior este numit hub rădăcină. Este încorporat în controlerul USB și este o parte integrantă a acestuia.
Pentru a conecta dispozitive externe la un hub USB, acesta oferă porturi care se termină cu conectori. Dispozitivele USB sau hub-urile USB de nivel inferior pot fi conectate la conectori folosind managementul cablurilor. Astfel de hub-uri sunt dispozitive electronice active (nu există unele pasive) care deservesc mai multe porturi USB proprii. Cu hub-urile USB, sunt permise până la cinci niveluri de cascadă, fără a număra rădăcina. Interfața USB în sine nu permite conectarea a două computere (dispozitive gazdă) unul la altul, acest lucru este posibil numai atunci când se utilizează electronice speciale care au două intrări USB și o punte specializată, de exemplu, emulând două adaptoare Ethernet conectate, câte unul pentru fiecare parte, sau folosind software specializat de partajare a fișierelor [9] [10] .
Dispozitivele pot fi alimentate de magistrală, dar pot necesita și o sursă de alimentare externă. Dispozitivele sunt garantate până la 100mA în mod implicit și până la 500mA după negocierea cu controlerul gazdă. Modul standby este acceptat și pentru dispozitive și hub-uri la comandă din magistrală, cu scoaterea sursei de alimentare principale, menținând în același timp puterea de așteptare și pornire la comandă din magistrală.
USB acceptă conectarea și deconectarea la cald a dispozitivelor. Acest lucru se realizează prin creșterea lungimii contactului de împământare al conectorului în raport cu cele de semnal. Când conectorul USB este conectat, contactele de masă sunt închise mai întâi, potențialele carcasei celor două dispozitive devin egale, iar conectarea ulterioară a conductorilor de semnal nu duce la supratensiuni.
La nivel logic, dispozitivul USB acceptă transferul de date și tranzacțiile de primire. Fiecare pachet din fiecare tranzacție conține numărul punctului final (punctul final) de pe dispozitiv. Când un dispozitiv este conectat, driverele din nucleul sistemului de operare citesc lista de puncte finale de pe dispozitiv și creează structuri de date de control pentru a comunica cu fiecare punct final al dispozitivului. Colectarea punctelor finale și a structurilor de date din nucleul sistemului de operare se numește conductă.
Punctele finale și, prin urmare, canalele, aparțin uneia dintre cele patru clase - streaming (în bloc), control (control), izocron (isoch) și întrerupere (întrerupere). Dispozitivele cu viteză redusă, cum ar fi un mouse, nu pot avea canale izocrone și de streaming.
Canalul de control este destinat schimbului de pachete scurte întrebări-răspuns cu dispozitivul. Orice dispozitiv are canalul de control 0, care permite software-ului OS să citească informații scurte despre dispozitiv, inclusiv codurile producătorului și modelului utilizate pentru a selecta un driver și o listă de alte puncte finale.
Canalul de întrerupere vă permite să livrați pachete scurte în ambele direcții fără a primi un răspuns/confirmare la acestea, dar cu o garanție a timpului de livrare - pachetul va fi livrat cel târziu în N milisecunde. De exemplu, este folosit în dispozitivele de intrare (tastaturi, mouse-uri, joystick-uri).
Un canal izocron permite livrarea pachetelor fără garanție de livrare și fără răspunsuri/recunoștințe, dar cu o rată de livrare garantată de N pachete pe perioadă de magistrală (1 kHz pentru viteză mică și maximă, 8 kHz pentru viteză mare). Folosit pentru a transmite informații audio și video.
Canalul de streaming garantează livrarea fiecărui pachet, acceptă suspendarea automată a transmisiei de date atunci când dispozitivul nu este pregătit (buffer overflow sau underflow), dar nu garantează viteza și întârzierea livrării. Folosit, de exemplu, în imprimante și scanere.
Timpul magistralei este împărțit în perioade, la începutul perioadei, controlerul trimite pachetul „period start” către întreaga magistrală. Mai mult, în timpul perioadei, sunt transmise pachete de întrerupere, apoi izocron în cantitatea necesară, în timpul rămas din perioadă, sunt transmise pachete de control și, în sfârșit, pachete de flux.
Partea activă a magistralei este întotdeauna controlerul, transmiterea unui pachet de date de la dispozitiv la controler este implementată ca o întrebare scurtă din partea controlorului și un răspuns lung, care conține date din partea dispozitivului. Programul de pachete pentru fiecare perioadă de magistrală este creat de eforturile comune ale hardware-ului controlerului și software-ului driverului, pentru aceasta multe controlere folosesc un DMA extrem de complex cu un program DMA complex generat de șofer.
Dimensiunea pachetului pentru un punct final este o constantă încorporată în tabelul punctelor finale ale dispozitivului și nu poate fi modificată. Este selectat de către dezvoltatorul dispozitivului dintre cele acceptate de standardul USB.
Specificație | Viteză | Standard USB |
---|---|---|
Viteza mica | până la 1,5 Mbps | USB 1.0 |
Viteza maxima | până la 12 Mbps | USB 1.1 |
de mare viteză | până la 480 Mbps | USB 2.0 |
Viteza mare | până la 5 Gbps | USB 3.0 / USB 3.1 Gen 1 / USB 3.2 Gen 1 |
SuperSpeed+ 10 Gbps | până la 10 Gbps | USB 3.1 Gen 2 / USB 3.2 Gen 2 |
SuperSpeed++ 20 Gbps | până la 20 Gbps | USB 3.2 Gen 2x2 |
Specificația a fost lansată pe 15 ianuarie 1996.
Specificații:
Specificația a fost lansată în septembrie 1998. S-au remediat problemele și erorile găsite în versiunea 1.0. Prima versiune care va fi distribuită pe scară largă[ specificați ] .
Specificația a fost lansată în aprilie 2000.
USB 2.0 diferă de USB 1.1 prin introducerea unui mod High-Speed (marcat pe logo ca „Hi-speed” [12] ).
Există trei moduri de operare pentru dispozitivele USB 2.0:
Modificările ulterioare ale specificației USB sunt publicate ca Notificări de modificare a ingineriei (ECN ) . Cele mai importante modificări ale ECN sunt prezentate în pachetul de specificații USB 2.0 disponibil pe site-ul USB Implementers Forum .
În USB, un dispozitiv este întotdeauna gazda, celălalt este perifericul. Smartphone-urile, camerele digitale și alte dispozitive mobile trebuie să fie fie o gazdă, fie un periferic: atunci când sunt conectate la un computer, camera este un periferic, iar atunci când este conectată la o imprimantă foto, este o gazdă.
USB OTG (de la On-The-Go, rusă „în mișcare” ) a făcut convenabil schimbarea rolului dispozitivelor: ei înșiși determină cine ar trebui să fie. Dispozitivele OTG pot fi conectate la un computer, iar perifericele USB pot fi conectate la astfel de dispozitive prin același port: de obicei unități flash, camere digitale, tastaturi, șoareci și alte dispozitive care nu necesită drivere suplimentare [13] .
Rolul dispozitivului este determinat de cablu: în mufa de pe partea gazdă, pinii 4 (ID) și 5 (Pământ) sunt închise; pe partea periferiei, ID-ul nu este conectat nicăieri.
Specificația finală USB 3.0 a apărut în 2008. USB 3.0 a fost dezvoltat de Intel , Microsoft , Hewlett-Packard , Texas Instruments , NEC și NXP Semiconductors .
Specificația USB 3.0 crește rata maximă de transfer de date la 5 Gbps, ceea ce este cu un ordin de mărime mai rapid decât USB 2.0. De asemenea, versiunea 3.0 se distinge printr-o putere crescută a curentului de la 500 mA la 900 mA. Astfel, mai multe dispozitive pot fi alimentate de la un singur port și, de asemenea, nu este nevoie să folosiți energie externă pentru unele dispozitive [14] . În specificația USB 3.0, conectorii și cablurile standardului actualizat sunt compatibile fizic și funcțional cu USB 2.0, iar pentru o identificare fără ambiguitate, conectorii USB 3.0 sunt de obicei din plastic albastru (roșu pentru unii producători). Cablul USB 2.0 conține patru linii - o pereche pentru primirea/transmiterea datelor, plus și zero putere, conectorul „A” are 4 pini. Pentru a transporta semnale SuperSpeed de mare viteză, USB 3.0 a adăugat încă patru linii de comunicație (două perechi răsucite) și un pin de masă de semnal (GND_DRAIN), în urma cărora cablul a devenit mult mai gros. Pinii noi din conectorii USB 3.0 sunt localizați separat de cei vechi într-un rând diferit de pini.
În octombrie 2009, sa raportat că Intel a decis să amâne introducerea suportului USB 3.0 la chipset-urile sale până în 2011. Această decizie a condus la faptul că până în 2011 acest standard nu a devenit larg răspândit, deoarece nu era suficient ca utilizatorul să cumpere pur și simplu o placă de bază, era nevoie de un adaptor suplimentar sau producătorul plăcii de bază le-a lipit un controler terță parte [15]. ] [16] .
USB 3.0 Host Controller (xHCI) oferă suport pentru fluxul hardware pentru comenzi, stări, date de intrare și de ieșire, ceea ce vă permite să utilizați mai pe deplin lățimea de bandă a magistralei USB. Fluxurile au fost adăugate la protocolul USB 3.0 SuperSpeed pentru a suporta UASP .
Linux a acceptat USB 3.0 de la versiunea de kernel 2.6.31 [17] . Windows 8 și 10 acceptă USB 3.0 fără drivere suplimentare.
După lansarea specificației USB 3.1, standardul USB 3.0 a fost redenumit USB 3.1 Gen 1. Potrivit CTO USB-IF, acest lucru a fost făcut pentru a facilita dezvoltatorii de dispozitive, adică pentru a asigura suport pentru toate versiunile. de USB, două specificații sunt acum suficiente - USB 2 și USB 3.1 - în loc de trei [18] . Redenumit USB 3.2 Gen 1 după lansarea specificației USB 3.2.
USB 3.1Pe 31 iulie 2013, USB 3.0 Promoter Group a anunțat adoptarea specificației pentru următoarea interfață, USB 3.1, care poate ajunge până la 10 Gbps [19] . Conectorul compact USB Type-C utilizat cu această versiune este simetric, permițând introducerea cablului în orice direcție, așa cum a făcut Apple anterior cu conectorii Lightning .
După lansarea standardului USB 3.1, USB-IF a anunțat că modul de transfer USB 3.0 de până la 5 Gb/s (SuperSpeed) va fi acum clasificat ca USB 3.1 Gen 1, iar noul standard de transfer USB 3.1 de până la 10 Gb/s (SuperSpeed+) - ca USB 3.1 Gen 2 [20] [21] .
USB 3.1 include două standarde [22] :
În USB 3.1 Gen 2, pe lângă creșterea vitezei la 10 Gb/s, supraîncărcarea de codificare a fost redusă cu până la 3% prin trecerea la o schemă de codare 128b/132b .
Standardul USB 3.1 este compatibil cu USB 3.0 și USB 2.0.
În practică, prima implementare a USB 3.1 ca bloc IP de la Synopsys a arătat o rată efectivă de transfer de 7,2 Gb/s (900 MB pe secundă) în decembrie 2013 [23] .
USB 3.2Pe 22 septembrie 2017, organizația non-profit USB Implementers Forum (USB-IF) a publicat specificația standard USB 3.2 [24] , revizuirea finală pentru USB 3.x. Noua specificație prevede dublarea ratei maxime posibile de transfer de date în comparație cu USB 3.1 Gen 2 - de la 10 la 20 Gb/s datorită utilizării a două linii la 5 Gb/s sau 10 Gb/s numai pentru USB Type-C conector datorită contactelor sale reversibile și utilizării ieșirilor duplicate ca canal separat. Adaptoarele gazdă au fost modificate pentru a trece fără probleme de la modul de ieșire redundant cu 2 canale la modul cu un singur canal. Cablurile USB Type-C moderne care sunt disponibile acceptă deja acest mod „cu două linii”, deci nu este nevoie să cumpărați cabluri noi [25] . Apariția primelor dispozitive comerciale care acceptă standardul USB 3.2 este așteptată nu mai devreme de a doua jumătate a anului 2019 [26] .
Specificațiile USB 3.2 înlocuiesc standardele USB 3.0 și USB 3.1; dispozitivele care le satisfac vor include trei standarde de viteză [27] :
Specificațiile precizează, de asemenea, o variantă cu două linii, fiecare dintre acestea funcționând pe protocolul USB 3.0 :
De la lansarea standardului USB 3.2, USB-IF a introdus o nouă schemă de denumire [28] . Pentru a ajuta companiile să marcheze diferite moduri de transfer, USB-IF recomandă denumirea modurilor de transfer de 5, 10, 20 Gbps ca SuperSpeed USB 5Gbps, SuperSpeed USB 10Gbps, respectiv SuperSpeed USB 20Gbps, respectiv [29] :
Spre deosebire de versiunile anterioare, numele protocolului este scris împreună, fără spațiu între cuvântul „USB” și numărul „4”.
A patra specificație a versiunii a fost publicată pe 29 august 2019 [30] [31] . Noul protocol de bază crește viteza maximă la 40 Gbps (atunci când utilizați cabluri compatibile de tip C), menținând în același timp compatibilitatea cu USB 3.2, USB 2.0 și Thunderbolt 3 opțional [32] [33] [34] .
Vitezele de până la 40 Gbps sunt realizabile numai cu cabluri marcate special. Pentru cablurile convenționale, viteza maximă este limitată la 20 Gbps. [35] [36]
În noiembrie 2022, specificația actualizată USB4 Versiunea 2.0 este de așteptat să fie lansată cu o lățime de bandă de până la 80 Gb/s [37] .
Inter Chip USB(IC-USB) și High Speed Inter-Chip USB (HSIC) sunt versiuni simplificate ale USB 2.0 pentru conectarea necomutată a cipurilor într-un singur dispozitiv. Simplificarea se realizează prin înlocuirea stratului fizic USB de la asincron la sincron, refuzând capacitatea de a schimba viteza și detectarea conexiunii, refuzând protecția electrică a șoferilor și reducând puterea acestora. Partea logică a USB este neschimbată (inclusiv logica stărilor magistralei). IC-USB definește conectarea dispozitivelor Full Speed (12 Mbps); HSIC definește conectarea dispozitivelor de mare viteză (480 Mbps).
Prima versiune a standardului IC-USB a fost adoptată în 2006. Prima versiune a standardului HSIC a fost adoptată în 2007 [38] . HSIC utilizează două linii digitale cu niveluri logice LVCMOS (1,2 volți ): STROBE și DATA. Lungimea maximă a conductorului este de 10 cm. Interfața sincronă oferă un debit de 480 Mbps la o frecvență de ceas de 240 MHz. Driverul stratului fizic HSIC consumă cu 50% mai puțină energie și ocupă cu 75% mai puțin spațiu pe cip decât un driver tradițional USB 2.0 [39] .
În 2012, a fost adoptată prima versiune a specificațiilor Inter-Chip USB pentru USB 3.0 [40] .
Wireless USB - Tehnologie USB (specificație oficială disponibilă din mai 2005 ), care vă permite să organizați comunicația wireless cu o rată mare de transfer de date (până la 480 Mbps la o distanță de 3 metri și până la 110 Mbps la o distanță de 10 metri) .
La 23 iulie 2007, USB-IF a anunțat certificarea primelor șase produse de consum care acceptă Wireless USB [41] .
În 2013, a fost introdusă specificația MA-USB, permițând ca protocolul USB să fie încapsulat în canalele de comunicații existente, inclusiv WiFi și WiGig .
Specificația 1.0 reglementează două tipuri de conectori: A - pe partea laterală a controlerului sau hub-ului USB și B - pe partea laterală a dispozitivului periferic. Ulterior, au fost dezvoltați conectori miniaturali pentru utilizarea USB în dispozitive portabile și mobile, numite Mini-USB. O nouă versiune a conectorilor miniaturali numit Micro-USB a fost introdusă de USB-IF pe 4 ianuarie 2007.
Comun | Mini | Micro | |
---|---|---|---|
Tip A | 4×12 mm | 3×7 mm | 2×7 mm |
Tip B | 7×8 mm | 3×7 mm | 2×7 mm |
Există și conectori Mini-AB și Micro-AB, la care sunt conectați conectorii corespunzători atât de tip A, cât și de tip B.
Producătorii de electronice folosesc un conector compatibil Mini-USB care conține 10 pini în loc de 5 ca în original (o mufă cu 10 pini nu se va potrivi într-un conector cu 5 pini). În special, această mufă poate fi văzută în telefoanele Alcatel (TCL), Fly și Philips, unde sunt folosite contacte suplimentare pentru a permite utilizarea căștilor cu microfon. Cu toate acestea, după trecerea la Micro-USB + Mini-Jack, ca parte a programului european de standardizare a încărcătoarelor, utilizarea acestui conector a scăzut dramatic din 2012.
USB-A combină durabilitatea și rezistența mecanică în ciuda lipsei de strângere a șuruburilor. Cu toate acestea, versiunile mai mici ale conectorilor, care au proeminențe subțiri din plastic care ies în sus din substratul prizei, nu tolerează închiderea și deschiderea frecventă și necesită o manipulare mai atentă.
Semnalele USB (până la 2.x) sunt transmise prin două fire ale unui cablu ecranat cu patru fire.
Numar de contact | Desemnare | Culoarea firului | Descriere | |
---|---|---|---|---|
unu | VBUS _ | Roșu, sau | Portocale | +5V |
2 | D− | Alb, sau | Aur | Date − |
3 | D+ | Verde | Date+ | |
patru | GND | Negru, sau | Albastru | Pământ |
Numar de contact | Desemnare | Culoarea firului | Descriere |
---|---|---|---|
unu | VBUS _ | roșu | +5V |
2 | D− | alb | Date − |
3 | D+ | Verde | Date+ |
patru | ID | nici un fir | On-The-Go ID identifică capătul cablului:
|
5 | GND | Negrul | Pământ |
Aici GND este circuitul „ masă ” pentru alimentarea perifericelor, iar VBus este de +5 volți, de asemenea, pentru circuitele de alimentare. Datele sunt transmise diferențial pe firele D− și D+. Stările „0” și „1” sunt determinate de diferența de potențial dintre liniile de peste 0,2 V și cu condiția ca pe una dintre linii potențialul relativ la GND să fie mai mare de 2,8 V [42] . Metoda de transmisie diferențială este cea principală, dar nu singura (de exemplu, în timpul inițializării, dispozitivul informează gazda despre modul suportat de dispozitiv ( Viteză completă sau Viteză mică ) trăgând unul dintre liniile de date către V_BUS printr-un rezistor de 1,5 kΩ (D− pentru modul Low-Speed și D+ pentru modurile Full-Speed și High-Speed) [43] .
Pentru a menține un nivel de semnal suficient în cablu și pentru a preveni atenuarea acestuia, este necesară corelarea lungimii cablului cu secțiunea transversală a conductorilor. Este o practică obișnuită să specificați calibrul firului în AWG , cum ar fi „28 AWG/1P...”.
Corespondență aproximativă: marcarea cablului (indicarea grosimii firului în AWG) și lungimea cablului corespunzătoare:
AWG | Lungime, nu mai mult (cm) |
---|---|
28 | 81 |
26 | 131 |
24 | 208 |
22 | 333 |
douăzeci | 500 |
Limitările de lungime a cablului sunt, de asemenea, legate de întârzierea semnalului în linie. Specificațiile USB 2.0 prevăd ca latența să fie mai mică de 5,2 nanosecunde pe metru pentru un cablu de 5 m. Întârzierea maximă permisă este de 1,5 microsecunde pentru modul de viteză mică. Astfel, pentru a oferi modul Hi Speed, linia trebuie să garanteze o întârziere mai mică de 26 de nanosecunde, iar Low Speed - 1,5 microsecunde.
Comun | Mini | Micro | |
---|---|---|---|
Tip A | |||
Tip B | |||
Tip C |
Contact nr. | A | B | micro B | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
unu | VBUS (VCC) | VBUS (VCC) | VBUS (VCC) | ||||||||
2 | D− | D− | D− | ||||||||
3 | D+ | D+ | D+ | ||||||||
patru | GND | GND | ID | ||||||||
5 | StdA_SSTX- | StdA_SSTX- | GND | ||||||||
6 | StdA_SSTX+ | StdA_SSTX+ | StdA_SSTX- | ||||||||
7 | GND_DRAIN | GND_DRAIN | StdA_SSTX+ | ||||||||
opt | StdA_SSRX- | StdA_SSRX- | GND_DRAIN | ||||||||
9 | StdA_SSRX+ | StdA_SSRX+ | StdA_SSRX- | ||||||||
zece | StdA_SSRX+ | ||||||||||
Ecran | Ecran | Ecran | Ecran | ||||||||
Există, de asemenea, încă două tipuri de conectori USB 3.0 Micro: o mufă USB 3.0 Micro-A și o mufă USB 3.0 Micro-AB. Diferit vizual de USB 3.0 Micro-B prin partea „dreptunghiulară” (nu tăiată) a conectorului cu secțiunea USB 2.0, care evită conectarea unei mufe Micro-A la o priză Micro-B și face compatibilă o priză Micro-AB cu ambele prize.
Priza Micro-AB va fi utilizată în dispozitivele mobile cu un controler gazdă USB 3.0 la bord. Pinul 4 (ID) este folosit pentru a identifica modul gazdă/client - în mufa Micro-A este scurtcircuitat la masă.
Pinouts conector USB 3.0 Powered-BConectorul USB 3.0 Powered-B este proiectat cu doi pini suplimentari, permițând dispozitivelor să furnizeze până la 1000mA unui alt dispozitiv, cum ar fi un adaptor USB fără fir. Acest lucru elimină necesitatea unei surse de alimentare pentru dispozitivul conectat la adaptorul Wireless USB, făcând încă un pas către sistemul de comunicații wireless ideal (fără o sursă de alimentare separată). Conexiunile normale prin cablu la o gazdă sau hub nu folosesc acești doi pini suplimentari.
unu | VBUS | +5V putere |
2 | USB D− | Date USB 2.0 |
3 | USB D+ | |
patru | GND | Pământ |
opt | StdA_SSRX- | Recepție SuperSpeed |
9 | StdA_SSRX+ | Recepție SuperSpeed |
7 | GND_DRAIN | Pământ |
5 | StdA_SSTX- | Transmisie SuperSpeed |
6 | StdA_SSTX+ | Transmisie SuperSpeed |
zece | DPWR | Putere suplimentară pe dispozitiv |
unsprezece | GND_D | Pământul de alimentare al dispozitivului |
a lua legatura | Nume | Descriere | a lua legatura | Nume | Descriere | ||
---|---|---|---|---|---|---|---|
A1 | GND | Pământ | B12 | GND | Pământ | ||
A2 | TX1+ | Pereche diferențială SuperSpeed #1 [a] , viteză+ | B11 | RX1+ | Perechea diferențială SuperSpeed #2 [a] Receive+ | ||
A3 | TX1- | Perechea diferențială SuperSpeed #1 [a] , transmisie- | B10 | RX1- | Pereche diferențială SuperSpeed #2 [a] , recepție- | ||
A4 | VBUS _ | Plus nutriție | B9 | VBUS _ | Plus nutriție | ||
A5 | CC1 | Configurarea canalului (sau potrivirea) | B8 | SBU2 | Canal suplimentar (bandă laterală) | ||
A6 | D+ | Pereche diferențială de mare viteză [b] , poziție 1, date+ | B7 | D- | Pereche diferenţială de mare viteză [b] , poziţia 2 [c] , date- | ||
A7 | D- | Pereche diferențială de mare viteză [b] , poziție 1, date- | B6 | D+ | Pereche diferențială de mare viteză [b] , poziția 2 [c] , date+ | ||
A8 | SBU1 | Canal suplimentar (bandă laterală) | B5 | CC2 | Canal de configurare | ||
A9 | VBUS _ | Plus nutriție | B4 | VBUS _ | Plus nutriție | ||
A10 | RX2- | Pereche diferențială SuperSpeed #4 [a] , recepție- | B3 | TX2- | Perechea diferențială SuperSpeed #3 [a] , transmisie- | ||
A11 | RX2+ | Perechea diferențială SuperSpeed #4 [a] , recepție+ | B2 | TX2+ | Pereche diferențială SuperSpeed #3 [a] , viteză+ | ||
A12 | GND | Pământ | B1 | GND | Pământ | ||
|
Conectorul nr. 1 al cablului de tip C | Cablu tip C | Conector nr. 2 Cablu tip C | |||||
---|---|---|---|---|---|---|---|
a lua legatura | Nume | Culoarea mantalei conductorului | Nume | Descriere | a lua legatura | Nume | |
Tresă | Ecran | Impletitura cablu | Ecran | Manta exterioară a cablului | Tresă | Ecran | |
A1, B1, A12, B12 | GND | Cositorit | GND_PWRrt1 GND_PWRrt2 |
teren comun | A1, B1, A12, B12 | GND | |
A4, B4, A9, B9 | VBUS _ | roșu | PWR_VBUS 1 PWR_VBUS 2
_ _ |
Sursa de alimentare VBUS | A4, B4, A9, B9 | VBUS _ | |
B5 | V CONN | Galben |
PWR_V CONN | V CONN putere | B5 | V CONN | |
A5 | CC | Albastru | CC | Canal de configurare | A5 | CC | |
A6 | Dp1 | alb | UTP_Dp | Pereche diferențială neecranată , pozitivă | A6 | Dp1 | |
A7 | Dn1 | Verde | UTP_Dn | Pereche diferențială neecranată, negativă | A7 | Dn1 | |
A8 | SBU1 | roșu | SBU_A | Banda de date A | B8 | SBU2 | |
B8 | SBU2 | Negrul | SBU_B | Banda de date B | A8 | SBU1 | |
A2 | SSTXp1 | Galben * | SDPp1 | Pereche diferențială ecranată #1, pozitivă | B11 | SSRXp1 | |
A3 | SSTXn1 | maro* | SDPn1 | Pereche diferențială ecranată #1, negativă | B10 | SSRXn1 | |
B11 | SSRXp1 | verde * | SDPp2 | Pereche diferențială ecranată #2, pozitivă | A2 | SSTXp1 | |
B10 | SSRXn1 | Portocale * | SDPn2 | Pereche diferențială ecranată #2, negativă | A3 | SSTXn1 | |
B2 | SSTXp2 | Alb * | SDPp3 | Pereche diferențială ecranată #3, pozitivă | A11 | SSRXp2 | |
B3 | SSTXn2 | Negrul * | SDPn3 | Pereche diferențială ecranată #3, negativă | A10 | SSRXn2 | |
A11 | SSRXp2 | Roșu * | SDPp4 | Pereche diferențială ecranată #4, pozitivă | B2 | SSTXp2 | |
A10 | SSRXn2 | Albastru * | SDPn4 | Pereche diferențială ecranată #4, negativă | B3 | SSTXn2 | |
* Culorile pentru conductorii de manta nu sunt specificate de standard. |
„În viitorul apropiat, interfața USB Type-C va deveni cu adevărat universală. Versiunea 2.1 oferă putere portului de până la 240 W. Acest lucru îi va permite să fie folosit pentru a alimenta monitoare 4K, imprimante și chiar laptopuri de gaming consumatoare de energie.” https://usb.org/document-library/usb-type-cr-cable-and-connector-specification-revision-21
Cabluri optice USB 3.0În 2013, unele companii au introdus cabluri USB 3.0 și Thunderbolt optice (fibră optică), prin care semnalul USB poate fi transmis până la 100 de metri [44] față de 3-5 metri (de obicei) pentru cablurile standard „cu fir”. Cablurile subțiri și flexibile vă permit să transferați date la viteze de până la 1 Gb/s, dar nu asigură transmisia de energie.
La începutul călătoriei, semnalul este convertit dintr-un semnal electric USB convențional în semnale optice. La sfârșitul traseului, semnalul este inversat.
Specificația USB oferă designerului mai multe opțiuni pentru dispozitive, în funcție de rata de transfer de date necesară. Acestea sunt Viteză mică (viteză fizică 1,5 Mbps ± 1,5%), Viteză maximă (12 Mbps ± 0,25%), Viteză mare (480 Mbps ± 0,05%), SuperSpeed (5 Gbps ± 0,06%) , SuperSpeed+ (10 Gbps). Dispozitivele cu viteză joasă, completă și mare folosesc o linie de comunicare semi-duplex diferențială pentru comunicare, SuperSpeed - mai multe. Protocoalele de schimb sunt identice.
USB este o rețea cu un master (gazdă) și un număr arbitrar de dispozitive slave (dispozitiv). Topologia rețelei este un arbore activ . „Activ” înseamnă că fiecare nod al arborelui are un dispozitiv special - un hub. Hub-ul se ocupă de terminarea cablului electric, rutarea pachetelor, detectarea conexiunii/deconectarii dispozitivului și alte funcții. Toate conexiunile din rețea sunt identice din punct de vedere electric și protocol.
USB vă permite să conectați și să deconectați „la cald” dispozitive individuale sau segmente de rețea. „Fierbinte” înseamnă că funcționarea rețelei nu este întreruptă, iar vrăjitorul este capabil să determine faptul că o modificare a configurației rețelei este automat, în timp real. Deoarece întreaga rețea primește energie de la master, este acceptată capacitatea de a controla automat sursa de alimentare a rețelei: dispozitivul informează masterul despre nevoile sale, iar masterul poate dezactiva dispozitivul dacă capacitatea de alimentare a rețelei poate fi depășită. .
O schemă electrică simplificată a conexiunii USB este prezentată în figură. Când nimeni nu este conectat la gazdă, ambele linii de semnal D+ și D− sunt trase cu rezistențe de 15 kΩ la minusul sursei de alimentare. Când dispozitivul este conectat, una dintre linii este trasă până la +3,3 V printr-un rezistor de 1,5 kΩ. Dispozitivele cu viteză redusă trag în sus linia D−, în timp ce dispozitivele cu viteză completă trag în sus linia D+. Astfel, gazda determină faptul conexiunii și tipul dispozitivului conectat. Dispozitivele de mare viteză funcționează ca viteză maximă în momentul conexiunii, trecând la modul de mare viteză după schimbul cărților de vizită.
Starea perechii diferențiale definită de rezistențele de tracțiune este denumită Idle în specificație. Aceeași stare cu șoferul pornit este indicată de litera J. Starea opusă este indicată de litera K. Închiderea ambelor linii la minus se numește Single Ended 0, prescurtat ca SE0; scurt spre pozitiv - SE1.
Datele sunt codificate folosind metoda NRZI (non-return to zero inverted). Conform acestei metode, fiecare bit zero al datelor de intrare corespunde unei schimbări în starea perechii diferenţiale (J→K sau K→J) şi nu există nicio modificare pentru o unitate. Pentru a elimina pierderea sincronizării pe secvențele unice lungi, se utilizează bitstuffing , adică zero este introdus forțat în fluxul de date pentru fiecare 6 unități la rând.
Starea magistralei SE0 mai lungă de 10 ms este interpretată de dispozitiv ca o resetare și necesită ca dispozitivul să reinițializeze stiva USB. Starea inactiv pentru mai mult de 3 ms la rând este interpretată de dispozitiv ca o oprire de autobuz (Suspend) și solicită în mod oficial dispozitivului să-și limiteze automat consumul de energie de la magistrala USB. Ieșirea din Suspendare are loc fie la reluarea activității gazdei, fie dispozitivul poate trimite, dacă este necesar, un semnal special de reluare. Semnalul de reluare constă dintr-o stare K timp de câteva milisecunde, terminată de secvența SE0, SE0, J, unde fiecare stare durează un interval de biți în funcție de modul de viteză al dispozitivului.
Schimbul are loc în pachete scurte. Fiecare pachet începe cu o secvență Start of Packet, pentru viteză mică și completă este KJKJKJKK. În continuare, există întotdeauna un identificator de pachet PID special ( English Packet IDentifier ), care indică tipul de pachet. Există 16 tipuri diferite de pachete în total, deci PID-ul are 4 biți. Cu toate acestea, pentru fiabilitate, valoarea acestui câmp este duplicată în formă inversă, astfel încât lungimea câmpului PID din pachet este de 8 biți. Pachetul se termină cu secvența Sfârșit de pachet: SE0, SE0, J. Intervalul minim între pachete este de ~0,1 µs (pentru Viteza maximă).
În funcție de tipul de pachet, o serie de alte câmpuri cu parametri de pachet și/sau date pot fi conținute între PID și EoP. Toate aceste câmpuri (inclusiv PID) sunt transmise mai întâi LSB.
Tipurile de pachete USB sunt prezentate în tabel:
Tip de | Valoarea PID (bitul cel mai semnificativ mai întâi) | Octet transferat (bitul cel mai puțin semnificativ mai întâi) | Nume | Descriere |
---|---|---|---|---|
rezervat | 0000 | 0000 1111 | ||
Jeton | 0001 | 1000 0111 | OUT | Gazda notifică dispozitivul că următorul pachet va conține date de la gazdă la dispozitiv |
1001 | 1001 0110 | ÎN | Gazda anunță dispozitivul că este gata să primească un pachet de date de la dispozitiv. | |
0101 | 1010 0101 | SOF | Un pachet care marchează începutul unui interval de timp sau microcadru. | |
1101 | 1011 0100 | ÎNFIINȚAT | Gazda notifică dispozitivul că următorul pachet va conține date de configurare de la gazdă la dispozitiv | |
1000 | 0001 1110 | DESPICĂ | Transfer USB de mare viteză | |
0100 | 0010 1101 | PING | Verificarea dacă dispozitivul poate primi date (USB High Speed) | |
Special | 1100 | 0011 1100 | PRE | Notificarea hub-ului că următoarea tranzacție va fi în modul Viteză redusă |
strângere de mână | ERR | Eroare de transfer împărțit (USB de mare viteză) | ||
0010 | 0100 1011 | ACK | Confirmare de primire a pachetului de date | |
1010 | 0101 1010 | NACK | Nedorința de a servi pachetul anterior, pachetul este ignorat | |
0110 | 0110 1001 | NYET | Datele nu sunt încă gata (USB de mare viteză) | |
1110 | 0111 1000 | STAND | Pachetul anterior a accesat o funcționalitate inexistentă sau dezactivată | |
Date | 0011 | 1100 0011 | DATE0 | Chiar și pachet de date |
1011 | 1101 0010 | DATE1 | Pachet de date ciudat | |
0111 | 1110 0001 | DATE2 | Pachet de date izocron de mare viteză (USB de mare viteză) | |
1111 | 1111 0000 | MDATA | Pachet de date izocron de mare viteză (USB de mare viteză) |
Pachetele de tip IN, OUT, SETUP sunt anteturile unei tranzacții multipachete cu schimb de date. Acestea conțin câmpurile adresei dispozitivului și numărul punctului final din dispozitivul cu care vor fi schimbate datele în această tranzacție. Integritatea pachetului este verificată de câmpul CRC5.
Pachetele de tip DATA conțin un câmp de date și un câmp de integritate a datelor CRC 16. Standardul limitează lungimea maximă permisă a datelor la 8 octeți pentru dispozitivele neconfigurate, 64 octeți pentru dispozitivele cu viteză redusă, 1023 octeți pentru dispozitivele cu viteză completă și 1024 de octeți pentru dispozitivele de mare viteză. Dispozitivul poate seta lungimea maximă a datelor să fie mai mică decât cea permisă. Gazda trebuie să accepte lungimea maximă de date permisă. Într-un schimb normal, pachetele de date sunt intercalate ca „par-impar”.
Pachete precum ACK, NACK, STALL completează tranzacția, raportând (ne)succesul tranzacției curente. Nu conține câmpuri suplimentare.
AdresăUSB este o rețea, ceea ce înseamnă că mai multe dispozitive se pot conecta la aceeași gazdă. Fiecărui dispozitiv i se atribuie o adresă unică în timpul procesului de configurare inițială la momentul conexiunii. Dimensiunea adresei este de 7 biți, valoarea zero este rezervată - în consecință, până la 127 de dispozitive se pot conecta la o gazdă. Câmpul de adresă conține doar acele pachete care încep o tranzacție (IN, OUT, SETUP).
Punct finalPe lângă adresarea dispozitivelor conectate fizic, USB oferă adresare logică în cadrul dispozitivului. Adresarea logică vă permite să separați fluxurile de date în funcție de diferite funcționalități în cadrul aceluiași dispozitiv. De exemplu, o tastatură cu un touchpad poate avea un canal de date pentru apăsarea tastelor și altul pentru datele touchpad. În stiva TCP/IP, există o analogie directă pentru un punct final - porturile.
Câmpul „endpoint” are o dimensiune de 4 biți, adică sunt posibile până la 16 puncte. Fiecare punct poate funcționa independent ca receptor și ca transmițător, așa că uneori sunt 32. Câmpul „endpoint” face parte din adresarea în rețeaua USB și este conținut doar în aceleași pachete unde există o adresă (IN , OUT, SETUP). În momentul conexiunii, ca parte a configurației inițiale, dispozitivul trebuie să transmită gazdei informații despre punctele implicate și scopul acestora. Aceste informații trebuie să fie în concordanță cu canalele de date adecvate ale software-ului driverului de dispozitiv de la gazdă. Accesarea unui punct neutilizat are ca rezultat un răspuns STALL. Pachetele SETUP pot ajunge numai la punctul final nul.
Perioade de timpSpecificația USB conține conceptele de intervale de timp și microcadre. Pentru dispozitivele cu viteză redusă, la fiecare milisecundă gazda transmite un semnal Keep Alive constând dintr-o secvență de sfârșit de pachet. Pentru dispozitivele Full Speed, gazda trimite un pachet special SOF (Start of Frame) la fiecare milisecundă, marcând începutul următorului cadru. Pentru High Speed, acest pachet este transmis la fiecare 125 µs; o astfel de perioadă se numește microcadru. Specificația USB necesită ca tranzacțiile și programarea pachetelor să fie acceptate, astfel încât periodicitatea SOF să nu fie încălcată.
Schimbul de date are loc în așa-numitele tranzacții - secvențe inseparabile de mai multe pachete. Inițiatorul schimbului este întotdeauna gazda. Trimite un pachet scurt (token) care anunță despre începutul unei noi tranzacții. În acest pachet de simboluri, gazda specifică direcția tranzacției (IN sau OUT), adresa dispozitivului și numărul punctului final. De exemplu, un jeton OUT înseamnă că jetonul va fi urmat imediat de un pachet de date de la gazdă la dispozitiv (DATA0 sau DATA1). Pot exista mai multe pachete de date într-o tranzacție dacă fiecare dintre ele are lungimea maximă de date permisă pentru acest dispozitiv. Sfârșitul transferului de date este determinat de lungimea pachetului, care nu este egală cu maximul. De îndată ce sosește un pachet trunchiat, dispozitivul trimite imediat o confirmare a pachetului de răspuns (strângere de mână), de exemplu ACK (totul a fost primit cu succes), NACK (nu a putut primi: de exemplu, tamponul de intrare era plin), STALL (date adresată punctului final deconectat). Toate pachetele dintr-o tranzacție sunt transmise aproape simultan, pauza maximă dintre pachete nu trebuie să depășească ~1 μs (pentru Full Speed), altfel tranzacția va fi recunoscută ca eronată.
În mod similar, datele sunt transferate de la dispozitiv la gazdă. Gazda inițiază transferul cu jetonul IN. Dacă dispozitivul nu are date gata de trimis, atunci răspunde cu NACK și tranzacția se încheie. Dacă datele sunt gata, dispozitivul începe să transmită pachete DATA0/DATA1. Principiul încheierii transmisiei este similar: lungimea incompletă a pachetului de date. La primirea unui pachet incomplet, gazda răspunde dispozitivului cu un pachet ACK.
Tranzacția cu tokenul SETUP este complet similară cu tranzacția OUT, singurele diferențe sunt în logica percepției datelor de către dispozitiv: aceștia sunt parametrii de conectare care controlează funcționarea stivei USB a dispozitivului.
Control, întrerupere, în bloc, izocronSpecificația USB oferă mai multe metode pentru schimbul de date. Fiecare punct final inclus trebuie mapat la una dintre metode. Controlul, Întreruperea și Bulk utilizează protocolul de handshaking descris mai sus. Metoda în vrac permite gazdei să comunice liber cu dispozitivul după bunul plac. Metoda de control este similară cu cea în vrac, dar schimbă cu dispozitivul doar date speciale care controlează funcționarea protocolului USB în conformitate cu specificația (în cadrul tranzacțiilor de tip SETUP). Deoarece dispozitivele periferice nu pot iniția un schimb, au venit cu metoda de întrerupere pentru a transfera datele care apar brusc pe dispozitiv, ceea ce vă permite să interogați dispozitivul cu o perioadă specificată. Metoda de întrerupere este utilizată pe scară largă pentru sondarea tastaturilor și șoarecilor. Deosebirea este metoda izocronă, care vă permite să rezervați o parte din lățimea de bandă a magistralei USB pentru date precum audio sau video. Isochronous nu acceptă controlul integrității transmisiei (pachetele ACK și NACK nu sunt transmise), ceea ce înseamnă că nu sunt furnizate reîncercări în caz de erori: datele primite incorect se pierd.
În momentul conexiunii, gazda solicită un set de informații standardizate (descriptori) de la dispozitiv, pe baza cărora decide cum să lucreze cu acest dispozitiv. Descriptorii conțin informații despre producător și tipul de dispozitiv, pe baza cărora gazda selectează un driver de software. Tabelele de descriptori și alocațiile câmpurilor sunt detaliate în capitolul 9 al specificației USB.
După aceea, gazda efectuează o schimbare de viteză (dacă dispozitivul este de mare viteză) și atribuie o adresă dispozitivului.
Pentru a depana protocoalele și a controla conformitatea cu standardul, dezvoltatorii de dispozitive pot folosi diverse instrumente care vă permit să observați procesele de schimb pe magistrală [45] [46] . Aceste instrumente pot fi pur bazate pe software, regăsind evenimentele de autobuz din driverele USB ale computerului. Cu toate acestea, astfel de instrumente nu afișează semnale hardware procesate sau eronate pe magistrală. Pentru un control independent complet, se folosesc scanere hardware specializate și analizoare de protocol. Utilizarea unui analizor hardware este recomandată de consorțiul USB pentru certificare și pregătire pentru lansarea dispozitivelor în producția de masă.
Formal, pentru a obține dreptul de a plasa sigle USB pe produse, este necesară certificarea acestora pentru conformitatea cu standardul. Organizația USB-IF oferă servicii de certificare pentru dispozitivele USB și menține, de asemenea, o listă de laboratoare de certificare terțe [47] .
Dezvoltatorii specificației USB au acordat atenție problemei detectării automate a funcționalității dispozitivelor USB pentru a salva utilizatorul de acțiunile de rutină la conectarea dispozitivelor USB. Există două mecanisme pentru a face acest lucru:
Pe lângă soluțiile standard USB, unele companii și entuziaști oferă și alte soluții. De exemplu, driverele WinUSB preinstalate cu un API terță parte disponibil în mediul Windows sunt populare .
Scopul dispozitivelor USB poate fi determinat de codurile de clasă care sunt raportate gazdei USB pentru a încărca driverele necesare. Codurile de clasă vă permit să unificați lucrul cu dispozitive de același tip de la diferiți producători. Un dispozitiv poate suporta una sau mai multe clase, al căror număr maxim este determinat de numărul de puncte finale disponibile.
Descrierea codurilor de clasă [48] :
Codul | Nume | Exemple de utilizare/notă |
---|---|---|
00h _ | N / A | Nu setat |
01h | Audio | Placa de sunet , MIDI |
02h | Dispozitiv de comunicare (CDC) | Modem , placă de rețea , port COM |
03h | Dispozitiv de interfață umană (HID) | Tastatură , mouse , joystick |
05h | Dispozitiv de interfață fizică (PID) | Joystick cu suport pentru feedback Force |
06h | Imagine | Cameră web , scaner |
07h | Imprimanta | Imprimanta |
08h | Dispozitiv de stocare în masă (MSD) | Unitate flash USB , card de memorie , cititor de carduri , cameră digitală |
09h | mufa USB | mufa USB |
0 Ah | Date CDC | Folosit împreună cu clasa CDC |
0bh | Cititor de carduri inteligente (CCID) | Cititor de carduri inteligente |
0Dh | securitatea conținutului | scaner biometric |
0Eh | Clasa dispozitiv video | Cameră web |
0Fh | îngrijire personală a sănătății | Indicator de puls, echipament medical |
DCH | Dispozitiv de diagnosticare | Folosit pentru a verifica compatibilitatea USB |
E0h | Controler fără fir | Adaptor Bluetooth |
EFh | Diverse | Dispozitivele ActiveSync |
FEh | Specific aplicației | Dispozitive IrDA , modul de actualizare a firmware-ului (DFU) |
FFh | Specific furnizorului | La discreția producătorului |
Standardul USB oferă posibilitatea de a alimenta dispozitivele conectate cu o cantitate mică de energie electrică. Inițial, standardul USB 2.0 permitea unui dispozitiv să tragă un curent maxim de 0,5 A la 5 V. USB 3.0 a crescut curentul maxim la 0,9 A la aceeași tensiune. Aceste standarde permit gazdei să controleze consumul dispozitivelor conectate la magistrală. Pentru a face acest lucru, în momentul conectării și inițializării, dispozitivul informează gazda despre nevoile sale energetice. Gazda evaluează capacitățile energetice ale acestui segment de rețea și permite sau interzice funcționarea dispozitivului.
În încercarea de a standardiza cerințele dispozitivelor consumatoare de energie, în 2007 USB-IF a adoptat specificația USB Battery Charging, care, în cadrul infrastructurii de cablare USB 2.0/3.0, a făcut posibilă creșterea curentului consumat de dispozitiv până la 5A. [49] [50] . Ulterior, a fost adoptată o specificație separată de livrare a energiei USB, care permite mult mai multă flexibilitate în gestionarea energiei.
Specificație | Max. actual | Max. Voltaj | Max. putere |
---|---|---|---|
USB 1.1/2.0 | 500 mA | 5 V | 2,5 W |
USB 3.0 | 900 mA | 5 V | 4,5 W |
USB 3.2 Genx2 | 1,5 A | 5 V | 7,5 W |
Încărcarea bateriei 1.2 | 1,5 A | 5 V | 7,5 W |
Livrarea energiei 1.0/2.0/3.0 | 5 A [a] | 20 V | 100 W |
Livrarea energiei 3.1 | 5 A [a] | 48 V [b] | 240 W |
Prima încercare de a standardiza gadget-urile de mare consum și sursele de alimentare cu ieșire USB a dus la specificația de încărcare a bateriei USB [51] . Prima versiune a fost lansată în 2007. Versiunea actuală a USB BC 1.2 a fost publicată în 2010.
Caietul de sarcini a permis existența unor desemnate special[ cum? ] Conectori USB-A cu eficiență sporită a curentului (până la 1,5 A). Protocolul de configurare inițială USB a fost suplimentat cu capacitatea de a „negocia” consumul extins. Dispozitivul final ar putea crește consumul doar după „acord” cu gazda.
De asemenea, erau permise conectori USB-A cu linii de date neconectate, cum ar fi pe încărcătoare. Astfel de încărcătoare au fost identificate de gadget prin contactele închise D+ și D−. Astfel de dispozitive li s-a permis să dea curent până la 5 A.
Pentru consumatorii de energie de dimensiuni mici, specificația a recomandat un conector MicroUSB-B.
În noul standard USB Power Delivery, conceptul de alimentare a fost reproiectat semnificativ [52] [53] . Atât dezvoltatorii de gazdă, cât și de dispozitive au acum flexibilitatea de a gestiona alimentarea USB. Decizia despre cine este sursa, cine este consumatorul, despre posibilitățile sursei și cablului se ia în cursul unui dialog între dispozitive printr-un canal de comunicare separat. Este posibil ca în timpul dialogului dispozitivul să solicite, iar gazda să fie de acord să crească tensiunea de alimentare pentru a transmite putere mare peste infrastructura de cablu existentă. O supratensiune este transmisă de gazdă pe firul de alimentare Vbus. Pentru compatibilitate cu dispozitivele mai vechi, gazda readuce tensiunea la vechiul 5 volți de îndată ce detectează un dispozitiv deconectat.
Tehnologia USB Power Delivery oferă până la 100 W de putere. Datorită acestui fapt, folosind un cablu USB convențional, a devenit posibilă încărcarea și conectarea tuturor dispozitivelor electronice de la o sursă de încărcare, care poate fi un smartphone, laptop sau baterie externă [54] .
USBPD Rev.1În 2012, a fost introdusă prima revizuire a USB PD. A fost utilizată infrastructura standard de mufă și cablu USB 2.0 și 3.0. Gestionarea energiei a fost realizată printr-un dialog între consumator și sursă printr-un canal de comunicare independent organizat pe firul de alimentare al unui cablu USB standard (V bus ). A fost utilizată modularea în frecvență cu o purtătoare de 24 MHz .
Standardul permitea creșterea tensiunii pe pinul de alimentare USB (Vbus) la 12 V sau 20 V la un curent maxim de până la 5A.
USBPD 2.0A doua revizuire a standardului a fost lansată în 2014 împreună cu specificația USB 3.1 și este legată de noul conector USB Type-C. Acum, pentru un canal de comunicare dedicat între sursa de alimentare și consumator, se folosește un fir separat în cablu (Canal de configurare). De asemenea, susține determinarea tipului de cablu și a capacităților sale de transmisie a puterii, pentru care trebuie instalat un microcircuit în cabluri cu un curent maxim crescut care raportează parametrii cablului.
Standardul permitea creșterea tensiunii pe pinul de alimentare USB (Vbus) la 9, 15 sau 20 V la un curent maxim de până la 5A. Pentru curenți peste 3A, sunt necesare cabluri speciale cu cip de identificare.
USBPD 3.0În 2019, a fost lansat USB PD 3.0. Diferența sa semnificativă față de USB PD 2.0 este modul Alimentare programabilă, atunci când consumatorul nu solicită o tensiune fixă dintr-un interval de 5, 9, 15 sau 20 V, dar poate regla tensiunea în intervalul de 3,3 ... 21 V. în trepte de 20mV. Consumatorul poate cere sursei să limiteze curentul în trepte de 50 mA.
USBPD 3.1În primăvara anului 2021, a fost lansat USB PD 3.1. [3] O diferență semnificativă este împărțirea modurilor în Standard Power Range (compatibil cu USB PD 3.0) și Extended Power Range, în care sunt posibile tensiuni de 28, 36 și 48V. Modul de alimentare programabilă este rezervat numai pentru intervalul de putere standard și nu este acceptat în intervalul de putere extins. Pentru a obține o tensiune reglată înaltă, a fost introdus modul de alimentare cu tensiune reglabilă, care vă permite să setați tensiunea de la 15 la 48V în trepte de 100 mV.
Astfel, puterea maximă transmisă a ajuns la 240W. Pentru curenți peste 3A și tensiuni peste 20V, sunt necesare cabluri speciale cu cip de identificare. Au fost dezvoltate logo-uri speciale pentru marcarea vizuală a cablurilor de mare putere. [35] [36] [55]
Producătorii de gadgeturi mobile nu au putut trece de disponibilitatea energiei electrice de la o priză USB. Există multe dispozitive care consumă curent fără a respecta specificația USB.
În același timp, curentul de încărcare necesar dispozitivului ar putea fi mult mai mare decât standardul USB permis. Pentru a ocoli această limitare, mulți producători de telefoane au dezvoltat propriile reguli pentru determinarea unei surse de alimentare speciale - un încărcător [56] [57] . Acum, atunci când este conectat la încărcătorul original, telefonul are ocazia să se încarce cât mai repede posibil. În același timp, atunci când este conectat la o gazdă USB standard, telefonul urmează recomandările standardului USB, încărcându-se la un curent redus sau neîncărcându-se deloc.
De exemplu, dispozitivele Apple determină curentul maxim de ieșire de către încărcător din tensiunea de la pinii D− și D+. Dacă D+ = D− = 2,0 V atunci max. curent - 0,5 A. Dacă D+ = 2,0 V și D− = 2,8 V, atunci max. curent - 1 A. Dacă D+ = 2,8 V și D− = 2,0 V, atunci max. curent - 2 A [58] .
În 2007, USB-IF adoptă specificația de încărcare a bateriei USB, care începe procesul de standardizare a sursei de alimentare a dispozitivelor mobile. În 2007-2010, sunt adoptate o serie de reglementări naționale și internaționale (de exemplu, Sursa de alimentare externă comună, Soluție de încărcare universală GSM , chineză „Cerințe tehnice și metodă de testare pentru încărcător și interfață pentru echipamentele terminale de telecomunicații mobile” [59] [60] ), conform căreia încărcătoarele pentru gadgeturi mobile trebuie să fie echipate cu același tip de conectori: USB-A priză pe carcasa încărcătorului și Micro-USB-B pe gadgetul în sine. Încărcătorul este identificat prin contactele închise D+ și D−.
Qualcomm Quick ChargeTehnologiile Qualcomm , similare cu standardul USB Power Delivery, dar mai ușor de implementat, au câștigat o oarecare popularitate. Au fost lansate patru versiuni compatibile ale specificației [61] [62] :
Versiunea Qualcomm Quick Charge 1.0 (2013) prevedea o sursă de alimentare de 5 V 2 A și nu se deosebea prea mult de alte soluții non-standard. Nu a primit distribuție.
Qualcomm Quick Charge 2.0 (2015), precum USB Power Delivery, a oferit posibilitatea de a crește tensiunea de alimentare la 9, 12 sau 20 V după acordul dintre încărcător și gadget. Dar, spre deosebire de USB Power Delivery, metoda contractului a fost mult mai simplă și a permis utilizarea cablurilor și conectorilor USB 2.0/3.0 existente. În funcție de starea liniilor D+/D−, gadgetul stabilește că este conectat la încărcător, după care setează o anumită tensiune pe liniile D+/D− în conformitate cu tensiunea de alimentare dorită.
Versiunea Qualcomm Quick Charge 3.0 (2016) completează QC 2.0 cu capacitatea de a regla fără probleme tensiunea de ieșire în intervalul 3,6-20 V la cererea gadgetului.
Conform specificației USB, unele cabluri cu conectori de tip C pot conține un cip care identifică parametrii cablului. Deoarece acest microcircuit este alimentat de liniile de alimentare prin cablu, o creștere a tensiunii pe acestea poate fi fatală atât pentru cablu, cât și pentru echipamentul conectat. În acest sens, utilizarea Quick Charge 2.0 și 3.0 pe cabluri cu conectori de tip C s-a dovedit a fi riscantă. În 2015, USB-IF a publicat o metodologie pentru testarea infrastructurii de cabluri cu conectori de tip C, în care a interzis în mod explicit controlul tensiunii pe linia de alimentare prin metode nestandard. Acum încărcătoarele Quick Charge 2.0 și 3.0 cu conector USB de tip C nu vor putea primi un certificat de conformitate [63] . Google a emis o recomandare de a nu accepta QC 2.0 și 3.0 pe dispozitivele Android [64] . Problema este rezolvată în specificația Quick Charge 4.
Versiunea Qualcomm Quick Charge 4 a fost introdusă în noiembrie 2016. Declarat compatibil cu cabluri cu conectori de tip C [65] . Versiunea Qualcomm Quick Charge 4+ a fost introdusă în vara anului 2017.
USB alimentatÎn 1999, un grup de producători de echipamente comerciale a adoptat un standard corporativ, conform căruia conectorul USB era echipat cu contacte suplimentare cu tensiuni de 5 V, 12 V sau 24 V și un curent de până la 6 A. Această decizie nu a fost susținută. prin USB-IF.
În august 2014, a fost demonstrată o implementare a unei vulnerabilități a dispozitivului USB numită BadUSB . Unele dispozitive USB vă permit să schimbați firmware-ul microcircuitului care este responsabil pentru interacțiunea cu computerul. Un atacator, care a realizat o inginerie inversă a unui anumit dispozitiv, poate crea și scrie cod rău intenționat în el. Acest cod rău intenționat poate, de exemplu, imitând tastatura, să efectueze acțiunile necesare utilizatorului pe computerul infectat sau, prin imitarea unui dispozitiv de rețea, să modifice setările rețelei în așa fel încât utilizatorul să navigheze pe internet prin servere intermediare controlate. de către atacator ( Pharming ). În plus, imitând o unitate flash USB , codul rău intenționat poate descărca și rula un program de virus pe un computer cu funcția de executare automată activată. Un astfel de virus se poate copia pe alte dispozitive USB conectate în prezent la computer, infectând tot mai multe dispozitive USB (camere web, tastaturi, carduri flash etc.) [68] .
Dispozitivul USB Kill rău intenționat și dispozitivele similare pot exploata o altă vulnerabilitate: imediat după conectarea la alimentare, dispozitivul USB generează o serie de impulsuri de înaltă tensiune pe pinii de date, distrugând microcircuite valoroase din interiorul computerului [69] [70] [71] [72] . Vulnerabilitatea apare din cauza disponibilității mufelor USB, precum și datorită faptului că toate porturile USB sunt alimentate indiferent de ce dispozitiv este conectat la ele și datorită protecției slabe împotriva tensiunii înalte în contactele de mare viteză conectate la cipuri și ieșire pe corp.
Protocolul USB Mass Storage, care este o metodă de transmitere a comenzilor SCSI prin magistrala USB, are o suprasarcină mai mare decât protocolul FireWire/1394 corespunzător, SBP-2. Prin urmare, atunci când conectați o unitate externă sau o unitate CD / DVD prin FireWire, este posibil să obțineți o rată de transfer de date mai mare. De asemenea, stocarea în masă USB nu era acceptată pe sistemele de operare mai vechi (inclusiv Windows 98 ) și necesita instalarea unui driver. SBP-2 a fost susținut inițial în ele. Tot în sistemele de operare mai vechi (Windows 2000), protocolul de stocare USB a fost implementat într-o formă trunchiată, care nu permitea utilizarea funcției de scriere a CD-urilor și DVD-urilor pe o unitate conectată prin USB; SBP-2 nu a avut niciodată astfel de limitări.
Autobuzul USB este strict orientat, astfel încât conectarea a două computere necesită hardware suplimentar. Conexiunea echipamentelor fără computer, cum ar fi o imprimantă și un scaner sau o cameră și o imprimantă, a fost definită de standardul USB OTG ; mai devreme, aceste implementări erau legate de un anumit producător. Autobuzul 1394/FireWire nu este afectat inițial de acest dezavantaj (de exemplu, două camere video pot fi conectate).
Sudorul Saldanha, liderul unuia dintre cultele evanghelice din Brazilia , le-a interzis adepților săi să folosească dispozitive și porturi USB - el a văzut în emblema USB simbolul Satanei - un trident cu care sufletele păcătoșilor sunt torturate în iad și a declarat că toți cei care folosesc USB, se închină lui Satan [73] [74] [75] [76] .
Dicționare și enciclopedii | |
---|---|
În cataloagele bibliografice |
Autobuze și interfețe pentru computer | |
---|---|
Noțiuni de bază | |
Procesoare | |
Intern | |
laptopuri | |
Unități | |
Periferie | |
Managementul echipamentelor | |
universal | |
Interfețe video | |
Sisteme integrate |
Microcontrolere | ||||||||
---|---|---|---|---|---|---|---|---|
Arhitectură |
| |||||||
Producătorii |
| |||||||
Componente | ||||||||
Periferie | ||||||||
Interfețe | ||||||||
OS | ||||||||
Programare |
|