Esiste un protocollo di comunicazione USB effettivo?

Jan 29, 2025
Hardware
CONTENUTO UNCACHED

La maggior parte di noi non dà mai molta importanza ai nostri dispositivi USB, li colleghiamo e li dimentichiamo. Ma cosa succede se sei il tipo curioso che vuole saperne di più su come funziona l'USB? Il post di domande e risposte di SuperUser di oggi contiene le risposte alle domande di un lettore curioso.

La sessione di domande e risposte di oggi ci arriva per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento guidato dalla comunità di siti web di domande e risposte.

Foto per gentile concessione di Evilelka Kowalski (Flickr) .

La domanda

Il lettore SuperUser smeeb vuole sapere se esiste davvero un vero protocollo di comunicazione USB:

According to Wikipedia, USB :

  • Definisce i cavi, i connettori e i protocolli di comunicazione utilizzati in un bus per la connessione, la comunicazione e l'alimentazione tra computer e dispositivi elettronici.

Ma c'è un vero Protocollo di comunicazione USB ? La mia comprensione è che:

  1. Colleghi un dispositivo USB a una macchina (Ubuntu o qualsiasi tipo di Linux per esempio).
  2. Linux trova in qualche modo il driver del dispositivo per quel dispositivo ( bonus se lo sai! ) e lo carica.
  3. Il dispositivo è ora connesso sotto / dev / theDevice .
  4. Le app dello spazio utente possono ora leggere e scrivere / dev / theDevice e il driver gestisce l'input e l'output di basso livello al dispositivo / hardware sottostante.

Per quanto ne so, a Protocollo di comunicazione USB non appare da nessuna parte in questo flusso. Se la mia comprensione è corretta, l'USB è solo il cavo e la connessione elettrica tra il PC e il dispositivo.

Mi sbaglio qui? USB implementa effettivamente un qualche tipo di protocollo di basso livello che sottolinea il flusso sopra? In tal caso, che cos'è e come funziona con una vista di 30.000 piedi?

Esiste un vero protocollo di comunicazione USB?

La risposta

I contributori di SuperUser RedGrittyBrick e projectdp hanno la risposta per noi. Il primo, RedGrittyBrick:

Sì ( vedi Protocolli USB ).

A quanto ho capito, le specifiche USB definiscono un insieme complesso di protocolli a strati e profili dei dispositivi.

Ad esempio, i dispositivi USB possono essere conformi a modelli di alto livello come archiviazione di massa, tastiera, dispositivo di interfaccia umana, ecc. Ed essere gestiti da un driver di dispositivo generico. Alcuni dispositivi USB possono comunicare a un livello inferiore in modo che il supporto USB di basso livello del sistema operativo possa riconoscere che sono necessari driver di livello superiore specifici del dispositivo.

Seguito dalla risposta di projectdp:

Domanda

Esiste un protocollo di comunicazione USB di basso livello in azione e che cos'è?

Risposta

Si C'è. La specifica USB include il protocollo USB che definisce il modo in cui il bus viene utilizzato a livello di bit. Questo sarebbe il protocollo di basso livello che sta alla base dei protocolli di livello superiore (cioè archiviazione di massa, HID, ecc.).

Per le specifiche su come funziona il protocollo USB, questo Wiki di OSDev è utile. Eccone un altro descrizione interessante utilizzando diagrammi di sequenza per descrivere le varie transazioni di dati per il protocollo USB.

Domanda bonus

In che modo Linux trova e carica il driver del dispositivo per quel dispositivo?

Risposta bonus

Su Linux, quando si utilizza un kernel abilitato per USB, un dispositivo USB funzionante verrà rilevato tramite l'hardware e il kernel a causa della specifica USB. Sul lato hardware, il rilevamento viene effettuato dal controller host USB. Quindi nel kernel il driver del controller host prende il sopravvento e traduce i bit di basso livello sul cavo in informazioni formattate con protocollo USB. Queste informazioni vengono quindi inserite nel driver usbcore nel kernel.

Ho parafrasato da questo eccellente Opensourceforu article , che ha molti più dettagli e chiarezza sulla tua domanda nel contesto Linux.

Assicurati di controllare il resto della vivace discussione tramite il collegamento del thread condiviso di seguito!


Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere altre risposte da altri utenti esperti di tecnologia Stack Exchange? Dai un'occhiata al thread di discussione completo qui .

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?


Hardware - Articoli più popolari

Di quanta RAM ha davvero bisogno un telefono Android?

Hardware Oct 8, 2025

Di recente, un telefono Oppo con un enorme 10 GB di RAM ha fatto il giro della maggior parte delle pubblicazioni tecnologiche. Cioè, senza dubbio,..


Come disattivare temporaneamente gli interruttori della luce Lutron Caseta

Hardware Apr 9, 2025

Interruttori dimmer Lutron Caseta sono tipici interruttori della luce intelligenti con pulsanti di accensione / spegnimento e controlli di regolazione della luminosità...


Come calibrare la batteria del laptop per stime accurate della durata della batteria

Hardware Nov 3, 2024

CONTENUTO UNCACHED Quindi stai usando il tuo laptop e, all'improvviso, muore. Non è stato visualizzato alcun avviso di batteria da Windows: in effetti, di recente hai controllato..


Come attivare le maiuscole automatiche e i periodi automatici in macOS Sierra

Hardware Oct 24, 2025

Se usi regolarmente Apple Mail, Word o qualche altra applicazione in cui scrivi molto, macOS Sierra include alcune nuove opzioni: maiuscole automatiche e periodi automatici. Devi so..


Come liberare spazio su Xbox One

Hardware Jul 14, 2025

CONTENUTO UNCACHED Xbox One di Microsoft include un disco rigido da 500 GB, ma i giochi stanno diventando sempre più grandi. Halo: The Master Chief Collection occupa più di 62 G..


Come configurare Oculus Rift e iniziare a giocare

Hardware Jun 21, 2025

Il Oculus Rift offre un'esperienza di realtà virtuale raffinata, anche se non ha ancora la realtà virtuale su scala locale o i controller touch come l'HTC Vive. Ecc..


Devo regolare il volume tramite software o hardware per un suono ottimale?

Hardware Dec 4, 2024

Puoi regolare il volume dell'altoparlante nell'app, a livello di sistema operativo o tramite i controlli fisici nella configurazione degli altoparlanti. Qual è il metodo migliore per un ..


Piccole luci LED impermeabili fai-da-te perfette per le feste estive

Hardware Apr 19, 2025

CONTENUTO UNCACHED Se stai cercando un nuovo modo per illuminare uno spazio esterno, queste minuscole luci LED impermeabili e praticamente indistruttibili sono perfette per spruzzare ne..


Categorie