Ar yra faktinis USB ryšio protokolas?
Daugelis iš mūsų niekada nemanė, kad mūsų USB įrenginiai, mes tiesiog prijungti juos ir pamiršti apie juos. Bet kas, jei esate smalsus tipas, kuris nori daugiau sužinoti apie tai, kaip veikia USB? Šiandienos „SuperUser“ atsakymų ir atsakymų atsakymai yra įdomūs skaitytojo klausimai.
Šiandienos „Klausimų ir atsakymų“ sesija mums suteikiama pagal „SuperUser“ - „Stack Exchange“ padalinį, bendruomenės sukurtą „Q&A“ svetainių grupavimą.
„Evilelka Kowalski“ (Flickr) nuotrauka.
Klausimas
„SuperUser“ skaitytuvas „smeeb“ nori sužinoti, ar tikrai yra USB ryšio protokolas:
Pagal „Wikipedia“, USB:
- Apibrėžia kabelius, jungtis ir ryšio protokolus, naudojamus autobusui prijungti, komunikuoti ir maitinti tarp kompiuterių ir elektroninių įrenginių.
Bet ar yra tikras USB ryšio protokolas? Mano supratimas yra toks:
- USB įrenginį prijungiate prie įrenginio (pvz., „Ubuntu“ ar bet kokios rūšies „Linux“).
- „Linux“ kažkaip suranda to įrenginio tvarkyklę (premija, jei žinote!) ir įkelia jį.
- Dabar įrenginys prijungtas prie / dev / theDevice.
- Dabar naudotojo erdvės programos gali skaityti ir rašyti / dev / theDevice ir vairuotojas tvarko žemo lygio įvestį ir išvestį į pagrindinį įrenginį / aparatūrą.
Kiek galiu pasakyti, a USB ryšio protokolas šiame sraute nerodoma. Jei mano supratimas yra teisingas, USB yra tik kabelis ir elektros jungtis tarp kompiuterio ir įrenginio.
Ar aš čia neteisingai? Ar USB iš tikrųjų įgyvendina tam tikrą žemo lygio protokolą, kuris pabrėžia aukščiau pateiktą srautą? Jei taip, kas tai yra ir kaip veikia 30 000 pėdų vaizdas?
Ar yra faktinis USB ryšio protokolas?
Atsakymas
„SuperUser“ autoriai „RedGrittyBrick“ ir „projectdp“ turi atsakymą. Pirma, „RedGrittyBrick“:
Taip (žr. USB protokolus).
Kaip suprantu, USB specifikacija apibrėžia sudėtingą sluoksnių protokolų ir įrenginių profilių rinkinį.
Pavyzdžiui, USB įrenginiai gali atitikti aukšto lygio šablonus, pvz., Daugialypę atmintinę, klaviatūrą, žmogaus sąsajos įrenginį ir pan. Kai kurie USB įrenginiai gali bendrauti žemesniame lygyje, kad operacinės sistemos USB palaikymas gali atpažinti, kad reikalingi su įrenginiu susiję aukštesnio lygio vairuotojai.
Tada atsakoma iš projectdp:
Klausimas
Ar veikia mažo lygio USB ryšio protokolas ir kas tai yra?
Atsakymas
Taip, ten yra. USB specifikacijoje yra USB protokolas, kuris apibrėžia, kaip autobusas naudojamas bitų lygmeniu. Tai būtų žemo lygio protokolas, kuriuo grindžiami aukštesnio lygio protokolai (t. Y. Daugialypės terpės saugojimas, HID ir tt).
Norėdami sužinoti, kaip veikia USB protokolas, šis OSDev wiki yra naudingas. Čia yra dar vienas įdomus aprašymas, naudojant sekos diagramas, skirtas aprašyti įvairius duomenų sandorius pagal USB protokolą.
Premijos klausimas
Kaip „Linux“ suranda ir įkelia įrenginio tvarkyklę?
Premija Atsakymas
Naudojant „Linux“, kai naudojamas „USB“ palaikomas branduolys, dėl USB specifikacijos įrenginys ir branduolys bus aptikti veikiančiu USB įrenginiu. Aparatūros pusėje aptikimas atliekamas USB Host Controller. Tada branduolyje priimančiojo valdiklio tvarkyklė perima ir perkelia žemo lygmens bitus ant vielos į USB protokolo formatavimą. Tuomet ši informacija bus įdėta į branduolio usbcore tvarkyklę.
Aš perfrazavau iš šio puikaus straipsnio Openourceforu straipsnio, kuriame yra daug detaliau ir aiškiau apie jūsų klausimą Linux kontekste.
Būtinai patikrinkite likusias gyvas diskusijas, naudodami toliau pateiktą nuorodą!
Ar ką nors papildyti paaiškinimu? Garsas išjungtas komentaruose. Norite perskaityti daugiau atsakymų iš kitų „tech-savvy Stack Exchange“ vartotojų? Čia rasite visą diskusijų temą.