Qual é a diferença entre o USB On-The-Go (OTG) e o USB Host Mode?

23

Qual é a diferença entre o USB On-The-Go (OTG) e o USB Host Mode?

Eles parecem ser mais ou menos o mesmo. São eles?

geffchang
fonte

Respostas:

26

No contexto de dispositivos Android, os termos geralmente são usados ​​de forma intercambiável.

Modo host

O USB possui dois tipos diferentes de terminal (dispositivo conectado), como uma interface cliente-servidor. Um dispositivo é o computador (ou host ) e é o responsável: é o servidor. Todos os outros dispositivos ( periféricos ) são os clientes e só podem se comunicar com o servidor. Geralmente, um dispositivo só pode atuar em um desses dois papéis: não faria sentido (digamos) que um teclado fosse o host. É assim que o protocolo funciona e os conectores são projetados para facilitar isso para os usuários: os hosts têm o conector A retangular e os periféricos têm o conector B quadrado ou uma versão mini ou micro.

Modo host é um nome para quando um dispositivo está atuando como host. Toda conexão USB possui exatamente um dispositivo no modo host . Os PCs sempre rodam no modo host. (Você não costuma chamar isso de PC, porque não é realmente um "modo", é sempre assim).

USB-OTG

Um telefone é um pouco diferente, no entanto. Às vezes, você deseja que ele atue como periférico: por exemplo, para conectá-lo ao PC, para que ele possa acessar o armazenamento do telefone. Às vezes, você deseja que ele atue como host: por exemplo, para conectar um teclado ou mouse físico a ele. É por isso que muitos dispositivos Android agora suportam o modo host USB e o modo periférico USB: eles podem atuar em qualquer um dos papéis. Mas como você pode fazer isso funcionar, quando a tomada USB de um host é diferente da de um periférico?

É aqui que entra o USB on-the-go (OTG). Ele adiciona um pino extra ao soquete micro-USB. Se você conectar um cabo USB A-B normal, o dispositivo atuará no modo periférico. Se você conectar um cabo USB-OTG especial, ele tem o pino conectado em uma extremidade e o dispositivo nessa extremidade atua no modo host.

Isso pode ser um pouco confuso se um cabo tiver plugues aparentemente idênticos em cada extremidade, que fazem coisas diferentes. Mas cabos com USB-OTG nas duas extremidades são incomuns: é mais comum usar um adaptador, que possui um plugue USB-OTG no modo host em uma extremidade e um soquete retangular USB-A na outra. Você pode conectar um cabo USB normal a este adaptador e ele funcionará normalmente.

Conclusão

Os nomes se referem a duas partes diferentes da tecnologia USB, mas são muito semelhantes. Afinal, se um dispositivo "suporta USB-OTG", deve suportar a atuação no "modo host". O inverso é frequentemente o caso, mas nem sempre. A maioria dos dispositivos Android compatíveis com o modo host o faz via USB-OTG, mas existem alguns contra-exemplos: o Asus Eee Pad Transformer original, por exemplo, possui soquetes USB-A no teclado, permitindo que ele atue no modo host sem um USB Cabo -OTG. E, é claro, os PCs suportam o modo host sem USB-OTG.

Portanto, embora os termos geralmente sejam usados ​​para significar a mesma coisa no mundo Android - posso conectar um pendrive no meu telefone? - e para a maioria dos dispositivos, não faz diferença do que você está falando, há uma distinção.

Dan Hulme
fonte
Não esqueça a energia .... O OTG requer um cabo dividido em Y para aqueles que precisam de energia externa - talvez para um dispositivo que requer energia mais forte ... Também o periférico USB entrou em presença até depois do Honeycomb que o introduziu.
precisa saber é o seguinte
1
@ t0mm13b Na verdade, é totalmente possível fornecer energia aos dispositivos conectados via USB-OTG, assim como acontece com o USB normal. É que a maioria dos telefones não fornece energia suficiente para dispositivos de alta corrente, como discos rígidos: mas isso tem a ver com o dispositivo específico, independentemente do uso de USB-OTG ou USB normal.
21713 Dan Hulme
@ t0mm13b Não sei ao certo o que você quer dizer com "O periférico USB entrou em presença até depois do Honeycomb, que o introduziu". O Android sempre apoiou a atuação como um periférico USB.
21713 Dan Hulme
Não, é necessário um kernel personalizado - e foi apoio duvidoso dependendo do chipset, foi em Honeycomb API que o suporte USB surgiu e se tornou mais popular no ICS para cima
t0mm13b
1
@ Dan Hulme: Eu não acho que seja uma pergunta diferente, obrigado de qualquer maneira.
Omne