¿Cuál es la diferencia entre USB On-The-Go (OTG) y USB Host Mode?

23

¿Cuál es la diferencia entre USB On-The-Go (OTG) y USB Host Mode?

Parecen ser más o menos lo mismo. ¿Son ellos?

geffchang
fuente

Respuestas:

26

En el contexto de los dispositivos Android, los términos a menudo se usan indistintamente.

Modo host

USB tiene dos tipos diferentes de punto final (dispositivo conectado), como una interfaz cliente-servidor. Un dispositivo es la computadora (o host ), y está a cargo: es el servidor. Todos los demás dispositivos (los periféricos ) son clientes y solo pueden comunicarse con el servidor. Por lo general, un dispositivo solo puede actuar en uno de esos dos roles: no tendría sentido (por ejemplo) que un teclado sea el host. Así es como funciona el protocolo, y los conectores están diseñados para facilitarlo a los usuarios: los hosts tienen el conector A rectangular y los periféricos tienen el conector B cuadrado o una mini o micro versión.

El modo host es un nombre para cuando un dispositivo actúa como host. Cada conexión USB tiene exactamente un dispositivo en modo host . Las PC siempre se ejecutan en modo host. (Por lo general, no lo llamarías así para una PC, porque no es realmente un "modo", siempre es así).

USB-OTG

Sin embargo, un teléfono es un poco diferente. A veces, desea que actúe como un periférico: por ejemplo, para que pueda enchufarlo a una PC, para que la PC pueda acceder al almacenamiento del teléfono. A veces desea que actúe como host: por ejemplo, para conectarle un teclado o mouse físico. Es por eso que muchos dispositivos Android ahora admiten el modo host USB y el modo periférico USB: pueden actuar en cualquier rol. Pero, ¿cómo puede hacer que esto funcione, cuando la toma USB de un host es diferente de la de un periférico?

Aquí es donde entra en juego USB-on-the-go (OTG). Agrega un pin adicional a la toma micro-USB. Si conecta un cable USB A a B normal, el dispositivo actúa en modo periférico. Si conecta un cable USB-OTG especial, tiene el pin conectado en un extremo y el dispositivo en ese extremo actúa en modo host.

Esto puede ser un poco confuso si un cable tiene enchufes aparentemente idénticos en cada extremo, que hacen cosas diferentes. Pero los cables con USB-OTG en ambos extremos son poco comunes: es más común usar un adaptador, que tiene un conector USB-OTG en modo host en un extremo y una toma USB-A rectangular en el otro. Puede enchufar un cable USB normal en este adaptador y funcionará normalmente.

Conclusión

Los nombres se refieren a dos partes diferentes de la tecnología USB, pero son muy similares. Después de todo, si un dispositivo "admite USB-OTG", debe admitir actuar en "modo host". Lo contrario suele ser el caso, pero no siempre. La mayoría de los dispositivos Android que admiten el modo host lo hacen a través de USB-OTG, pero hay algunos contraejemplos: el Asus Eee Pad Transformer original, por ejemplo, tiene tomas USB-A en su teclado, lo que le permite actuar en modo host sin un USB -OTG cable. Y, por supuesto, las PC admiten el modo host sin USB-OTG.

Entonces, aunque los términos generalmente se usan para significar lo mismo en el mundo de Android, ¿puedo enchufar una memoria USB en mi teléfono? - y para la mayoría de los dispositivos no hay diferencia de lo que estás hablando, hay una distinción.

Dan Hulme
fuente
No olvide la alimentación ... OTG requiere un cable dividido en y para aquellos que requieren alimentación externa, tal vez para un dispositivo que requiere una alimentación más fuerte ... También el periférico USB entró en presencia hasta después de Honeycomb, que lo introdujo.
t0mm13b
1
@ t0mm13b En realidad, es completamente posible suministrar energía a los dispositivos conectados a través de USB-OTG, al igual que con el USB normal. Es solo que la mayoría de los teléfonos no suministrarán suficiente energía para dispositivos de alta corriente como discos duros: pero eso tiene que ver con el dispositivo específico, independientemente de si se utiliza USB-OTG o USB normal.
Dan Hulme
@ t0mm13b No estoy seguro de lo que quiere decir con "el periférico USB apareció hasta después de Honeycomb, que lo introdujo". Android siempre ha admitido actuar como un periférico USB.
Dan Hulme
No, requería un kernel personalizado, y era un soporte dudoso dependiendo del chipset, fue en Honeycomb API donde se creó el soporte USB y se hizo más popular en ICS hacia arriba
t0mm13b
1
@Dan Hulme: No creo que sea una pregunta diferente, gracias de todos modos.
Omne