14Aug

Ar yra faktinis USB ryšio protokolas?

Daugelis iš mūsų niekada nesupranta mūsų USB įrenginių, tiesiog prijungdami juos ir pamiršdami apie juos. Bet kas, jei esate smalsus, norintis daugiau sužinoti apie tai, kaip USB veikia?Šiandien "SuperUser Q &" įraše pateikiami atsakymai į įdomius skaitytojo klausimus.

Šiandienos klausimas &Atsakymų sesija ateina pas mus iš "SuperUser" - "Stack Exchange", bendruomenės pagrįstos "Q & A" svetainių grupės pasidalijimo.

Nuotrauka mandagumo Evilelka Kowalski( Flickr).

Klausimas

SuperUser skaitytuvas smeeb nori sužinoti, ar iš tiesų yra tikrasis USB ryšio protokolas:

Pagal Wikipedia USB:

  • Nurodo kabelius, jungtis ir ryšių protokolus, naudojamus jungtyje, ryšiui ir maitinimui tarpkompiuteriai ir elektroniniai prietaisai.

Bet ar yra tikras USB ryšio protokolas ?Aš suprantu, kad:

  1. Jūs prijungiate USB įrenginį prie kompiuterio( pvz., Ubuntu ar bet kokios rūšies Linux).
  2. "Linux" kažkaip nustato šio įrenginio įrenginio tvarkyklę( bonusas, jei žinote, ) ir jį įkelia.
  3. Dabar įrenginys prijungtas prie /dev/ theDevice .
  4. Vartotojų erdvės programos dabar gali skaityti ir rašyti į /dev/ theDevice , o tvarkyklė tvarko žemo lygio įvestį ir išvestį į pagrindinį įrenginį / aparatūrą.

Kiek aš galiu pasakyti, USB ryšio protokolas neatsiranda šiame sraute. Jei mano supratimas yra teisingas, USB yra tik kabelis ir elektros jungtis tarp kompiuterio ir įrenginio.

Ar aš čia negerai? Ar "USB" iš tikrųjų įdiegia kokį nors žemo lygio protokolą, kuris pabrėžia srautą aukščiau? Jei taip, kas tai yra ir kaip ji veikia 30 000 pėdų vaizdais?

Ar yra faktinis USB ryšio protokolas?

Atsakymas

"SuperUser" autoriai RedGrittyBrick ir projectdp atsako už mus. Pirmiausia, RedGrittyBrick:

Taip( žr. USB protokolus).

Aš suprantu, USB spec apibrėžia sudėtingą sluoksniuotų protokolų ir įrenginių profilį.

Pvz., USB įrenginiai gali atitikti aukšto lygio šablonus, pvz., Masinio saugojimo, klaviatūros, žmogaus sąsajos įrenginį ir tt, ir juos tvarko generinis įrenginio tvarkyklė.Kai kurie USB įrenginiai gali bendrauti žemesniu lygiu taip, kad operacinės sistemos žemo lygio USB palaikymas gali atpažinti, kad reikalingi aukštesnio lygio tvarkykles.

Vykdant "projectdp" atsakymą:

Klausimas

Ar veikia mažo lygio USB ryšio protokolas ir kas tai yra?

Atsakymas

Taip, yra. USB specifikacijoje yra USB protokolas, kuris apibrėžia, kaip autobusas naudojamas bitų lygiu. Tai būtų žemo lygio protokolas, kuriuo grindžiami aukštesnio lygio protokolai( t. Y. Masinio saugojimo, HID ir kt.).

Dėl konkrečių nurodymų, kaip veikia USB protokolas, ši OSDev wiki yra naudinga.Čia yra dar vienas įdomus aprašymas, naudojant sekos diagramas, siekiant apibūdinti įvairius duomenų srautus per USB protokolą.

premijos klausimas

Kaip Linux randa ir įkelia įrenginio tvarkyklę?

premijos atsakymas

"Linux" naudojant USB jungtį veikiantį branduolį USB įrenginys bus aptiktas aparatūros ir branduolio dėka USB specifikacijos. Iš aparatinės įrangos pusės aptikimą atlieka USB pagrindinis valdiklis. Tuomet branduolyje priimančiojo valdiklio tvarkyklė perima ir perduoda žemo lygio bitus ant vielos į USB formato informaciją.Tada ši informacija užpildoma branduolio usbcore tvarkyklėje.

parafrazavau iš šio puikaus "Opensourceforu" straipsnio, kuriame yra daug išsamesnės ir aiškesnės jūsų klausimo "Linux" kontekste.

Būtinai perskaitykite visą likusį gyvą diskusiją per siūlų nuorodą, kuri yra bendrai pateikta žemiau!

Ar ką nors įtraukti į paaiškinimą?Garsas išjungtas komentaruose. Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų?Patikrinkite visą diskusijų temą čia.