Quelle est la différence entre le mode USB On-The-Go (OTG) et le mode hôte USB?

23

Quelle est la différence entre le mode USB On-The-Go (OTG) et le mode hôte USB?

Ils semblent être plus ou moins les mêmes. Sont-ils?

geffchang
la source

Réponses:

26

Dans le contexte des appareils Android, les termes sont souvent utilisés de manière interchangeable.

Mode hôte

L'USB a deux types différents de point de terminaison (périphérique connecté), comme une interface client-serveur. Un appareil est l'ordinateur (ou l' hôte ), et il est en charge: c'est le serveur. Tous les autres appareils (les périphériques ) sont les clients et ne peuvent communiquer qu'avec le serveur. Habituellement, un appareil ne peut agir que dans l'un de ces deux rôles: il ne serait pas logique (disons) qu'un clavier soit l'hôte. C'est ainsi que le protocole fonctionne, et les connecteurs sont conçus pour faciliter cela pour les utilisateurs: les hôtes ont le connecteur rectangulaire A et les périphériques ont le connecteur carré B ou une version mini ou micro.

Le mode hôte est un nom pour lorsqu'un périphérique agit en tant qu'hôte. Chaque connexion USB a exactement un appareil en mode hôte . Les PC fonctionnent toujours en mode hôte. (On ne l'appellerait généralement pas ainsi pour un PC, car ce n'est pas vraiment un "mode", c'est toujours comme ça.)

USB-OTG

Un téléphone est cependant un peu différent. Parfois, vous souhaitez qu'il agisse comme un périphérique: par exemple, pour pouvoir le brancher sur un PC, afin que le PC puisse accéder au stockage du téléphone. Parfois, vous souhaitez qu'il agisse comme un hôte: par exemple, pour y connecter un clavier ou une souris physique. C'est pourquoi de nombreux appareils Android prennent désormais en charge le mode hôte USB ainsi que le mode périphérique USB: ils peuvent jouer n'importe quel rôle. Mais comment pouvez-vous faire fonctionner cela, lorsque la prise USB d'un hôte est différente de celle d'un périphérique?

C'est là qu'intervient USB-on-the-go (OTG). Il ajoute une broche supplémentaire à la prise micro-USB. Si vous branchez un câble USB A vers B normal, l'appareil agit en mode périphérique. Si vous connectez un câble USB-OTG spécial, la broche est connectée à une extrémité et l'appareil à cette extrémité agit en mode hôte.

Cela peut être un peu déroutant si un câble a des fiches apparemment identiques à chaque extrémité, qui font des choses différentes. Mais les câbles avec USB-OTG aux deux extrémités sont rares: il est plus courant d'utiliser un adaptateur, qui a une prise USB-OTG en mode hôte à une extrémité et une prise USB-A rectangulaire à l'autre. Vous pouvez brancher un câble USB normal sur cet adaptateur et cela fonctionnera normalement.

Conclusion

Les noms font référence à deux parties différentes de la technologie USB, mais ils sont très similaires. Après tout, si un appareil "prend en charge USB-OTG", il doit prendre en charge l'action en "mode hôte". L'inverse est souvent le cas, mais pas toujours. La plupart des appareils Android qui prennent en charge le mode hôte le font via USB-OTG, mais il existe quelques contre-exemples: le transformateur Asus Eee Pad original, par exemple, a des prises USB-A dans son clavier, ce qui lui permet d'agir en mode hôte sans USB -Câble OTG. Et bien sûr, les PC prennent en charge le mode hôte sans USB-OTG.

Donc, bien que les termes soient généralement utilisés pour signifier la même chose dans le monde Android - puis-je brancher une clé USB sur mon téléphone? - et pour la plupart des appareils, cela ne fait aucune différence dont vous parlez, il y a une distinction.

Dan Hulme
la source
N'oubliez pas la puissance .... OTG nécessite un câble divisé en Y pour ceux qui nécessitent une alimentation externe - peut-être pour un appareil qui nécessite une alimentation plus forte ... De plus, un périphérique USB est apparu jusqu'à après Honeycomb qui l'a introduit.
t0mm13b
1
@ t0mm13b En fait, il est tout à fait possible d'alimenter les appareils connectés via USB-OTG, tout comme avec l'USB normal. C'est juste que la plupart des téléphones ne fourniront pas assez d'énergie pour les appareils à courant élevé comme les disques durs: mais cela a à voir avec l'appareil spécifique, peu importe si l'USB-OTG ou l'USB normal est utilisé.
Dan Hulme
@ t0mm13b Je ne suis pas sûr de ce que vous entendez par "le périphérique USB est apparu avant Honeycomb qui l'a introduit." Android a toujours pris en charge la fonction de périphérique USB.
Dan Hulme
Non, cela nécessitait un noyau personnalisé - et c'était un support différent selon le chipset, c'est dans Honeycomb API que le support USB a vu le jour et est devenu plus populaire dans ICS vers le haut
t0mm13b
1
@Dan Hulme: Je ne pense pas que ce soit une question différente, merci quand même.
Omne