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.
Symbole de l'USB

Le Universal Serial Bus (USB, en français Bus universel en série, dont le sigle, inusité, est BUS) 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 (quand l'ordinateur est en marche) et en bénéficiant du Plug and Play (le système reconnaît automatiquement le périphérique). Il peut alimenter les périphériques peu gourmands en énergie (disques SSD en particulier). Apparu en 1996, ce connecteur s'est généralisé dans les années 2000 pour connecter souris, clavier d'ordinateur, imprimantes, clés USB et autres périphériques bon marché sur les ordinateurs personnels.

Les performances de l'USB, notamment concernant les débits, se sont grandement améliorées au fil des versions (USB 2.0, 3.0...). Un futur standard 3.1 a été annoncé en 2013 et ses spécifications techniques publiées en août 2014.

Pour plus de clarté, les débits dans cet article seront indiqués en octets et non en bits (pour rappel, 1 octet = 8 bits).

Évolution de la norme USB[modifier | modifier le code]

L’USB a été conçu au milieu des années 1990 afin de remplacer les nombreux ports externes d’ordinateurs, lents et incompatibles les uns avec les autres. Différentes versions de la norme ont été développées au fur et à mesure des avancées technologiques, chacune étant vouée à remplacer les précédentes car plus performante.

USB 1[modifier | modifier le code]

En 1996, la première version de la norme, l'USB 1.0, est spécifiée par sept partenaires industriels (Compaq, DEC, IBM, Intel, Microsoft, NEC et Northern Telecom). Mais elle reste théorique et n'a jamais vraiment appliquée : par manque de composants, il faudra attendre la seconde version de la norme 1998, intitulée USB 1.1, pour que l'USB commence à être effectivement utilisé[1]. Ce que nous appelons couramment "USB 1" est donc en réalité de l'USB 1.1.

L'USB 1.1 apporte des corrections à la norme 1.0 et définit également deux vitesses de communication :

  • le mode lent (Low Speed) a un débit de 190 Ko/s. Il permet de connecter des périphériques qui ont besoin de transférer peu de données, comme les claviers et souris ;
  • le mode pleine vitesse (Full Speed) débite a 1,5 Mo/s. Il est utilisé pour connecter des imprimantes, scanners, disques durs, graveurs de CD et autres périphériques ayant besoin de plus de rapidité. Néanmoins, il est insuffisant pour beaucoup de périphériques de stockage de masse (ce mode permet la vitesse « 10 X » des CD).

En août 1998, avec la sortie de l'iMac G3, Apple est le premier[2] constructeur à proposer un appareil disposant uniquement de ports USB en remplacement des ports d'ancienne génération, ce qui a fait décoller[2] le marché des périphériques USB.

USB 2[modifier | modifier le code]

En avril 2000 est publiée la norme USB 2.0, qui optimise l'utilisation de la bande passante[1] et surtout ajoute introduit un troisième débit à 60 Mo/s, baptisé Haute vitesse (High Speed). Il est utilisé par les périphériques rapides : disques durs, graveurs… Mais au moment de sa sortie, la plupart des périphériques ont une vitesse inférieure à ce que permet l'USB 2.0.

En 2005, le Wireless USB, une version sans-fil de l'USB, est spécifiée par le Wireless USB Promoter Group. Elle promet 50 Mo/s à une distance de 3 m et 14 Mo/s à 10 m[3].

L'extension On-The-Go (OTG), ajoutée à la norme USB 2.0 en 2007, permet d'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). La norme OTG s'impose désormais comme un standard.

USB 3[modifier | modifier le code]

En 2008, l'USB 3.0 introduit le mode vitesse supérieure (SuperSpeed, qui débite théoriquement à 625 Mo/s[4]. Mais ce nouveau mode utilisant un codage des données de type 8b/10b, la vitesse de transfert réelle est de seulement 500 Mo/s. L'USB 3 délivre un courant électrique de 4,5 watts.

Les nouveaux périphériques disposent de connexions à 6 contacts au lieu de 4, mais la compatibilité ascendante des prises et câbles avec les versions précédentes est assurée. En revanche, la compatibilité descendante est impossible, les câbles USB 3.0 de type B n'étant pas compatibles avec les prises USB 1.1/2.0[5], mais il existe des adaptateurs.

Début 2010, l'USB 3 est introduit dans des produits grand public. Les prises femelles correspondantes sont signalées par une couleur bleue. Apparition aussi des prises femelles USB rouges, signalant une puissance électrique disponible supérieure, et appropriée au chargement rapide de petits appareils y compris (à condition de le paramétrer dans le BIOS ou l'EFI) lorsque l'ordinateur est éteint.

A venir : l'USB 3.1[modifier | modifier le code]

Un standard 3.1[6] à 10 Gb/s est annoncé en août 2013 ; ses spécifications techniques sont finalement publiées par le consortium USB Implementers Forum en août 2014.

L’USB 3.1 promet des débits doubles de ceux de l'USB 3.0, soit 1,2 Go/s. Le nouveau standard (câbles, interface) sera rétro compatible avec l’USB 3.0 et l'USB 2.0[7]. Toutefois la connectique change, elle sera plus fine et n'imposera pas de sens de branchement. Pour tout de même permettre la connexion vers des connecteurs USB 2.0 et 3.0, le standard devra prendre en compte la possibilité d'avoir des adaptateurs passifs (à l'inverse des adaptateurs Lightning, le connecteur réversible qu'Apple a lancé avec l'iPhone 5 en 2012), pour garder une taille réduite et un coût de fabrication mesuré[8]. Cette nouvelle connectique se nommera Type C[9].

Résumé des débits[modifier | modifier le code]

Lorsque l’on parle d’un équipement USB, il est nécessaire de préciser la version de la norme (1.1, 2.0 ou 3.0) mais également la vitesse (low/full/high/super 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 interfaces internes comme PCI ou AGP ou SATA / e-Sata (dans sa version 1.x et 2.0).

Débit des normes USB
Version USB 1.0 USB 1.1 USB 2.0 Wireless USB USB 3.0 USB 3.1
Année 1996 1998 2000 2005 2008 2013
Débit 1,5 Mbit/s
0,19 Mo/s
12 Mbit/s
1,5 Mo/s
480 Mbit/s
60 Mo/s
480 Mbit/s
60 Mo/s
5 Gbit/s
600 Mo/s
10 Gbit/s
1,2 Go/s

Évolution des prises USB[modifier | modifier le code]

Différents connecteurs de type USB 1 et 2, de gauche à droite :
• micro B mâle,
• UC-E6 propriétaire (non USB),
• mini B mâle 5 pin,
• A femelle,
• A mâle
• B mâle.
Différents types de prises USB 1 et 2.
Prise Micro-B USB 3.

Les premiers connecteurs : les types A et B[modifier | modifier le code]

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 USB 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.

Les mini connecteurs[modifier | modifier le code]

Chaque types (A ou B) existait dans les deux genres (mâle ou femelle), ce qui fait qu'il existait au départ quatre connecteurs. Par la suite[Quand ?], devant le développement des appareils compacts (téléphones portables, appareils photo numériques), une mise à jour de la norme USB 2 a introduit une version miniature du connecteur B : le mini B[10]. Elle est fonctionnellement équivalente au connecteur B, mais de dimensions nettement réduites.

L'USB 2 a ensuite[Quand ?] introduit connecteur mini AB, utilisé dans le cadre de l'extension « On-The-Go ». Il permet aux appareils compatibles de jouer indifféremment le rôle d'hôte ou rôle de périphérique, contrairement à l'USB classique où l'hôte se branche sur obligatoirement sur un connecteur de type A et le périphérique sur un connecteur de type B (voir plus haut).

Les micro connecteurs[modifier | modifier le code]

Les appareils mobiles s'étant encore réduits, les connecteurs mini B sont devenus à leur tour trop gros. En janvier 2007, le nouveau connecteur micro B a été annoncé. Il est non seulement plus fin que le mini B, mais également prévu supporter pour un grand nombre de cycles de connexion/déconnexion (jusqu'à 10 000[10]), ce qui le rend particulièrement bien adapté aux appareils mobiles car ils souvent branchés et débranchés (tablettes tactiles, smartphones…).

Pour les mêmes raisons, une nouvelle norme micro AB est venue remplacer[Quand ?] le mini AB (voir plus haut) , qui est aujourd'hui officiellement déprécié[10].

La nouvelle norme : le type C[modifier | modifier le code]

Un nouveau connecteur à été introduit dans la norme le 11 août 2014: le type C, destiné à remplacer tous les connecteurs précédents. Il a la particularité d'être réversible, c'est-à-dire qu'il n'a plus de sens haut/bas[11]. Outre l'aspect pratique, il est compatible à la fois avec les standards USB 3.1 (qui doublent le débit théorique à 10 Gbps) ainsi qu'avec l'USB Power Delivery (jusqu'à 100 watts dans les deux sens).

Applications de l'USB[modifier | modifier le code]

Pour le transfert des données[modifier | modifier le code]

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 utilisant le bus USB est extrêmement vaste :

Le bus USB est également utilisé en interne dans certains ordinateurs pour connecter des périphériques tels que webcams, récepteurs infrarouges (c'est le cas par exemple sur les MacBook Pro) ou lecteurs de cartes mémoire.[réf. nécessaire]

Pour l'alimentation électrique[modifier | modifier le code]

Le bus USB peut alimenter en énergie les périphériques, dans une certaine limite de courant consommé (2 A pour une application haute puissance, 100 mA pour une application normale[12]). 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 ainsi une diffusion au-delà des périphériques informatiques stricto sensu, en tant que connecteur électrique de faible puissance. Un certain nombre de gadgets alimentés par port USB qui ne sont pas des périphériques informatiques sont apparus sur le marché : lampes d'appoint, petits ventilateurs, etc.

Pour les périphériques qui demandent plus de courant que ce que peut fournir un port USB, par exemple certains disques durs externes, on complète l'alimentation par un branchement sur un second port USB. Une telle utilisation est discutable car le périphérique monopolise à lui seul deux ports. Une prise électrique ordinaire serait plus adaptée, la fonction première de l'USB étant de transférer des données et non de distribuer du courant.

Spécifications techniques[modifier | modifier le code]

Caractéristiques générales[modifier | modifier le code]

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 0,5 A, soit 2,5 W.

D'un point de vue logiciel, 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[13].

À plus bas niveau, il s'agit d'un anneau à jeton (ou Token Ring) : chaque nœud dispose successivement du bus. Il n'y a pas de collision de paquets comme en Ethernet, mais le nombre maximal de nœuds est prédéfini. Pour cette raison, l'USB n'est pas adapté aux communications réseau : l'apparition des "modems" ADSL USB était un moyen de diffuser l'ADSL à une époque où la plupart des PC bas de gamme disposaient du port USB mais pas d'Ethernet[réf. nécessaire].

Protocole[modifier | modifier le code]

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 :

  • transfert de commande, utilisé pour l'énumération et la configuration des périphériques. Il convient pour des données de taille restreinte ; il y a garantie de livraison (renvoi des paquets erronés) ;
  • transfert d’interruption, utilisé pour fournir des informations de petite taille avec une latence faible. Ce ne sont pas des interruptions au sens informatique du terme : le périphérique doit attendre que l’hôte l’interroge avant de pouvoir effectuer un tel transfert. Ce type de transfert est notamment utilisé par les claviers et les souris ;
  • transfert isochrone, utilisé pour effectuer des transferts volumineux (bande passante garantie), et en temps réel. Il n'y a pas de garantie sur l'acheminement des données. Ce type de transfert est utilisé pour les flux audio et vidéo ;
  • transfert en masse (bulk), utilisé pour transférer des informations volumineuses, avec garantie d'acheminement, mais sans garantie de bande passante. Ce type de transfert est utilisé par les dispositifs de stockage.

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 du port USB.

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

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.

Alimentation électrique[modifier | modifier le code]

Prises USB de type A et B, vue de face. USB 1 et 2.

L’architecture USB a pour caractéristique de fournir aussi l’alimentation électrique aux périphériques. Il utilise pour cela un câble composé de quatre fils pour les USB 1 et 2 (la masse GND, l’alimentation VBUS et deux fils de données appelés D- et D+) et de six fils pour l'USB 3 (séparation des données IN/OUT). 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.

USB Battery Charging 1.0 à 1.2[modifier | modifier le code]

USB Power Delivery[modifier | modifier le code]

USB Power Delivery permet de délivrer jusqu'à 100 W de puissance sur une tension maximale de 20 V au travers de l'USB, tout en maintenant la communication. L'alimentation électrique est désormais bidirectionnelle, elle peut se faire dans les deux sens.

Lors de la connexion, les deux périphériques négocient la puissance à délivrer par l'intermédiaire de contrôleurs spécifiques et chaque port USB pourra ainsi indiquer les tensions et intensités qu'il supporte.

La norme prévoit 5 profils :

  • Profil 1 : 5V / 2A → 10W
  • Profil 2 : 5V / 2A et 12V / 1.5A → 18W
  • Profil 3 : 5V / 2A et 12V / 3A → 36W
  • Profil 4 : 5V / 2A et 12V ou 20V / 3A → 60W
  • Profil 5 : 5V / 2A et 12V ou 20V / 5A → 100W

Brochage[modifier | modifier le code]

Types A et B[modifier | modifier le code]

Description prise Micro-B USB 3
• 1 : alimentation (VBUS)
• 2 : USB 2.0 paire différentielle (D−)
• 3 : USB 2.0 paire différentielle (D+)
• 4 : USB OTG ID pour identifier les lignes
• 5 : masse
• 6 : USB 3.0 ligne de transmission du signal (−)
• 7 : USB 3.0 ligne de transmission du signal (+)
• 8 : masse
• 9 : USB 3.0 ligne de réception du signal (−)
• 10 : USB 3.0 ligne de réception du signal (+)

Le brochage des connecteurs de type A et B 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 +5 V (VBUS) Rouge 1 1
Données (D-) Blanc 2 2
Données (D+) Vert 3 3
Masse (GND) Noir 4 5[14]

Type C[modifier | modifier le code]

Le brochage de la prise de type C, vue de face, est le suivant :

A12 A11 A10 A9 A8 A7 A6 A5 A4 A3 A2 A1
GND RX2+ RX2- VBus SBU1 D- D+ CC VBus TX1- TX1+ GND
GND TX2+ TX2+ VBus VConn SBU2 VBus RX1- RX1+ GND
B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11 B12

La broche CC indique l'orientation du connecteur, la broche VConn pour l'alimentation.

Le brochage du connecteur de réception de type C, vue de face, est le suivant :

A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12
GND TX1+ TX1- VBus CC1 D+ D- SBU1 VBus RX2- RX2+ GND
GND RX1+ RX1+ VBus SBU2 D- D+ CC2 VBus TX2- TX2+ GND
B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1

L'alimentation passe par les broches VBus et GND. Les signaux de configurations par CC1 et CC2 et il y a 2 broches SBU (SideBand Use).

Notes et références[modifier | modifier le code]

Notes[modifier | modifier le code]

Références[modifier | modifier le code]

Annexes[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]