Universal Serial Bus

Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, rechercher
Page d'aide sur l'homonymie Pour les articles homonymes, voir USB (homonymie).
Connecteur USB de type A mâle.

L’Universal Serial Bus (USB) est une norme relative à un bus informatique en transmission série qui sert à connecter des périphériques informatiques à un ordinateur. Le bus USB permet de connecter des périphériques à chaud et en bénéficiant du Plug and Play. Il peut alimenter certains périphériques en énergie, et dans sa version 2, il autorise des débits allant de 1,5 Mbit/s à 480 Mbit/s. La version 3 propose des débits jusqu'à 5 Gbit/s, proches des 6 Gbit/s du SATA 3.

Sommaire

[modifier] Historique

L’USB a été conçu au milieu des années 1990 afin de remplacer les nombreux ports externes d’ordinateurs lents et incompatibles. Différentes versions de la norme furent développées au fur et à mesure des avancées technologiques.

La première version de la norme, l'USB 1.0, voit ses spécifications publiées en 1996. En 1998 la version USB 1.1 lui apporte des corrections. Deux vitesses de communication sont possibles dans ces normes : 1,5 Mbit/s (faible vitesse, ou Low Speed), et 12 Mbit/s (soit 1.5 Mo/s) (pleine vitesse ou Full Speed). En 2000 sort la version USB 2.0 qui ajoute des communications à 480 Mbit/s (haute vitesse ou High Speed) (soit 60 Mo/s). En 2005, le Wireless USB Promoter Group publie les spécifications d'une version sans-fil de l'USB : le Wireless USB.

En 2008 c'est au tour de l'USB 3.0 de voir ses spécifications publiées. Elle introduit les communications à 4,8 Gbit/s (soit env. 600 Mo/s)[1] (vitesse supérieure ou SuperSpeed[2]). Les nouveaux périphériques disposeront de connexions à 8 contacts au lieu de 4, mais la compatibilité ascendante des prises et câbles avec les versions précédentes est assurée. L'introduction de l'USB 3 dans des produits grand public a commencé début 2010.

[modifier] Marché concerné

USB a supplanté divers bus qui équipaient auparavant les ordinateurs : port série RS-232, port parallèle, port PS/2, port joystick (ou port MIDI), port SCSI, et même des bus internes comme PCI pour la connexion de certains dispositifs (par exemple cartes son ou cartes de réception TV).

La gamme des périphériques disponibles pour le bus USB est extrêmement vaste ; on peut cependant relever les applications suivantes :

Le bus USB peut alimenter en énergie les périphériques, dans une certaine limite de courant consommé (500 mA pour une application haute puissance, 100 mA pour une application normale[3]). Ceci est notamment mis à profit pour permettre la recharge d'appareils portables, pour lesquels on voit apparaître des adaptateurs secteur disposant d'une connectique USB limitée à l'alimentation électrique. La connectique USB a donc une certaine diffusion au-delà des périphériques informatiques stricto sensu, en tant que connecteur électrique de faible puissance. Par exemple, un certain nombre de gadgets alimentés sur port USB sont apparus sur le marché, qui ne sont pas des périphériques informatiques : lampes d'appoint, petits ventilateurs… Cependant, cette source de courant peut s'avérer trop juste pour alimenter un disque dur externe, au quel cas on utilise un deuxième port USB pour compléter l'alimentation ou un transformateur branché sur le secteur.

Le bus USB est utilisé en interne dans certains ordinateurs, pour connecter des périphériques internes tels que webcams, récepteurs infrarouges[4] ou lecteurs de cartes mémoire.

[modifier] Spécifications techniques

[modifier] Caractéristiques générales

L’Universal Serial Bus est une connexion à haute vitesse qui permet de connecter des périphériques externes à un ordinateur (hôte dans la terminologie USB). Il permet le branchement simultané de 127 périphériques par contrôleur (hôte). Le bus autorise les branchements et débranchements à chaud (« Hot-Plug », sans avoir besoin de redémarrer l’ordinateur) et fournit l’alimentation électrique des périphériques sous 5 V, dans la limite de 500 mA.

Le bus possède une topologie arborescente (dite également en étoile) : les feuilles de cet arbre sont les périphériques ; les nœuds internes sont des hubs qui permettent de greffer des sous-arborescences dans l'arborescence principale. On trouve dans le commerce ces hubs sous forme de petits boîtiers alimentés soit sur le bus, soit sur le secteur, et qui s'utilisent comme des multiprises. Certains périphériques intègrent également un hub (moniteurs, claviers…). Cependant, tout bus USB possède au moins un hub situé sur le contrôleur : le hub racine, qui peut gérer les prises USB de l'ordinateur. Le nombre de hubs connectés en cascade est limité : hub racine compris, il ne doit pas exister plus de 7 couches dans l'arborescence.[5]

La version 1.x du bus peut communiquer dans deux modes : lent (1,5 Mbit/s) ou rapide (12 Mbit/s, soit 1,5 Mo/s) :

USB 2.0 introduit un troisième mode permettant de communiquer à 480 Mbit/s (soit 60 Mo/s). Ce mode est appelé « high Speed ». Il est utilisé par les périphériques rapides : disques durs, graveurs… Mais en 2009, la plupart des périphériques ont une vitesse inférieure à ce que permet l'USB 2.0.

La dernière version, l’USB 3.0, comporte un quatrième mode (« Super Speed ») permettant de communiquer à 4,8 Gbit/s (soit 600 Mo/s). Les premiers appareils commercialisés sont prévus pour 2010.

Lorsque l’on parle d’un équipement USB, il est nécessaire de préciser la révision de la norme (1.1 ou 2.0) mais également la vitesse (Low, Full ou High Speed). Une clef USB spécifiée en USB 2.0 n’est pas forcément High Speed si cela n’est pas précisé par un logo « High Speed ».

Le bus USB reste plus lent que des bus internes comme PCI ou AGP.

[modifier] Connectique et caractéristiques électriques

Différents types de connecteurs USB, de gauche à droite : 8 pin mâle propriétaire[6], mini B mâle, B mâle, A femelle et A mâle. La micro USB n'est pas sur cette photo
Différents types de prises USB.
Prises USB de type A et B, vue de face.

L’architecture USB a pour caractéristique de fournir l’alimentation électrique aux périphériques en utilisant pour cela un câble composé de quatre fils (la masse GND, l’alimentation VBUS et deux fils de données appelés D- et D+). Les fils D+ et D- forment une paire torsadée et utilisent le principe de la transmission différentielle afin de garantir une certaine immunité aux bruits parasites de l’environnement physique du périphérique ou de son câble.

De base, le bus USB ne permet pas de relier entre eux deux périphériques ou deux hôtes : le seul schéma de connexion autorisé est un périphérique sur un hôte. Pour éviter des branchements incorrects, la norme spécifie deux types de connecteurs : le type A, destiné à être situé sur l'hôte, et le type B, destiné à être situé sur le périphérique. Un hub peut comporter à la fois un connecteur B, qui permet de le relier à l'hôte, et des connecteurs A, qui permettent d'y relier des périphériques. Les appareils (hôte et périphériques) sont équipés de connecteurs femelles. Les câbles de connexion ont toujours une extrémité de type A mâle, et une extrémité de type B mâle, ce qui garantit le respect de la topologie du bus. Il peut aussi exister des câbles de prolongation équipés de connecteurs de même type mais de genres différents.

Au départ il existait donc quatre connecteurs, pour deux types et deux genres. Par la suite, devant le développement d'appareils compacts, une version miniature du connecteur B a été spécifiée. Elle est fonctionnellement équivalente au connecteur B, mais de dimensions nettement réduites.

La version 2 de la norme a introduit connecteur mini-AB, utilisé dans le cadre de l'extension « On-The-Go », qui permet à certains appareils compatibles de jouer selon les cas, soit le rôle d'hôte, soit le rôle de périphérique.

Le brochage des connecteurs est le suivant :

Fonction Couleur Numéro de broche pour les types A et B Numéro de broche pour le type mini B
Alimentation +5V (VBUS) 500 mA maximum
Rouge
1
1
Données (D-)
Blanc
2
2
Données (D+)
Vert
3
3
Masse (GND)
Noir
4
5

[modifier] Protocole

La bande passante est partagée temporellement entre tous les périphériques connectés. Le temps est subdivisé en trames (frames) ou microtrames (microframes) pendant lesquels plusieurs transferts peuvent avoir lieu.

La communication entre l’hôte (l’ordinateur) et les périphériques se fait selon un protocole basé sur l'interrogation successive de chaque périphérique par l'ordinateur. Lorsque l’hôte désire communiquer avec un périphérique, il émet un jeton (un paquet de données, contenant l’adresse du périphérique, codée sur sept bits) désignant un périphérique. Si le périphérique reconnait son adresse dans le jeton, il envoie un paquet de données (de 8 à 255 octets) en réponse. Les données ainsi échangées sont codées selon le codage NRZI. Puisque l’adresse est codée sur 7 bits, 128 périphériques (27) peuvent être connectés simultanément à un port de ce type. Il convient en réalité de ramener ce chiffre à 127 car l’adresse 0 est une adresse réservée.

USB définit quatre types de transferts :

Il est possible de structurer la communication entre un hôte et un périphérique en plusieurs canaux logiques (pipes et endpoints) pour simplifier la commande du périphérique.

[modifier] Connexion à chaud et Plug and Play : processus d'énumération

Les ports USB supportent la connexion à chaud et la reconnaissance automatique des dispositifs (Plug and Play). Ainsi, les périphériques peuvent être branchés sans éteindre l’ordinateur.

Lors de la connexion du périphérique à l’hôte, ce dernier détecte l’ajout du nouvel élément grâce au changement de la tension entre les fils D+ et D-. À ce moment, l’ordinateur envoie un signal d’initialisation au périphérique pendant 10 ms, puis lui fournit du courant grâce aux fils GND et VBUS (jusqu’à 100 mA). Le périphérique est alors alimenté en courant électrique et peut utiliser temporairement l’adresse par défaut (l’adresse 0). L’étape suivante consiste à lui fournir son adresse définitive et à obtenir sa description : c’est la procédure d’énumération.

En effet, après avoir reçu son adresse, le périphérique transmet à l'hôte une liste de caractéristiques qui permettent à ce dernier de l'identifier (type, constructeur, nom, version). L’hôte, disposant de toutes les caractéristiques nécessaires est alors en mesure de charger le pilote approprié.

Les périphériques sont regroupés en types ou classes dans la terminologie USB. Tous les dispositifs d'une classe donnée reconnaissent le même protocole normalisé. Il existe par exemple une classe pour les périphériques de stockage de masse (mass storage class, MSC), implémentée par la quasi-totalité des clés USB, disques durs externes, appareils photo et par certains baladeurs. La plupart des systèmes d’exploitation possèdent des pilotes génériques, pour chaque type de périphérique. Ces pilotes génériques donnent accès aux fonctions de base, mais des fonctions avancées peuvent manquer.

[modifier] Norme « On-The-Go »

Article détaillé : USB On-The-Go.

La norme USB 2.0 s’est enrichie d’une fonctionnalité appelée On-The-Go (OTG) pour pouvoir effectuer des échanges de données point à point entre deux périphériques sans avoir à passer par un hôte (généralement un ordinateur personnel). Un périphérique OTG peut se connecter à un autre périphérique OTG, à un périphérique (non OTG) ou à un hôte.

Dans le cas d’une connexion OTG-OTG, c’est la position du connecteur du câble sur la prise mini AB, à 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 suite à une étape de négociation entre les deux systèmes OTG (protocole HNP)[7].

Les applications de cette technologie sont par exemple la connexion directe d’un appareil photo avec une imprimante, la connexion d’un mobile avec un lecteur MP3

[modifier] Notes et références

  1. [1]
  2. « Le nom commercial de la norme USB 3.0 sera : Super Speed USB »
  3. USB 2.0 Specification, 7.3.2 Bus Timing/Electrical Characteristics, table 7.7
  4. La webcam et le récepteur infrarouge des MacBook Pro sont connectés sur le bus USB en interne.
  5. Universal Serial Bus Specification, révision 2.0, 27 avril 2000, chapitre 4, Architectural Overview.
  6. (en) English Wikipedia - discussion on « mystery USB connector »
  7. (en) FAQ Microship sur l'USB - Question 53

[modifier] Voir aussi

Sur les autres projets Wikimédia :

[modifier] Articles connexes

[modifier] Liens externes

Outils personnels
Espaces de noms
Variantes
Actions
Navigation
Contribuer
Imprimer / exporter
Boîte à outils
Autres langues