Qual è la differenza tra USB On-The-Go (OTG) e USB Host Mode?


23

Qual è la differenza tra USB On-The-Go (OTG) e USB Host Mode?

Sembrano essere più o meno gli stessi. Sono loro?

Risposte:


26

Nel contesto dei dispositivi Android, i termini sono spesso usati in modo intercambiabile.

Modalità host

USB ha due diversi tipi di endpoint (dispositivo collegato), come un'interfaccia client-server. Un dispositivo è il computer (o host ) ed è responsabile: è il server. Tutti gli altri dispositivi (le periferiche ) sono client e possono comunicare solo con il server. Di solito, un dispositivo può agire solo in uno di quei due ruoli: non avrebbe senso che (diciamo) una tastiera sia l'host. Questo è il modo in cui funziona il protocollo e i connettori sono progettati per facilitare gli utenti: gli host hanno il connettore A rettangolare e le periferiche hanno il connettore B quadrato o una versione mini o micro.

La modalità host è un nome per quando un dispositivo agisce come host. Ogni connessione USB ha esattamente un dispositivo in modalità host . I PC funzionano sempre in modalità host. (Di solito non lo chiameresti così per un PC, perché non è proprio una "modalità", è sempre così.)

USB-OTG

Un telefono è un po 'diverso, però. A volte vuoi che funzioni come una periferica: ad esempio, quindi puoi collegarlo a un PC, in modo che il PC possa accedere alla memoria del telefono. A volte vuoi che funga da host: ad esempio, per connettere una tastiera fisica o un mouse ad esso. Ecco perché molti dispositivi Android ora supportano la modalità host USB e la modalità periferica USB: possono agire in entrambi i ruoli. Ma come puoi farlo funzionare, quando la presa USB di un host è diversa da quella di una periferica?

È qui che entra in gioco USB-on-the-go (OTG). Aggiunge un ulteriore pin alla presa micro-USB. Se si collega un normale cavo USB da A a B, il dispositivo funziona in modalità periferica. Se si collega un cavo USB-OTG speciale, il pin è collegato a un'estremità e il dispositivo a tale estremità agisce in modalità host.

Questo può essere un po 'confuso se un cavo ha spine apparentemente identiche alle due estremità, che fanno cose diverse. Ma i cavi con USB-OTG ad entrambe le estremità sono rari: è più comune usare un adattatore, che ha una presa USB-OTG in modalità host su un'estremità e una presa USB-A rettangolare sull'altra. È possibile collegare un normale cavo USB a questo adattatore e funzionerà normalmente.

Conclusione

I nomi si riferiscono a due diverse parti della tecnologia USB, ma sono molto simili. Dopotutto, se un dispositivo "supporta USB-OTG", deve supportare la funzione in "modalità host". Il contrario è spesso il caso, ma non sempre. La maggior parte dei dispositivi Android che supportano la modalità host lo fanno tramite USB-OTG, ma ci sono alcuni controesempi: l'originale Asus Eee Pad Transformer, ad esempio, ha prese USB-A nella sua tastiera, permettendogli di agire in modalità host senza USB -Cavo OTG. E ovviamente i PC supportano la modalità host senza USB-OTG.

Quindi, sebbene i termini vengano generalmente usati per indicare la stessa cosa nel mondo Android, posso collegare una chiavetta USB al mio telefono? - e per la maggior parte dei dispositivi non fa alcuna differenza di cui stai parlando, c'è una distinzione.


Non dimenticare la potenza ... OTG richiede un cavo a Y diviso per quelli che richiedono alimentazione esterna - forse per un dispositivo che richiede una potenza maggiore ... Anche la periferica USB è entrata in funzione fino a dopo Honeycomb che lo ha introdotto.
t0mm13b,

1
@ t0mm13b In realtà è del tutto possibile alimentare i dispositivi collegati tramite USB-OTG, proprio come con la normale USB. È solo che la maggior parte dei telefoni non fornisce energia sufficiente per dispositivi ad alta corrente come i dischi rigidi: ma ha a che fare con il dispositivo specifico, indipendentemente dal fatto che venga utilizzato USB-OTG o USB normale.
Dan Hulme,

@ t0mm13b Non sono sicuro di cosa intendi con "La periferica USB è diventata presente fino a dopo Honeycomb che l'ha introdotta". Android ha sempre supportato la funzione di periferica USB.
Dan Hulme,

No, richiedeva un kernel personalizzato - ed era un supporto incerto a seconda del chipset, era nell'API Honeycomb che è nato il supporto USB ed è diventato più popolare in ICS verso l'alto
t0mm13b

1
@ Dan Hulme: non penso che sia una domanda diversa, grazie comunque.
Omne,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.