Închis . Această întrebare trebuie să fie mai concentrată
. În prezent, nu acceptă răspunsuri.
Comentarii
Răspunde
Voi încerca să-ți răspund la întrebări pentru ca tu să le propui (numerotare poate ajuta).
Există într-adevăr patru fire (ignorând USB3.x pentru moment). Două într-adevăr pentru alimentare (+ 5V și GND) și două pentru semnalizare (D + și D -).
Elementul cheie de remarcat despre firele de semnal este numele lor, notați + și – (de asemenea, uneori P și N sau P și M). Acestea indică de obicei în electronică că ceva este diferențial. înseamnă că 1 „s și 0” s sunt indicate de polaritatea tensiunii dintre fiecare cablu. Aceasta este spre deosebire de un singur capăt unde 1 „s și 0” s sunt transportate ca tensiune relativă la GND.
Ce vreau să spun prin polaritate? Ei bine, imaginați-vă că cablul D + este condus la \ $ + 3,3 \ m athrm {V} \ $, iar D- este condus la \ $ 0 \ mathrm {V} \ $. Diferența dintre cele două este \ $ V_ {D +} – V_ {D-} = 3.3 – 0 = 3.3 \ mathrm {V} \ $. Acum, dacă în schimb cablul D + a fost condus la \ $ 0 \ mathrm {V} \ $ și D- condus la \ $ + 3.3 \ mathrm {V} \ $, diferența devine \ $ V_ {D +} – V_ {D- } = 0 – 3.3 = -3.3 \ mathrm {V} \ $. Observați semnul minus, indicând polaritatea opusă.
Pentru ca acest lucru să funcționeze atunci, cele două cabluri de date trebuie să fie complementul celuilalt (atunci când unul este înalt, celălalt este scăzut) pentru a transfera date, astfel trebuie să funcționeze la aceeași frecvență. S-ar putea să vă gândiți de ce să vă deranjați, folosiți doar un cablu. Lucrul este că lumea este un loc destul de zgomotos, un fir cu un singur capăt (mod comun) este foarte predispus la zgomot care la viteze mari (chiar și la viteze mici în medii dure) care poate corupe datele (faceți 1 la 0). În semnalizarea diferențială, ambele cabluri sunt expuse la același zgomot, deci se anulează!
Un exemplu rapid. Spuneți că semnalul pe care îl trimiteți este \ $ 2 \ mathrm {V} \ $ sau \ $ 0 \ mathrm {V} \ $. Să spunem, de asemenea, că pe fiecare fir obțineți $ 1 \ mathrm {V} \ $ de zgomot (nerealist, dar un exemplu). Pentru un singur capăt, semnalele dvs. la receptor ar fi fie \ $ 2 + 1 = 3 \ mathrm {V} \ $ care este în mod clar o logică 1, fie \ $ 0 + 1 = 1 \ mathrm {V} \ $ habar n-am ce a fost. Cu toate acestea, pentru diferențial, semnalele dvs. la receptor ar fi fie \ $ (2 + 1) – (0 + 1) = 2 \ mathrm {V} \ $ sau \ $ (0 + 1) – (2 + 1) = – 2 \ mathrm {V} \ $, care sunt ambele la fel ca și când nu ar exista deloc zgomot!
Există și alte avantaje în a avea două fire. Când nu trimiteți date, specificația USB utilizează cele două fire independent pentru semnale de control, de ex. un semnal de sincronizare, o comandă de resetare etc. Acestea se pot distinge clar de pachetele de date prin diferite trucuri, care este probabil prea profundă (toate vor fi în specificațiile USB menționate în comentarii).
În USB, ambele dispozitive trebuie să aibă aceeași frecvență. Acesta este de obicei un multiplu de 12MHz – motiv pentru care veți vedea dispozitive USB care funcționează la frecvențe de ceas, cum ar fi 48MHz sau 12MHz, etc. ). Acest lucru este în general suficient de apropiat încât, în virtutea impulsurilor de sincronizare pe liniile de date și a faptului că datele sunt trimise în rafale (ceea ce înseamnă că deriva de frecvență nu se adaugă pe o perioadă lungă de timp), ca cele două dispozitive să poată rămâne sincronizate. ați fi folosit accidental, să zicem, un cristal de 16 MHz, dispozitivul nu va reuși să enumere.
Cum știe maestrul că dispozitivul are nevoie de energie? Simplu, toate dispozitivele USB au voie să deseneze un cantitate de curent fără a o solicita – până la \ $ 100 \ mathrm {mA} \ $ din câte îmi amintesc. Acest lucru oferă dispozitivului suficientă putere pentru a porni, afirmă prezența acestuia (cu un rezistor de tragere pe linia D + – din nou probabil prea în profunzime). Odată ce maestrul este conștient de dispozitiv, acesta alocă o putere de alimentare dispozitivului respectiv și întreabă dacă va avea nevoie de mai mult (de exemplu, pentru un dispozitiv de mare putere, dacă dorește \ $ 500 \ mathrm {mA} \ $ alocație de curent mare).
Protocolul USB este în specificație. Încercarea de a trece peste ar fi probabil încă prea profundă.Dar, după ce ați spus că vă recomandăm să verificați acest răspuns la o altă întrebare care oferă câteva detalii.
Răspuns
USB 1.x (1,5 Mbit / s și 12 Mbit / s) și 2.0 (480 Mbit / s) utilizează patru fire, V \ $ _ {BUS} \ $ ( +5), D +, D- și GND. D + și D- formează o pereche diferențială. Există, de asemenea, o extensie numită OTG (On-The-Go) care permite unui dispozitiv să acționeze fie ca gazdă USB, fie ca dispozitiv, iar acest lucru folosește un al cincilea cablu de identificare pe care îl putem ignora.
Dacă rata maximă a fiecărui host și dispozitiv este diferită, are loc o negociere și se utilizează cea mai mare viteză comună pentru ambele.
Semnalizarea diferențială prevede un grad ridicat de imunitate la zgomot. Semnalele de date sunt trimise pozitive pe linia D + și negative pe linia D. La partea de recepție, cablul plus este trimis în câmpul + al unui comparator (acționând ca un scăzător), iar câmpul minus este trimis în – câmpul comparatorului.
Pentru impulsuri valide, aceste două se adaugă (deoarece impulsul negativ de mers a fost trimis în – conducătorul comparatorului, adaugă ei). Dar dacă zgomotul este indus pe linie, acesta va afecta în general atât liniile D +, cât și liniile D la fel, iar comparatorul le va scădea.
Diagrama arată datele care merg într-o singură direcție. Acest lucru se datorează faptului că semnalele USB sunt semi-duplex, datele merg doar într-o direcție la un moment dat.
USB 3.0 (până la 10 Gbit / s) folosește nouă fire în loc de patru și oferă funcționare full-duplex, deoarece există perechi diferențiale în fiecare direcție pentru transmisie și recepție.
Dispozitivele pot trage până la 100 mA fără a fi nevoie să „întrebe”. Pentru USB 1.x și 2.0, dispozitivul poate solicita gazdei să furnizeze până la 500 mA. Pentru USB 3.0, aceasta a fost mărită la 900 mA. Există un protocol separat utilizat pentru încărcarea bateriei (fără schimb de date); acest lucru poate ajunge până la 5A în unele cazuri.
Comentarii
Răspuns
USB utilizează semnalizarea diferențială pentru a reduce interferențele și pentru a permite transmisia de mare viteză pe o distanță mare. O magistrală diferențială este construită cu două fire, unul dintre ele reprezentând datele transmise și celălalt este complementul. Ideea este că tensiunea „medie” de pe fire nu poartă nicio informație, rezultând mai puține interferențe. Seria cea mai modernă autobuzele (USB, Ethernet, PCIe, SATA etc.) sunt diferențiale, deoarece costul cablurilor suplimentare este mult mai mare decât avantajele reducerii zgomotului. USB 2 este, de asemenea, ceea ce se numește „half duplex”. funcționează într-o singură direcție la un moment dat. Spuneți că computerul dvs. vă poate trimite un mesaj mouse-ului. Sau mouse-ul dvs. poate trimite un mesaj computerului dvs. Dar nu ambele în același timp. Autobuzul trebuie să fie „învârtit” fiecare datele de timp trebuie trimise în cealaltă direcție.
În ceea ce privește ceasul, USB utilizează dispozitivele numite serializatoare și deserializatoare. Serializatorul este responsabil pentru generarea datelor seriale la capătul de transmisie și deserializator este responsabil pentru recuperarea biților pe cealaltă en d. O parte a activității serializatorului este codificarea datelor într-un mod care va fi ușor de decodat prin includerea informațiilor de încadrare și sincronizare. O parte din sarcina deserializatorului este recuperarea semnalului de ceas. USB folosește o codificare numită NRZI sau inversat non-return-to-zero. În NRZI, 0 logic este reprezentat de o tranziție și 1 logic este reprezentat de nici o tranziție. USB folosește bit stuffing pentru a limita lungimea 1s succesive trimise prin cablu. Rezultatul acestui lucru înseamnă că există tranziții suficient de des pentru a recupera toți biții, chiar dacă ceasurile de pe emițător și receptor nu bifează exact la aceeași rată. Totuși, trebuie să fie relativ apropiați. Există, de asemenea, secvențe de sincronizare explicite care sunt trimise împreună cu datele.
În ceea ce privește puterea, dispozitivului îi este permis să extragă o anumită cantitate de energie fără a cere gazdei. Pentru a atrage mai mult de atât, este necesar să negociați pentru a vă asigura că gazda nu este supraîncărcată. Dispozitivul trebuie să aștepte până când primește permisiunea pentru a putea trage mai mult curent.