Stengt . Dette spørsmålet må være mer fokusert . Det aksepteres for øyeblikket ikke svar.

Kommentarer

  • Har du sett på Universal Serial Bus Specification spesielt USB kapittel 9? Eller les Jan Axelson ' s USB Complete?
  • Takk for disse ressursene, men det eneste problemet er at jeg knapt vet noe om elektronikk, så guiden gir ingen mening å meg. Jeg vet at forståelse av hele USB-protokollen krever spesifikk inngående kunnskap, men jeg trenger bare en rask oversikt. (Dette spørsmålet er ikke ' t for et prosjekt. Jeg spurte det bare fordi jeg var nysgjerrig)

Svar

Jeg prøver å svare på spørsmålene dine slik at du foreslo dem (nummerering kan hjelpe).

Det er faktisk fire ledninger (ignorerer USB3.x for øyeblikket). To faktisk for strøm (+ 5V og GND), og to for signalering (D + og D -).


Det viktigste å merke seg om signaltrådene er navnet deres, merk + og – (også noen ganger P og N eller P og M). Disse indikerer vanligvis i elektronikk at noe er forskjellig. Hva dette betyr at 1 «og 0» er indikert med polariteten av spenningen mellom hver kabel. Dette er i motsetning til enkel endet der 1 «og 0» bæres som en spenning i forhold til GND.

Hva mener jeg med polaritet? Tenk deg at D + -kabelen er drevet til \ $ + 3.3 \ m athrm {V} \ $, og D- kjøres til \ $ 0 \ mathrm {V} \ $. Forskjellen mellom de to er \ $ V_ {D +} – V_ {D-} = 3.3 – 0 = 3.3 \ mathrm {V} \ $. Hvis D + -kabelen i stedet ble drevet til \ $ 0 \ mathrm {V} \ $ og D-drevet til \ $ + 3.3 \ mathrm {V} \ $, blir forskjellen \ $ V_ {D +} – V_ {D- } = 0 – 3.3 = -3.3 \ mathrm {V} \ $. Legg merke til minustegnet, som indikerer motsatt polaritet.

For at dette skal fungere da, må de to datakablene utfylle hverandre (når den ene er høy, den andre er lav) for å overføre data, og dermed må operere med samme frekvens. Du tenker kanskje hvorfor bry deg, bare bruk en kabel. Saken er at verden er et ganske bråkete sted, en ledning med en ende (vanlig modus) er veldig utsatt for støy som ved høye hastigheter (selv ved lave hastigheter i tøffe omgivelser) som kan ødelegge dataene (lage en 1 til 0). Ved differensialsignalering blir begge kablene utsatt for samme støy, så det avbrytes!

Et raskt eksempel. Si at signalet du sender er \ $ 2 \ mathrm {V} \ $ eller \ $ 0 \ mathrm {V} \ $. La oss også si at på hver ledning får du \ $ 1 \ mathrm {V} \ $ støy (urealistisk, men et eksempel). For enkelt slutt ville signalene dine på mottakeren være enten \ $ 2 + 1 = 3 \ mathrm {V} \ $ som tydeligvis er en logisk 1, eller \ $ 0 + 1 = 1 \ mathrm {V} \ $ på hvilket tidspunkt du aner ikke hva det var. For differensial vil imidlertid signalene dine på mottakeren være enten \ $ (2 + 1) – (0 + 1) = 2 \ mathrm {V} \ $ eller \ $ (0 + 1) – (2 + 1) = – 2 \ mathrm {V} \ $ som begge er de samme som om det ikke var noe støy i det hele tatt!


Det er andre fordeler med å ha to ledninger. Når ikke data sendes, bruker USB-spesifikasjonen de to ledningene uavhengig for styresignaler, f.eks. et synkroniseringssignal, en tilbakestillingskommando osv. Disse kan tydelig skilles fra datapakker ved forskjellige triks som sannsynligvis er for dyptgående (alt vil være i USB-spesifikasjonen nevnt i kommentarene).


I USB må begge enhetene ha samme frekvens. Dette er vanligvis et multiplum av 12MHz – det er derfor du vil se USB-enheter som opererer med klokkefrekvenser som 48MHz eller 12MHz, etc. Disse frekvensene genereres av en krystallreferanse, som vanligvis er nøyaktig til rundt 20 ppm (240Hz for en 12MHz krystall ). Dette er generelt nært nok til at i kraft av synkroniseringspulser på datalinjene og det faktum at data sendes i brister (noe som betyr at drift i frekvens ikke gir seg over lang tid), at de to enhetene kan forbli synkroniserte. du skulle ved et uhell bruke, si, en 16MHz krystall, vil enheten sannsynligvis ikke telle.


Hvordan vet mesteren at enheten trenger strøm? Enkelt, alle USB-enheter har lov til å tegne en mengde strøm uten å be om det – opp til \ $ 100 \ mathrm {mA} \ $ så langt jeg husker. Dette gir enheten nok strøm til å slå på, hevde sin tilstedeværelse (med en pull-up motstand på D + -linjen – igjen sannsynligvis Når mesteren er klar over enheten, tildeler den en strømtilskudd til den enheten og spør om den vil trenge mer (f.eks. for en enhet med høy effekt, hvis den vil ha $ 500 \ mathrm {mA} \ $ høy strømtilskudd).


USB-protokollen er alt i spesifikasjonen. Det å prøve å gå over vil trolig fortsatt være for grundig.Men når det er sagt, vil du kanskje sjekke ut dette svaret på et annet spørsmål som gir noen detaljer.

Svar

USB 1.x (1.5 Mbit / s og 12 Mbit / s) og 2.0 (480 Mbit / s) bruker fire ledninger, V \ $ _ {BUS} \ $ ( +5), D +, D- og GND. D + og D- danner et differensialpar. Det er også en utvidelse kalt OTG (On-The-Go) som gjør at en enhet kan fungere som enten en USB-vert eller -enhet, og dette bruker en femte ID-ledning vi kan ignorere.

Hvis maksimal hastighet for hver av verten og enheten er forskjellig, en forhandling finner sted og den høyeste hastigheten som er felles for begge brukes.

skriv inn bildebeskrivelse her

Differensial signalering sørger for høy grad av støyimmunitet. Datasignalene sendes positive på D + -linjen, og negative på D-linjen. På mottakersiden blir plussledningen sendt til + ledningen til en komparator (fungerer som en subtraktor), og minusledningen sendes til – ledningen til komparatoren.

skriv inn bildebeskrivelse her

For gyldige pulser legger disse to til (siden den negative pulsen ble sendt til ledelsen til komparatoren, legger de til). Men hvis støy induseres på linjen, vil det generelt påvirke både D + og D-linjene det samme, og komparatoren vil trekke dem ut.

Diagrammet viser data som går i bare én retning. Det er fordi USB-signaler er halvt dupleks, dataene går bare en retning av gangen.

USB 3.0 (opptil 10 Gbit / s) bruker ni ledninger i stedet for fire og gir full dupleksdrift siden det er differensialpar hver vei for sending og mottak.

Enheter kan trekke opp til 100 mA uten å måtte «spørre». For USB 1.x og 2.0 kan enheten be verten om å levere opptil 500 mA. For USB 3.0 er dette økt til 900 mA. Det er en egen protokoll som brukes til batterilading (ingen datautveksling); dette kan i noen tilfeller gå så høyt som 5A.

Kommentarer

Svar

USB bruker differensial signalering for å redusere forstyrrelser og tillate høyhastighetsoverføring over lang avstand. En differensialbuss er bygd med to ledninger, den ene representerer de overførte dataene, og den andre kompletterer den. Tanken er at den «gjennomsnittlige» spenningen på ledningene ikke har noen informasjon, noe som resulterer i mindre forstyrrelser. busser (USB, Ethernet, PCIe, SATA osv.) er differensielle ettersom kostnadene for de ekstra ledningene langt oppveies av fordelene med støyreduksjon. USB 2 er også det som kalles «halv dupleks.» Dette betyr at koblingen bare fungerer i en retning til enhver tid. Si at datamaskinen din kan sende en melding til musen din. Eller musen din kan sende en melding til datamaskinen din. Men ikke begge på samme tid. Bussen må «snu» hver tidsdata må sendes i den andre retningen.

Når det gjelder klokking, bruker USB enheter som kalles serialisering og deserializer. Serializer er ansvarlig for å generere serielle data på sendende og deserializer er ansvarlig for å gjenopprette bitene på den andre no d. En del av jobben til serialisereren er å kode dataene på en måte som det vil være enkelt å dekode ved å inkludere informasjon om innramming og synkronisering. En del av jobben til deserializer er å gjenopprette klokkesignalet. USB bruker en koding kalt NRZI, eller ikke-retur-til-null invertert. I NRZI er logisk 0 representert av en overgang og logisk 1 er representert av ingen overgang. USB bruker bitstopp for å begrense lengden på påfølgende 1s sendt over ledningen. Resultatet av dette betyr at det ofte er overganger til å gjenopprette alle bitene, selv om klokkene på senderen og mottakeren ikke tikker med nøyaktig samme hastighet. De må imidlertid være relativt nærme. Det er også eksplisitte synkroniseringssekvenser som sendes sammen med dataene.

Når det gjelder strøm, har enheten lov til å trekke en viss mengde strøm uten å spørre verten. For å tegne mer enn det, er det nødvendig å forhandle for å sikre at verten ikke blir overbelastet. Enheten må vente til den får tillatelse før den kan trekke mer strøm.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *