Tiedän Googlen vastaukset ja wikipedian vastaukset yllä olevaan kysymykseen. Mutta minulla on käsillä tarkempi kysymys. USB-keskittimissä on paljon saapuvia ja portteja ja vain yksi lähtevä portti, tämän vuoksi voin käyttää sanottuja n-laitteiden määrää yhdessä. Mutta en ymmärrä miten yksi USB-portti voi siirtää tietoja n-määrän USB-portteja käyttäen?
miten se voi lähettää eri tietoja kaikkiin USB-portteihin samanaikaisesti?

*

kaavamainen

simuloi tätä virtapiiriä – Kaavio luotu käyttämällä CircuitLab

*.

Kommentit

  • Melkein samalla tavalla kuin verkkoreitittimesi voi yhdistää yhden LAN-portin (Internet) useisiin laitteisiin. Jokaiselle päätepisteelle (USB-laitteelle) on osoitettu osoite, ja keskittimet ohjaavat yksinkertaisesti isännän pyynnöt oikeaan laitteeseen seuraamalla, mikä osoite missä portissa on. ' on paljon yksinkertaisempi USB: lle siinä mielessä, että on vain yksi isäntä (isäntäportti), joka aloittaa kaikki tapahtumat.
  • @TomCarpenter Sitten miten lähettäisikö USB-portti eri tietoja ' yhdessä?
  • isäntäportti pyytää tiettyä päätepistettä puhumaan. Päätepisteet puhuvat vasta, kun isäntä pyytää niitä.
  • @TomCarpenter Mutta niitä kaikkia käytetään samanaikaisesti eikä yksi kerrallaan, vaan kaikki yhdessä.
  • Muista, että USB-väylä voi ajaa jopa 480 Mbps USB 2.0: lla. Isäntä puhuu aina vain yhdelle päätepisteelle kerrallaan, mutta se puhuu heille kaikille peräkkäin ja vaihtamalla niiden välillä niin nopeasti, että et voinut ' kertoa. Sama asia mitä verkostot tekevät. " Hei, hiiri portissa 1, kerro, oletko ' siirtynyt. Ok nyt näppäimistö portissa 2, onko sinulla mitään näppäinpainalluksia ilmoittaaksesi? Nyt sinä portissa 3, flash-asema, tallenna nämä tiedot minulle. Kenenkään muun kanssa minun täytyy puhua? ei, ok, hiiri portissa 1, kerro, oletko ' siirtynyt … "

Vastaa

Kaikki liittyy välimiesmenettelyyn. Kaikki järjestelmät, jotka edellyttävät useiden laitteiden yhdistämistä, tarvitsevat jonkin tavan määrittää, kenen pitäisi puhua milloin. On olemassa erilaisia malleja, kuten odotat sovelluksesta riippuen.

Yleinen esimerkki – verkostoitumisessa meillä on monia solmuja, jotka kaikki keskustelevat keskenään. Tämä tapahtuu siten, että jokaisella solmulla on osoite (esim. IP osoite), ja kun solmu haluaa puhua toisen solmun kanssa, se lähettää paketin kyseiseen osoitteeseen. Sinulla on sitten laitteita, kuten reitittimiä, jotka ottavat paketteja, jotka saapuvat useisiin portteihin, ja välittävät ne edelleen oikeaan porttiin. tehty muistin avulla pakettien tallentamiseen, kunnes kohdeportti on vapaa.


Nyt USB: llä. Tämä on itse asiassa paljon yksinkertaisempaa kuin verkkoyhteys, koska kaikkia solmuja ei tehdä yhtäläisiksi. Sinulla on kaksi erilaista, isäntä ja päätepiste. On vain yksi isäntä, mutta voi olla useita päätepisteitä. Tässä tapauksessa välimiesmenettely on paljon helpompaa, koska vain isäntäportti saa puhua haluamallaan tavalla. Päätepisteet saavat puhua vain isännän pyynnöstä , ja isäntä puhuu vain yhden päätepisteen kerrallaan.

Host- > -päätepaketeille USB-keskittimet yksinkertaisesti välittävät pyynnön isännältä kaikille päätepisteille. Koska kaikilla päätepisteillä on osoite, vain se, jolle pyyntö osoitettiin, tekee mitään sen kanssa (esim. Vastaa), kaikki muut jättävät paketin huomiotta.

Päätepiste- > isäntäpaketit, isäntä lähettää ensin paketin tiettyyn päätepisteeseen osoitteella sanomaan " voit puhua nyt " ja sitten kyseisen päätepisteen on lähetettävä välittömästi vastaus. Koska vain yhden päätepisteen on sallittu puhua kerrallaan, USB-keskitin reitittää paketin yksinkertaisesti siitä portista, joka vastaa isännän pyyntöön.


Isännän toiminnan kannalta selvittää, mitkä laitteet on liitetty ja miten päätelaite saa osoitteensa, tämä saavutetaan luetteloinnilla.

Kaikissa isäntä- ja keskittimen porteissa on alasvetovastukset (15 kOhm) D + ja D-linjoilla. Nämä asettavat kyseisen portin tietolinjat tunnettuun tilaan, kun laitetta ei ole liitetty, tilaan, jossa portti ei lähetä mitään tietoja D + / D-linjojen kautta ollenkaan.

Kun laite on kiinnitettynä, se ilmoittaa itsestään kytkemällä joko D + (täysnopeus) tai D- (matala nopeus) datalinjan VCC: hen 1,5 kOhm: n vastuksella. Tämä laukaisee laskentatapahtuman. Portti aloittaa sitten laitteen määrityksen ja osoitteen määrittämisen.Jos liität kaksi laitetta samanaikaisesti, ne luetellaan yksi kerrallaan .

Jos keskittimiä ei ole, isäntä yksinkertaisesti puhuu uuden laitteen kanssa ja asettaa sen. Jos järjestelmässä on keskittimiä, se on keskittymä, joka ilmoittaa uuden laitteen olevan liitettynä . Jos keskus ilmoittaa uuden laitteen olevan kytkettynä, isäntä kehottaa keskitintä nollaamaan uusi laite ja käynnistämään viestintä. Palautuksen aikana päätepisteelle annetaan oletusosoite 0 (*). Isäntä voi sitten puhua päätetapahtumalle oletusosoitteen avulla ja määrittää sen yksilöllisellä, ei-nolla-osoitteella, jonka avulla se voi tietää, milloin puhutaan.

(*) Koska vain yksi laite on aina lueteltu kerrallaan, osoite 0 on aina ainutlaatuinen juuri liitetylle laitteelle.


Voit sitten kysyä, " Voinko sitten kaikki laitteet puhua samanaikaisesti? ". Oletetaan, että sinulla on hiiri, näppäimistö ja flash-asema kytketty samaan USB-keskittimeen. Tiedämme kaikki, että voit käyttää hiirtä ja näppäimistöä samanaikaisesti samalla, kun kopioit tiedostoja flash-asemaan / siitä, mutta jos vain yksi laite voi puhua kerrallaan, miten se voi olla mahdollista?

No , kaikki johtuu siitä, että muutama sata millisekuntia, jonka aivosi vievät huomaamaan, että olet painanut näppäintä, ja odottaa näytön päivittyvän tietokoneelle ikuisuuden. USB 2.0 -liitäntä voi toimia jopa 480Mbps: llä (USB 3.1 voi toimia jopa 10Gbps!), Mikä tarkoittaa, että vaikka isäntä puhuu aina vain yhdelle päätepisteelle milloin tahansa, se kiertää niiden välillä niin nopeasti, että voit ”Älä kerro sille”.

USB-isäntä: " Hei, hiiri portissa 1, kerro minulle, jos olet siirtynyt. Ok nyt näppäimistö portissa 2, onko sinulla mitään näppäinpainalluksia ilmoittaaksesi? tallenna nämä tiedot minulle portilla 3, flash-asema. Joku muu, jonka kanssa minun on puhuttava? ei, ok, sitten hiiri portissa 1, kerro minulle, jos olet siirtynyt … "

Ihminen: " Oh look , tietokone huomasi, että vain siirrin hiirtä, painin näppäimistön näppäintä ja kopioin kuvan flash-asemaan samaan aikaan! "

Isäntälaite seuraa mitä e ndpoint-osoitteita käytetään ja ne lähettävät paketteja kullekin peräkkäin tai tarpeen mukaan (ts. kun käyttöjärjestelmä pyytää pääsyä tiettyyn laitteeseen). Joten vaikka kaikki eivät tapahdu samanaikaisesti, välimiesmenettely on niin nopeaa, että ihmisille tarkoitetut tietokoneet eivät voi sanoa eroa.

Kommentit

  • lisää: USB-laitteet (vain ”keskeytys” päätepisteet, tarkalleen ottaen) voivat pyytää kyselyä tietyllä aikavälillä 1 ms: iin asti. Niin kauan kuin sinulla ei ole satoja syöttölaitteita, et koskaan huomaa viivettä.
  • Mistä isäntä tietää, mitkä päätepisteet ovat yhteydessä toisiinsa? Myöskään tämä ei ' näytä oikeastaan vastaavan keskittimiä koskevaan alkuperäiseen kysymykseen. Kuinka he ovat vuorovaikutuksessa tässä prosessissa ? Miten vuorovaikutus on luettelossa?
  • @YonaAppletree luettelo. Isännät ja keskittimet etsivät kaikki porttinsa laitteiden yhteyksien varalta – ne havaitsevat 1,5 kOhm: n vetovastuksen joko D + (täysi nopeus) tai D- (Pieni nopeus.) Lisää ' ll tietoa siitä, miten päätepisteille osoitetaan osoite.
  • @YonaAppletree keskittymien suhteen käytön aikana, vastaus puhuu siitä jo isäntäpäätepiste: " USB-keskittimet yksinkertaisesti välittävät pyynnön isännältä kaikille päätepisteille ". Päätepisteen isännälle: " Koska vain yksi päätepiste saa puhua kerrallaan, USB-keskitin reitittää paketin yksinkertaisesti siitä, mikä portti vastaa "

vastaus

Lyhyempi vastaus: isäntä lähettää tietoja, jotka on osoitettu tietylle laitteelle ( joka oli alustavasti ”lueteltu”), yksi tapahtuma kerrallaan, peräkkäin. Keskitin lähettää kaikki paketit kaikkiin laitteisiin. Laite reagoi vain sille osoitettuihin tapahtumiin. Kaikki tämä pätee HS-laitteisiin.

FS- ja LS-laitteiden osalta prosessi on hieman monimutkaisempi. Se käyttää ”transaktiokääntäjiä”, jotka on rakennettu jokaisen portin jokaiseen keskittimeen, jotka kääntävät niin kutsutut ”jaetut tapahtumat” LS- tai FS-liikenteeksi.

Kommentit

  • Entä USB 3?
  • USB3-keskittimet ovat älykkäämpi supernopeille linkeille ja käytä nimenomaista reititystä laitteisiin / päätepisteisiin. USB2-osio pysyy samana. Katso kohta 3.1 " Arkkitehtoninen yhteenveto " uusimmista USB3.1-määrityksistä, usb.org/developers/docs/usb_31_052016.zip

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *