Czy istnieje rzeczywisty protokół komunikacji USB?

Jan 29, 2025
Sprzęt komputerowy
TREŚĆ NIENARUSZONA

Większość z nas nigdy nie myśli o naszych urządzeniach USB, po prostu je podłączamy i zapominamy o nich. Ale co, jeśli jesteś ciekawskim typem, który chce dowiedzieć się więcej o działaniu USB? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedzi na pytania zaciekawionego czytelnika.

Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - części Stack Exchange, grupy witryn internetowych z pytaniami i odpowiedziami.

Zdjęcie dzięki uprzejmości Evilelka Kowalski (Flickr) .

Pytanie

Czytnik SuperUser smeeb chce wiedzieć, czy rzeczywiście istnieje protokół komunikacji USB:

Według Wikipedii USB :

  • Definiuje kable, złącza i protokoły komunikacyjne używane w magistrali do połączeń, komunikacji i zasilania między komputerami i urządzeniami elektronicznymi.

Ale czy istnieje rzeczywisty Protokół komunikacji USB ? Rozumiem, że:

  1. Podłączasz urządzenie USB do komputera (na przykład Ubuntu lub dowolny rodzaj Linuksa).
  2. Linux w jakiś sposób znajduje sterownik urządzenia dla tego urządzenia ( bonus, jeśli wiesz! ) i ładuje go.
  3. Urządzenie jest teraz podłączone pod / dev / theDevice .
  4. Aplikacje w przestrzeni użytkownika mogą teraz czytać i zapisywać / dev / theDevice a sterownik obsługuje wejście i wyjście niskiego poziomu do podstawowego urządzenia / sprzętu.

O ile wiem, a Protokół komunikacji USB nie pojawia się nigdzie w tym przepływie. Jeśli dobrze rozumiem, USB to tylko kabel i połączenie elektryczne między komputerem a urządzeniem.

Czy się mylę? Czy USB faktycznie implementuje jakiś protokół niskiego poziomu, który podkreśla powyższy przepływ? Jeśli tak, co to jest i jak działa przy widoku na 30000 stóp?

Czy istnieje rzeczywisty protokół komunikacji USB?

Odpowiedź

Dostawcy SuperUser, RedGrittyBrick i projectdp mają dla nas odpowiedź. Po pierwsze, RedGrittyBrick:

Tak ( patrz protokoły USB ).

Jak rozumiem, specyfikacja USB definiuje złożony zestaw warstwowych protokołów i profili urządzeń.

Na przykład urządzenia USB mogą być zgodne z szablonami wysokiego poziomu, takimi jak pamięć masowa, klawiatura, urządzenie interfejsu ludzkiego itp., I mogą być zarządzane przez ogólny sterownik urządzenia. Niektóre urządzenia USB mogą komunikować się na niższym poziomie, dzięki czemu obsługa niskiego poziomu USB w systemie operacyjnym może rozpoznać, że potrzebne są sterowniki wyższego poziomu specyficzne dla danego urządzenia.

Następnie odpowiedź z projectdp:

Pytanie

Czy działa protokół komunikacyjny USB niskiego poziomu i co to jest?

Odpowiedź

Tak jest. Specyfikacja USB zawiera protokół USB, który określa sposób wykorzystania magistrali na poziomie bitowym. Byłby to protokół niskiego poziomu, który stanowi podstawę protokołów wyższego poziomu (tj. Pamięci masowej, HID itp.).

Aby uzyskać szczegółowe informacje na temat działania protokołu USB, to OSDev wiki jest pomocny. Oto inny ciekawy opis wykorzystanie diagramów sekwencji do opisania różnych transakcji danych według protokołu USB.

Pytanie dodatkowe

W jaki sposób Linux znajduje i ładuje sterownik urządzenia dla tego urządzenia?

Dodatkowa odpowiedź

W systemie Linux, gdy używasz jądra obsługującego USB, działające urządzenie USB zostanie wykryte przez sprzęt i jądro zgodnie ze specyfikacją USB. Po stronie sprzętowej wykrywanie jest wykonywane przez kontroler hosta USB. Następnie w jądrze sterownik kontrolera hosta przejmuje kontrolę i tłumaczy bity niskiego poziomu w przewodzie na informacje sformatowane za pomocą protokołu USB. Te informacje są następnie umieszczane w sterowniku usbcore w jądrze.

Parafrazowałem z tego znakomitego Artykuł w Opensourceforu , który zawiera o wiele więcej szczegółów i jasności odnośnie twojego pytania w kontekście Linuksa.

Sprawdź resztę ożywionej dyskusji za pośrednictwem linku do wątku udostępnionego poniżej!


Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych technicznie użytkowników Stack Exchange? Sprawdź cały wątek dyskusji tutaj .

USB Protocol

What Is HART Protocol?

How To Reverse Engineer A USB Protocol For Linux

Fun And Easy USB - How The USB Protocol Works

HTC Vive USB Protocol Reverse Engineering

Dmitriy Kostiuk | How To Get Yourself Into The Usb Protocol Without Pain

What Is The USB Type-C Signal Plan? How Does Orientation Independence Happen?

About The Data Center 3.0, A Protocol Analysis Software For USB, I2C, And SPI

What Is RS232 And What Is It Used For?


Sprzęt komputerowy - Najpopularniejsze artykuły

12 wskazówek dotyczących prowadzenia wideokonferencji podczas pracy w domu

Sprzęt komputerowy Apr 2, 2025

Rawpixel.com/Shutterstock Gdy globalna siła robocza przechodzi do modelu pracy w domu, spotkania w salach konferencyjnych zostały przeniesione ..


Jak przetestować prędkość sieci lub dysku twardego za pomocą fikcyjnego pliku w systemie Windows

Sprzęt komputerowy Mar 6, 2025

Jeśli chcesz zobaczyć, jak szybko działa twoja sieć lub przetestować prędkość między dwoma dyskami twardymi, potrzebujesz do tego plików. Dziś powiemy Ci, jak tworzyć �..


NVIDIA GameStream kontra GeForce Now: jaka jest różnica?

Sprzęt komputerowy Jun 20, 2025

Jeśli chodzi o gry na PC, NVIDIA prawdopodobnie rządzi. W ostatnich latach firma dołożyła wszelkich starań, aby przenieść swoją obecność w grach na wyższy poziom dzięki..


Jak używać pilota do telewizora lub odbiornika do sterowania Apple TV

Sprzęt komputerowy Feb 9, 2025

TREŚĆ NIENARUSZONA Pilot Apple TV działa wystarczająco dobrze, ale wiele osób nie cierpi posiadania wielu pilotów i woli kontrolować całe centrum multimedialne z jednego w..


Jak dodawać i zmieniać zegary światowe w Apple Watch

Sprzęt komputerowy Jan 14, 2025

Podczas pierwszej konfiguracji zegarka Apple Watch możesz mieć na nim kilka zegarów światowych lub nie. Możesz zmieniać zegary na świecie na swoim Apple Watch, ale musisz do ..


Jak zmienić układ ikon aplikacji w Apple Watch

Sprzęt komputerowy Dec 17, 2024

TREŚĆ NIENARUSZONA Jak ty instaluj na swoim iPhonie aplikacje z aplikacjami towarzyszącymi Apple Watch , ekran główny zegarka Apple Watch może być nieco zdez..


ARM kontra Intel: co to oznacza dla zgodności oprogramowania z systemami Windows, Chromebook i Android

Sprzęt komputerowy Jan 22, 2025

Procesory Intel x86 lub x64 tradycyjnie znajdowano w laptopach i komputerach stacjonarnych, podczas gdy procesory ARM znajdowano w urządzeniach wbudowanych o niższej mocy, smartfo..


Z zestawu wskazówek: łatwy dostęp do jasności iPada, 4,5 GB darmowej pamięci Dropbox, eliminacja bałaganu w kablach ładowania

Sprzęt komputerowy Feb 2, 2025

TREŚĆ NIENARUSZONA Raz w tygodniu wyrzucamy pudełko ze wskazówkami i dzielimy się z Tobą kilkoma świetnymi wskazówkami dla czytelników. W tym tygodniu zastanawiamy się nad pro..


Kategorie