14Aug

Existuje skutečný komunikační protokol USB?

click fraud protection

Většina z nás nikdy nepřemýšlí o našich USB zařízeních, prostě je připojujeme a zapomínáme na ně.Ale co když jste zvědavý typ, který chce vědět více o tom, jak funguje USB?Dnešní příspěvek SuperUser Q & A má odpovědi na zvědavé čtenářské otázky.

dnešní otázka &Odpověď na zasedání se k nám dostala s laskavým svolením SuperUser - podřízenou výměnou Stack Exchange, skupině webů Q & A založených na komunitě.

Foto s laskavým svolením Evilelky Kowalski( Flickr).

Otázka Otázka

čtečka superužírů smeeb chce vědět, zda skutečně existuje skutečný USB komunikační protokol:

Podle Wikipedia, USB:

  • Definuje kabely, konektory a komunikační protokoly používané v sběrnici pro připojení, komunikaci a napájení mezipočítačů a elektronických zařízení.

Ale existuje skutečný komunikační protokol ?Moje chápání je, že:

  1. Připojíte zařízení USB k počítači( například Ubuntu nebo libovolný Linux).
  2. Linux najde ovladač zařízení pro toto zařízení nějak( bonus, pokud znáte! ) a načte jej.
  3. instagram viewer
  4. Zařízení je nyní připojeno pod /dev/ zařízení .
  5. Aplikace pro uživatelské prostory nyní mohou číst a zapisovat do /dev/ zařízení a ovladač zpracovává nízkoúrovňový vstup a výstup do základního zařízení / hardwaru.

USB komunikační protokol se v tomto proudu neobjevuje. Pokud je moje pochopení správné, USB je pouze kabelové a elektrické spojení mezi počítačem a přístrojem.

Mám špatně?Dokáže USB skutečně implementovat nějaký nízkoúrovňový protokol, který podtrhuje tok výše? Pokud ano, co to je a jak funguje při pohledu na 30 000 nožiček?

Existuje skutečný komunikační protokol USB?

Odpovědí odpovědí uživatelů

SuperUser RedGrittyBrick a projectdp nám odpovídají.První, RedGrittyBrick:

Ano( viz USB protokoly).

Jak jsem pochopil, specifikace USB definuje složitou sadu vrstvených protokolů a profilů zařízení.

Zařízení USB mohou například odpovídat šablonám na vysoké úrovni, jako je například hromadné ukládání, klávesnice, zařízení pro rozhraní člověka apod. A mohou být spravovány běžným ovladačem zařízení.Některá zařízení USB mohou komunikovat na nižší úrovni, takže podpora nízké úrovně USB operačního systému může rozpoznat, že jsou potřebné ovladače vyšší úrovně specifické pro zařízení.

Následuje odpověď od projektu:

Otázka

Existuje komunikační protokol nízké úrovně USB v akci a co to je?

Odpověď

Ano, existuje. Specifikace USB obsahuje protokol USB, který definuje způsob, jakým je sběrnice používána na úrovni bitů.Jednalo by se o nízkoúrovňový protokol, který je základem pro protokoly vyšší úrovně( tzn. Hromadné ukládání, HID atd.).

Informace o tom, jak pracuje protokol USB, pomáhá tato OSDev wiki. Zde je další zajímavý popis pomocí sekvenčních diagramů pro popis různých datových transakcí podle protokolu USB.

Bonus Question

Jak Linux najde a načte ovladač zařízení pro toto zařízení?

Bonusová odpověď

V Linuxu, pokud používáte jádro s podporou rozhraní USB, bude pracovní hardware USB detekováno prostřednictvím hardwaru a jádra díky specifikaci USB.Na straně hardwaru se detekce provádí pomocí USB Host Controller. V jádře pak ovladač hostitelského řadiče převezme a překládá bitové kódy nízkého stupně na drátě na informace formátované v protokolu USB.Tyto informace se pak naplní v ovladači usbcore v jádře.

Vyjádřil jsem se z tohoto vynikajícího článku Opensourceforu, který má mnohem podrobnější a jasnější informace o vaší otázce v kontextu Linuxu.

Ujistěte se, že jste zkontrolovali zbytek živé diskuse prostřednictvím odkazu podprocesu sdíleného níže!

Musíte něco přidat k vysvětlení?Zní to v komentářích. Chcete se dozvědět více odpovědí od ostatních uživatelů technologie Stack Exchange? Podívejte se na celý diskusní příspěvek zde.