PC Sans Virus

Périphériques USB la Normes, Le Bus et le Port USB

Bus USB, Normes USB, Port USB, Fonctionnement du bus USB

Bus USB

Le bus USB (Universal Serial Bus, en français Bus série universel) est, comme son nom l'indique, basé sur une architecture de type série. Il s'agit toutefois d'une interface entrée-sortie beaucoup plus rapide que les ports série standards. L'architecture qui a été retenue pour ce type de port est en série pour deux raisons principales :

  • l'architecture série permet d'utiliser une cadence d'horloge beaucoup plus élevée qu'une interface parallèle, car celle-ci ne supporte pas des fréquences trop élevées (dans une architecture à haut débit, les bits circulant sur chaque fil arrivent avec des décalages, provoquant des erreurs) ;
  • les câbles série coûtent beaucoup moins cher que les câbles parallèles.

 

Normes USB

Ainsi, dès 1995, le standard USB a été élaboré pour la connexion d'une grande variété de périphériques.

Le standard USB 1.0 propose deux modes de communication :

  • 12 Mb/s en mode haute vitesse,
  • 1.5 Mb/s à basse vitesse.


Le standard USB 1.1 apporte quelques clarifications aux constructeurs de périphériques USB mais ne modifie en rien le débit. Les périphériques certifiés USB 1.1 portent le logo suivant :
Bus USB
 

En l'absence de logo la meilleure façon de déterminer s'il s'agit de périphériques USB à bas ou haut débit est de consulter la documentation du produit dans la mesure où les connecteurs sont les mêmes.

La compatibilité entre périphériques USB 1.0, 1.1 et 2.0 est assurée.

Toutefois l'utilisation d'un périphérique USB 2.0 sur un port USB à bas débit (i.e. 1.0 ou 1.1), limitera le débit à 12 Mbit/s maximum. De plus, le système d'exploitation est susceptible d'afficher un message expliquant que le débit sera bridé.

Port USB

Il existe deux types de connecteurs USB :

  • Les connecteurs dits de type A, dont la forme est rectangulaire et servant généralement pour des périphériques peu gourmands en bande passante (clavier, souris, webcam, etc.) ;
  • Les connecteurs dits de type B, dont la forme est carrée et utilisés principalement pour des périphériques à haut débit (disques durs externes, etc.).
  • 1. Alimentation +5V (VBUS) 100mA maximum
  • 2. Données (D-)
  • 3. Données (D+)
  • 4. Masse (GND)

 

Fonctionnement du bus USB

L'architecture USB a pour caractéristique de fournir l'alimentation électrique aux périphériques qu'elle relie, dans la limite de 15 W maximum par périphérique. Elle utilise 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+).

La norme USB permet le chaînage des périphériques, en utilisant une topologie en bus ou en étoile. Les périphériques peuvent alors être soit connectés les uns à la suite des autres, soit ramifiés.
La ramification se fait à l'aide de boîtiers appelés « hubs » (en français concentrateurs), comportant une seule entrée et plusieurs sorties. Certains sont actifs (fournissant de l'énergie électrique), d'autres passifs (alimentés par l'ordinateur).

La communication entre l'hôte (l'ordinateur) et les périphériques se fait selon un protocole (langage de communication) basé sur le principe de l'anneau à jeton (token ring). Cela signifie que la bande passante est partagée temporellement entre tous les périphériques connectés. L'hôte (l'ordinateur) émet un signal de début de séquence chaque milliseconde (ms), intervalle de temps pendant lequel il va donner simultanément la « parole » à chacun d'entre eux. 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é sur 7 bits) désignant un périphérique, c'est donc l'hôte qui décide du « dialogue » avec les périphériques. Si le périphérique reconnaît son adresse dans le jeton, il envoie un paquet de données (de 8 à 255 octets) en réponse, sinon il fait suivre le paquet aux autres périphériques connectés. 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 (2^7) 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. (cf plus loin).

A raison d'une longueur de câble maximale entre deux périphériques de 5 mètres et d'un nombre maximal de 5 hubs (alimentés), il est possible de créer une chaîne longue de 25 mètres !

Les ports USB supportent le Hot plug and play. Ainsi, les périphériques peuvent être branchés sans éteindre l'ordinateur (branchement à chaud, en anglais hot plug). 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-. A 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'à 100mA). Le périphérique est alors alimenté en courant électrique et récupère temporairement l'adresse par défaut (l'adresse 0). L'étape suivante consiste à lui fournir son adresse définitive (c'est la procédure d'énumération). Pour cela, l'ordinateur interroge les périphériques déjà branchés pour connaître la leur et en attribue une au nouveau, qui en retour s'identifie. L'hôte, disposant de toutes les caractéristiques nécessaires est alors en mesure de charger le pilote approprié.

Plus d'information

Les spécifications complètes du standard USB peuvent être téléchargées sur le site USB Implementers Forum :

  • http://www.usb.org/developers/docs/.