# USB On-The-Go

USB On-The-Go, également connu sous le sigle USB OTG (ou simplement OTG), est une extension de la norme USB 2.0 qui permet aux périphériques USB d'avoir davantage de flexibilité dans la gestion des connexions USB. En effet, grâce à l'OTG, deux périphériques peuvent échanger des données directement, sans avoir besoin de passer par un ordinateur hôte.
La norme OTG, initialement publiée fin 2001, est devenue un standard de facto.

## Principe

Les premiers standards USB (USB 1.1/2.0) utilisent une architecture maître-esclave : lorsque deux appareils informatiques sont reliés, l'un donne des ordres (maître) et l'autre les exécute (esclave). Par exemple, un concentrateur USB est le maître USB et le périphérique qui y est branché est l'esclave : c'est le concentrateur qui gère la configuration et le transfert des données.
La norme USB On-The-Go supprime cette distinction. Avec elle chacun des deux appareils peut jouer indifféremment le rôle de maître ou d'esclave. Ainsi les périphériques compatibles avec la norme OTG sont capables d'ouvrir une session et contrôler la connexion. En outre, le passage par un ordinateur hôte intermédiaire n'est plus nécessaire.
Pour ce faire, USB OTG introduit deux nouveaux protocoles : SRP (Session Request Protocol) et HNP (Host Negotiation Protocol).
Les périphériques USB On-The-Go sont compatibles avec les normes USB 1.1/2.0. Ils se comportent comme un périphérique USB standard lorsqu'ils sont connectés avec des périphériques USB traditionnels (non OTG).

## Connexion

Les périphériques compatibles USB OTG disposent d'un connecteur de type micro-AB ou pour les plus récents, USB-C (ou encore, pour les très anciens, le mini-USB AB), c'est-à-dire pouvant accepter indifféremment une fiche A (maître) ou B (esclave).
L'USB-esclave (ou, son adaptateur OTG), avec un micro-USB2 (mâle), doit avoir sur son connecteur la broche n$^o$ 4 reliée avec la n$^o$ 5 (0 V/masse) pour signaler à l'USB-maître de se mettre en mode OTG et surtout de donner à l'esclave la tension électrique (5 V) nécessaire. Ce mode USB OTG est nécessaire si par ex. une clé mémoire ou disque (micro)-USB, un micro tuner HD-TV (DVB-T2, TNT-TV), une souris ou un clavier doit pouvoir fonctionner avec un Smart-Phone/Tablette (Android).
Malheureusement, en général, seuls les Smartphones/Tablettes récents et haut de gamme et avec des connecteurs micro-USB2 ou USB-C (USB v3.1) sont compatibles OTG.
Ces connectiques sont décrites dans l'article consacré à l'USB.
Il n'est pas obligatoire que les deux appareils soient compatibles OTG pour communiquer, il suffit que l'un d'eux possède cette capacité pour établir la connexion point à point. Si l'autre périphérique ne prend pas l'OTG en charge, l'appareil OTG sera alors le maître de la communication. Bien entendu, un appareil OTG garde la capacité classique de se connecter à un hôte.
Dans le cas d'une connexion entre deux périphériques compatibles OTG, la liaison est effectuée à l'aide d'un cordon mini-A/mini-B (ou, pour les plus récents, micro-A/micro-B). C'est le type (A/B) du connecteur du câble sur la prise mini-AB (ou autre), à chaque extrémité, qui va permettre de déclarer lequel des deux périphériques OTG va être l'hôte. Ensuite, il peut se produire un renversement des rôles à la suite d'une étape de négociation entre les deux systèmes OTG (protocole HNP).

## Applications

La possibilité d'envoyer des données sans passer par un contrôleur USB maître (typiquement, un ordinateur de bureau) ouvre un vaste champ d'application, par exemple :
* envoyer directement les photos d'un appareil photo à une imprimante ou un disque dur ;
* connecter directement un caméscope à un graveur de DVD ;
* échanger la musique d'un smartphone avec un lecteur MP3.