Ismerem a Google válaszát és a wikipédia válaszait a fenti kérdésre. De van egy konkrétabb kérdésem. Az USB elosztóknak sok bejövő és portos, és csak egy kimenő portja van, emiatt mondjuk n számú eszközt képesek együtt használni. De nem értem, hogyan lehet egy USB-porton adatátvitel n számú USB-porttal?
hogyan küldhet különböző adatokat egyszerre az összes USB-portra?

*

sematikus

szimulálja ezt az áramkört – A sematika a CircuitLab

* használatával készült.

Megjegyzések

  • Nagyjából ugyanúgy, ahogy a hálózati útválasztó egy LAN portot (az internetet) több eszközhöz is képes csatlakoztatni. Minden végpontnak (USB-eszköz) van hozzárendelve egy címet, és az elosztók egyszerűen továbbítják a gazdagéptől érkező kéréseket a megfelelő eszközre, figyelemmel kísérve, hogy melyik cím melyik porton található. ' sokkal egyszerűbb az USB-nél abban az értelemben, hogy csak egy master (a gazdagép portja) kezdeményezi az összes tranzakciót.
  • @TomCarpenter Then How az USB-port különféle adatokat ' küldene?
  • A gazdagép egy adott végpontot kér fel a beszélgetésre. A végpontok csak akkor beszélnek vissza, ha a gazdagép kéri őket.
  • @TomCarpenter De mindet egyszerre használják, és nem egyenként, hanem együtt.
  • Ne feledje, hogy az USB busz képes akár 480Mbps sebességgel fut USB 2.0-n. A gazdagép egyszerre csak egy végponttal beszél, de mindegyikkel szekvenciálisan beszél, és olyan gyorsan váltogat közöttük, hogy ' nem tudná megmondani. Ugyanezt csinálják a hálózatok. " Hé, egér az 1. porton, mondja meg, ha ' költözött. Rendben, most a 2. port billentyűzete van-e valamilyen gombnyomás a bejelentéshez? Most ott van a 3. porton, flash meghajtón, tárolja ezeket az adatokat nekem. Van még valaki, akivel beszélnem kell? nem, oké, akkor az egér az 1. porton, mondd meg, ha ' mozogtál … "

Válasz

Mindez a választottbíráskodáshoz kapcsolódik. Minden olyan rendszerhez, amely több eszköz csatlakoztatását igényli, valamilyen módon meg kell határozni, hogy kinek kell beszélnie mikor. Különböző sémák vannak, amire az alkalmazás függvényében számíthat.

Gyakori példa – a hálózatban sok csomópont van, amelyek mindegyike beszél egymással. Ezt minden csomópontnak van címe (pl. IP cím), és amikor egy csomópont egy másik csomópontdal akar beszélni, csomagot küld erre a címre. Ezután vannak olyan eszközei, például útválasztók, amelyek több porton érkező csomagokat vesznek át, és továbbítják őket a megfelelő portra. A memória felhasználásával csomagok tárolhatók, amíg a célport meg nem szabad.


Most USB-n. Ez valójában sokkal egyszerűbb, mint a hálózat, mert nem minden csomópont egyenlő. Kétféle típusa van, egy gazdagép és végpont. Csak egy gazdagép van, de sok végpont lehet. Ebben az esetben a választottbírósági eljárás sokkal könnyebb, mert csak a gazdagép portja szabadon beszélhet. A A végpontok csak akkor beszélhetnek, ha a állomás kéri, és a gazdagép mindig csak egy végponttal beszél egyszerre.

Host- > végpont csomagok esetén az USB elosztók egyszerűen továbbítják a kérést a gazdagéptől az összes végponthoz. Mivel minden végpontnak van címe, csak az, amelyikre a kérelmet címezték, bármit is csinál vele (pl. Válaszol), az összes többi figyelmen kívül hagyja a csomagot.

Végpont- > hosztcsomagok, a hoszt először csomagot küld egy adott végpontnak cím szerint, hogy " mondhatja, hogy most beszélhet " , és akkor ennek a végpontnak azonnal választ kell küldenie. Mivel egy adott pillanatban csak egy végpont beszélhet, az USB hub egyszerűen továbbítja a csomagot attól a porttól, amelyik válaszol a gazdagép kérésére.


A gazdagép működését illetően hogy milyen eszközök vannak csatolva, és hogyan kapják meg a végpontok a címüket, ezt a felsorolással érhetjük el.

Minden gazdagép és hub port rendelkezik lehúzható ellenállásokkal (15kOhm) a D + és D-vonalon. Ezekkel a port adatvonalai ismert állapotba kerülnek, amikor nincs eszköz csatlakoztatva, olyan állapotba, amelyben a port egyáltalán nem küld adatokat D + / D-vonalakon keresztül.

Amikor egy eszköz csatolva, a D + (teljes sebességű) vagy a D- (alacsony sebességű) adatvonalat 1,5 kOhm-os ellenállás segítségével csatlakoztatja a VCC-hez. Ez felsorolási eseményt vált ki. Ezután a port megkezdi az eszköz konfigurálását és egy cím hozzárendelését.Ha két eszközt egyszerre csatlakoztatna, ezek egyenként lesznek felsorolva .

Ha nincsenek hubok, akkor a host egyszerűen beszél az új eszközzel, és beállítja azt. Ha vannak hubok a rendszerben, az hub jelenti azt, hogy az új eszköz csatlakozik . Ha egy hub jelentése szerint új eszköz csatlakoztatva van, a gazdagép utasítja a hubot az új eszköz alaphelyzetbe állítására és a kommunikáció elindítására. A visszaállítás során a végpontnak alapértelmezett címe 0 (*). Ezután a gazdagép beszélhet a végponttal az alapértelmezett cím használatával, és konfigurálhatja azt egy egyedi, nem nulla címmel, amely lehetővé teszi számára, hogy tudja, mikor beszélnek vele.

(*) Mivel csak egy eszköz mindig fel van sorolva, a 0 cím mindig egyedi lesz az újonnan csatolt eszközhöz.


Ezután megkérdezheti: " akkor több eszköz beszélhet egyszerre? ". Tegyük fel, hogy egér, billentyűzet és flash meghajtó van csatlakoztatva ugyanahhoz az USB hubhoz. Mindannyian tudjuk, hogy egyszerre használhatja az egeret és a billentyűzetet, miközben fájlokat másolhat a flash meghajtóra, de ha egyszerre csak egy eszköz tud beszélni, akkor ez hogyan lehetséges?

Nos , mindez arra a tényre vezethető vissza, hogy az a néhány száz milliszekundum szükséges az agyának, hogy észrevegye, hogy megnyomott egy gombot, és azt várja, hogy a képernyő frissüljön, ez egy örökkévalóság a számítógép számára. Az USB 2.0 interfész akár 480Mbps sebességgel is képes működni (az USB 3.1 akár 10Gbps sebességgel is működhet!), Ami azt jelenti, hogy bár a gazdagép mindig csak egy végponttal beszél bármikor, olyan gyorsan ciklizál közöttük, hogy “ne mondd meg” csinálja.

USB-gazdagép: " Hé, egér az 1-es porton, mondd meg, hogy mozogtál-e. Ok, most a 2. port billentyűzete van-e valami gombnyomás a bejelentéshez? Most ott vagy a 3. porton, flash meghajtón, tárolja ezeket az adatokat nekem. Bárki mással kell beszélnem? Nem, akkor rendben, az egér az 1. porton, mondd meg, ha mozogtál … "

Ember: " Ó, nézd , a számítógép észrevette, hogy csak megmozgattam az egeremet, megnyomtam egy billentyűt a billentyűzetemen, és egyidejűleg képet másoltam a flash meghajtóra! "

A gazdagép nyomon követi, hogy melyik e Az ndpoint címeket használjuk, és mindegyiknek csomagokat küldünk egymás után vagy szükség szerint (azaz amikor az operációs rendszer hozzáférést kér egy adott eszközhöz). Tehát bár nem minden egyidejűleg zajlik, a döntőbíráskodás olyan gyors, hogy az emberi kedvencek számítógépei nem tudnak különbséget tenni.

Megjegyzések

  • add: Az USB-eszközök (pontosabban csak a „megszakító” végpontok) bizonyos időközönként 1 ms-ig kérhetik a lekérdezést. Amíg nincs több száz bemeneti eszköz, soha nem fog késést észlelni.
  • Honnan tudja a gazdagép, hogy mely végpontok vannak összekapcsolva? Ez nem úgy tűnik, hogy ' is válaszolna a hubokkal kapcsolatos eredeti kérdésre. Hogyan hatnak egymásra ebben a folyamatban ? Hogyan hatnak egymásra a felsorolás?
  • @YonaAppletree felsorolás. A házigazdák és hubok az összes portjukat keresik eszközkapcsolatokra – 1,5 kOhm felhúzós ellenállást észlelnek a D + (Teljes sebesség) vagy a D- (Alacsony sebesség). I ' hozzáadok néhány információt arról, hogy a végpontokhoz milyen címet rendelnek.
  • @YonaAppletree az elosztók szempontjából a működés során, a válasz nem beszél már arról hoszt a végponthoz: " Az USB elosztók egyszerűen továbbítják a kérést a gazdagéptől az összes végpontnak ". A végpont hosztolásához: " Mivel egy adott pillanatban csak egy végpont beszélhet, az USB hub egyszerűen továbbítja a csomagot attól a porttól, amelyik válaszol "

Válasz

Rövidebb válasz: a gazdagép adatokat küld, amelyek egy adott eszköznek vannak címezve ( amelyet előzetesen “felsoroltak”), egyszerre egy tranzakciót. A hub az összes csomagot az összes eszközre sugározza. Egy eszköz csak a neki címzett tranzakciókra reagál. Ez minden igaz, a HS eszközökre.

Az FS és LS eszközök esetében a folyamat egy kicsit bonyolultabb. Olyan “tranzakciós fordítókat” használ, amelyek minden portban minden hubban vannak beépítve, akik így fordítják az úgynevezett “osztott tranzakciók” LS vagy FS forgalomra.

Megjegyzések

  • Mi a helyzet az USB 3-mal?
  • Az USB3 hubok intelligensebb a szupergyors összeköttetéshez, és használja az eszközre / végpontokra történő átirányítást. Az USB2 szakasz változatlan marad. Lásd a 3.1 szakaszt " Építészeti összefoglaló " a legújabb USB3.1 specifikációk közül, usb.org/developers/docs/usb_31_052016.zip

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük