Mis à jour le mercredi 30 octobre 2013
  • Facile
Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Introduction du cours

Dans ce tuto, nous allons voir comment fonctionne le port USB.
C'est-à-dire que nous verrons l'histoire du port USB, ses différents types, ainsi que son fonctionnement dans la transmission des données.

Ensuite, nous construirons un petit périphérique USB. Mais je vous rassure, nous n'allons pas créer une clé USB de stockage !
Il s'agit d'un ventilateur de compétition ( ;) ) pour refroidir non pas votre ordinateur, mais vous-mêmes.

Bien sûr, il n'y aura aucune possibilité de régler la vitesse du ventilateur, car le PC ne saura même pas s'il est branché : il sera furtif. :ninja:

Comprendre le port USB

Un peu de culture générale

Vous connaissez tous le port USB pour la place qu'il tient en ce moment dans notre marché : même votre arrière grand-mère en a déjà entendu parler à la radio ou dans un magazine.
Et pour cause : il est universel.
Tout d'abord, le port USB a vu le jour en 1990 dans le but de remplacer tous les anciens ports qui commençaient à s'essouffler.
Ainsi, il a connu trois versions depuis sa création : la 1.1 la 2.0 et la 3.0.
La version 1.1 permet deux modes de fonctionnement :

  • low speed à 192 Ko/s pour les claviers et souris, etc.;

  • full speed à 1,5 Mo/s pour les imprimantes, scanners, etc.

La version 2.0 ajoute un nouveau mode : high speed, à 60 Mo/s. Il est utilisé par les disques durs externes, les clés USB de stockage, et par les nouveaux scanners et nouvelles imprimantes.
Mais ce n'est pas tout : l'USB 2.0 ajoute une alimentation en 5 Volts et jusqu'à 500 mA, soit 2,5 Watts (0,5 A * 5 V = 2,5 W).

En 2008, la version 3.0 de l'USB a vu le jour et apporte un débit de transfert de 625 Mo/s soit 5000 Mbits/s. Ce mode est alors nommé Superspeed.

Image utilisateur

Image utilisateur

Schéma électrique

Nous allons déjà voir le cas de l'USB 1.1 et 2.0 de plus près.

Alors, en 1 nous avons la borne +5V.
En 2, D-, qui permet de transférer les données.
En 3, D+, qui permet également de transférer les données.
En 4, Ground, c'est-à-dire le 0V.
Vous remarquerez qu'ici, le port USB est de type A.

Pourquoi de type A ? o_O

Ben, il existe aussi le type B :

Image utilisateur

Il existe encore les ports USB de type mini A et mini B. On les trouve le plus souvent pour connecter les appareils photos, certaines clés audio USB, etc.

Pourquoi y a-t-il deux broches D+ et D- pour transmettre les données (data) alors que c'est un port série ?

Le port USB utilise un type d'encodage (NRZI) qui nécessite deux broches.
C'est-à-dire que cet encodage utilise la borne D- pour représenter un 0 binaire, avec une tension négative, et la borne D+ pour le 1 binaire, avec une tension positive.
NRZI signifie Non Return to Zero Inverted : jamais de retour à zéro, inversé.
C'est un codage bien spécial :

  • s'il faut envoyer un "1"", la sortie ne change pas d'état ;

  • s'il faut envoyer un 0", la sortie change d'état à chaque fois.

.
Image utilisateurAu bout de six "1" consécutifs, on envoie un "0".
Mais cette norme n'est utilisée à ma connaissance que pour l'USB.

Maintenant, passons à l'USB 3.0 : il est plus complexe puisqu'il comporte neuf fils !
En apparence, il reste similaire à l'USB 2.0, ce qui lui permet entre autres d'assurer une compatibilité descendante et ascendante : on peut brancher des vieux périphériques sur du nouveau matériel et des périphériques neufs sur du vieux matériel.
Mais, s'il conserve les quatre broches classiques de l'USB, cinq viennent s'ajouter permettant ainsi au mode Superspeed d'atteindre un très haut débit : 600 Mo/s tout de même ! :D

Voici les vues de dessus et de profil du connecteur (en coupe) :

Image utilisateurCliquez pour agrandir

Les broches 1, 2, 3 et 4 ont toujours les mêmes fonctions.
En 5 et 6, nous avons les contacts joliment nommés StdA_SSRX- et StdA_SSRX+ qui sont dédiés à la réception (pour l'ordinateur) en mode Superspeed.
En 8 et 9, ce sont les contacts StdA_SSTX- et StdA_SSTX+ qui servent à l'émission (pour l'ordinateur) en mode Superspeed.
Le contact 7 est quant à lui dédié au retour des signaux et se nomme GND_DRAIN.
Certes, les noms nous sont inutiles, mais cela nous apprend qu'il y a désormais une connectique pour la transmission et la réception dans la version 3.0 de l'USB.

Le protocole de communication

Initialisation

Tout d'abord, lorsque l'on branche un périphérique USB, l'ordinateur le détecte grâce à une tension, constante entre D- et D+ lorsque rien est branché, et qui chute dès que l'on branche quelque chose. Ainsi, dès que le périphérique est connecté, l'ordinateur envoie un courant d'initialisation pendant 10 millisecondes. Dès lors, il lui attribue l'adresse "0". Après, le PC questionne tous les périphériques USB déjà connectés pour connaître leur adresse, puis en attribue une non utilisée (codée sur 7 bits) au nouveau périphérique, ce qui laisse 127 possibilités !

Transfert des données

Les principes de l'USB, pour communiquer avec les périphériques, c'est que chacun a la parole à son tour, personne ne parle en même temps, et l'ordinateur indique au préalable qui doit parler.

Ainsi, le PC envoie ce qui s'appelle un jeton, qui contient l'adresse du périphérique qui doit parler. Ce jeton circule de périphérique en périphérique, jusqu'à ce que le périphérique se reconnaisse et écrive à l'intérieur. Le PC finit par recevoir le jeton et le décode.

Je vais faire une analogie avec des personnes qui veulent parler à quelqu'un d'autre.
Imaginez un chef qui décide de faire une ronde avec tous ses disciples. Chaque disciple est numéroté.
Le chef écrit un numéro derrière un morceau de papier et le fait passer à un premier disciple. Ce premier disciple regarde le numéro, ce n'est pas lui. Il passe au suivant, qui passera peut-être au troisième. Et ainsi de suite jusqu'à ce que la personne se reconnaisse dans le numéro. Si c'est le cas, cette personne écrit sur le bout de papier. Puis le passe à la suivante, qui ne regarde que le numéro, qui ne se reconnaîtra pas dans ce numéro, et qui donc passera le bout de papier au suivant, et ainsi de suite jusqu'à ce que le chef reçoive le bout de papier et le lise.
Bien évidemment, le chef peut très bien écrire quelque chose (une instruction, ou des données) et un numéro (adresse) au destinataire : la communication va dans les deux sens.

Ce système est appelé anneau à jeton ou "token ring". Vous vous en doutez, toute la communication est encodée en NRZI.

Au prochain chapitre, nous créerons un petit périphérique USB.

Bricoler son périphérique USB

Je ne sais pas si vous suivez l'actualité informatique, mais on peut remarquer tout un tas de trucs inutiles en USB :

  • un barbecue USB ;

  • un aquarium USB ;

  • un tapis de souris USB ;

  • etc.

Et nous n'allons pas faire de barbecue USB (cela nécessite 30 ports USB et une bonne alimentation), mais un ventilateur USB...

La préparation

Tout d'abord, il faut :

  • un ventilateur (arrachez-en un à une vieille alimentation d'ordinateur) ;

  • un vieux câble USB ;

  • un fer à souder ;

  • du fil d'étain ou des dominos (d'électricien, pas pour jouer) :lol: ;

  • du scotch ;

  • un multimètre ;

  • des ciseaux ;

  • un ordinateur (pour tester :soleil: ) ;

  • une pile plate 4,5 V ou une alimentation continue stabilisée à 5V ;

  • et de la débrouille.

Si vous n'avez pas de ventilateur, vous pouvez en créer un à partir d'un moteur, d'un chewing-gum (ou de la pâte à modeler), d'une feuille de papier, et d'une bonne technique de pliage (origami).

Ainsi, voici ce que j'ai fait :

Image utilisateur

Les tests

Tout d'abord, dénudez les fils du ventilateur.
Votre pile plate 4,5 V doit être neuve (ou presque, car il faut approcher un maximum 5 V) : pour le vérifier, mettez le multimètre sur le mode voltmètre 5 V continu. Mémorisez la tension qu'il vous donne.
À l'aide du schéma ci-dessous, de la pile plate 4,5 V ou votre alimentation 5 V et en mettant votre multimètre en ampère-mètre sur 1 A, branchez le tout :

Image utilisateur

Bref, une fois que vous avez branché tout ça, votre ventilateur tourne, ça peut vous donner une idée de comment il va tourner... En principe, il tournera même encore plus vite.
Mais ce qui nous intéresse le plus, c'est de ne pas griller notre ordinateur chéri. Donc on regarde combien il passe d'ampères : il ne faut pas dépasser les 400 mA si votre pile était à 4 V. 300mA si votre pile était à 3 V, etc.

Donc, si U est la tension, I l'intensité et k le coefficient de sécurité :
en théorie, il faudrait I < U/10.
En pratique il faudrait I < (Ug/10)*k.

Si l'on veut garder un coefficient de sécurité de 75 %, il faut mettre k = 0,75.

Si vous dépassez l'ampérage, il existe une solution : changer de ventilateur ou rajouter une résistance en série avant ou après le ventilateur.

Si l'ampérage est inférieur à 25 %, par exemple 300 mA pour 4V., lancez-vous, mais ne faites surtout pas de court-circuit.

La création du câblage

On découpe

Donc, coupez votre vieux câble USB, écartez bien les quatre fils qui le traversent, et découpez le blindage ainsi que tout le plastique.

Image utilisateur

=>

Image utilisateur

En principe, le fil de la masse et du 5 V sont respectivement noir et rouge et plus épais.

Image utilisateur

Pour repérer quel fil est la masse ou le 5 V, prenez votre multimètre en mode ohmmètre et regardez quel fil correspond à la masse en mettant une borne de l'ohmmètre sur l'embout USB, sur le fil 4, puis en testant les quatre fils du côté dénudés.

Dès que vous avez trouvé le bon fil, faites-y un signe distinctif pour vous rappeler que c'est la masse.
Faites de même avec le fil 1, c'est-à-dire le 5 V.

Une fois que vous avez trouvé vos deux fils, mettez du scotch ou un isolant autour des deux autres.

Puis on assemble

Maintenant, il est venu le temps de souder ou de serrer les dominos !
Note : si vous utilisez une résistance, n'oubliez surtout pas de la mettre en série.
Dans le cas contraire, il suffit de joindre les deux câbles au ventilateur.
Isolez ensuite tous les câbles séparément, sans faire de court-circuit.

Moi, j'aime bien les dominos :

Image utilisateur

Testez une dernière fois avec la pile plate 4,5 V ou votre alimentation pour voir s'il n'y a pas de court-circuit.

Faites une prière et un sacrifice au dieu de l'informatique (pour le sacrifice, rien ne vaut le transformateur secteur d'une bonne carte graphique Voodoo5). ;)

Image utilisateur

Contemplez ! :D

Désormais, vous pouvez brancher.

Image utilisateur

Ça tourne !

Conclusion

Vous venez de créer votre périphérique USB.

Mais vous pouvez très bien faire une guirlande électrique, ou tout ce que vous voulez, du moment que vous ne dépassez pas 500 mA.

Si vous ne dépassez que de quelques milliampères, Windows XP vous préviendra qu'un périphérique USB a dépassé l'ampérage maximum, et désactivera temporairement le port USB.

Si vous êtes chauds pour construire votre barbecue, il faut mettre une résistance chauffante et utiliser plusieurs ports USB, en mettant les alimentations en parallèle... Visitez rapidement ce site.

Maintenant, n'hésitez plus à créer toutes sortes de périphérique USB, mais soyez prudents, la vie de votre ordinateur (ou celui de votre voisin :p ) en dépend.

Envoyez-moi des photos de vos créations en commentant le tuto : je me ferai une joie de les admirer. :)

Exemple de certificat de réussite
Exemple de certificat de réussite