Elaborée en 1995 par plusieurs firmes informatiques (Compaq, Digital, IBM,
Microsoft, Intel), le port externe USB
(Universal Serial Bus) est sorti en version 1.0 puis rapidement
ammélioré en 1.1. C'est un bus série
directement implanté sur la carte
mère. Le
port USB est destiné à la connexion d'appareils variés (imprimante,
scanner,
appareil photo-numérique, modem, périphériques de sauvegarde, ...). Il
remplace les ports série et parallèles avec un meilleur taux de transfert
(vitesse). En théorie, le nombre maximum de périphériques connectés est de
127. Ce port n'est réellement reconnu qu'avec Win98 et
MacOS 8.5 et supérieurs (Win95OSR2 n'est pas compatible). Son successeur, l'USB
2.0 est plus rapide. Pour les périphériques rapides (disques
durs externes, caméoscopes), il est remplacé par le Firewire.
Sa principale caractéristique est la
connexion à chaud (Hot
plug). Ceci permet de connecter ou déconnecter le périphérique sans
redémarrer la machine. Il est également plug and Play, les périphériques
sont automatiquement reconnus par le système d'exploitation. Pour celà, le
pilote doit généralement être installé avant de connecter le périphérique,
même si les dernières versions de Windows incluent nativement une large
variétés de drivers. L'USB utilise également le DMA
pour l'accès direct à la mémoire de l'ordinateur. La bande
passante est faible: 12 Mb/s maximum (1,5 MB/s) pour l'ensemble des périphériques
connectés.
Il existe actuellement 2 modes de fonctionnement:
Haute vitesse où un seul périphérique rapide
utilise toute la bande passante: 12 Mb par seconde, soit 1,5 MB par secondes
Basse vitesse où les périphériques plus
lents se partagent la bande passante en 8, soit 1,5 Mb/ seconde (180 kB/s)
Cette restriction limite à 8 et non aux 127 théoriques
le nombre connectés maximum.
Dans une communication USB, le PC
commence par interroger chaque périphérique, c'est la phase de détection. Pendant ce temps, tous les périphériques USB
attendent que le PC (ou Mac) leur transmette ses ordres. Une fois identifiés, le PC accède
individuellement à tous les périphériques et les intègre dans la
gestion d'énergie, automatiquement.
A chaque millisecondes, le contrôleur envoie un
signal paquet pour maintenir les périphériques synchronisés (mode isochrone).
Il y a 4 sortes de paquets:
les paquets de contrôle: configuration,
commande et interrogation sur le statut des périphériques
les paquets isochrones permettent aux
périphériques qui travaillent en temps réel comme les webcams et les téléphones d´envoyer ou de recevoir des données à des intervalles de temps réguliers.
Le délai est fixe mais il n'y a pas de retransmission en cas d'erreur.
les paquets en vrac sont
utilisés par les périphériques ne nécessitant pas le fonctionnement en
temps réel. On retrouve les imprimantes, périphériques de sauvegarde
externes
les paquets d´interruption permettent à un
périphérique de demander le bus. C'est le cas des modems. L'usb ne gère
pas nativement les interruptions.
Le câble USB comporte deux prises différentes
dénommées A et B qui se relie sur le contrôleur (ou le HUB) du côté A et
sur le périphériques (côté B).
Type A: connection sur l'ordinateur
Type B: périphériques standards (imprimante,
scanner)
Mini USB 4 contacts: photo-numérique, GSB
Mini USB 5 contacts: photo-numérique, GSB
Le câble se compose de 4 fils:
une paire torsadée
pour le transfert des données
un fil au potentiel de +5V pour l'alimentation
des périphériques. La consommation est limitée à 500 mA par port.
un fil de masse masse.
La longueur maximum du câble est de 5 mètres pour un périphérique à pleine vitesse.
Différents modules permettent néanmoins une extension jusqu'à 10 mètres au
total en corrigeant le signal. Le câble peut être blindé
ou non, le mode basse vitesse de 1.5 Mbits/s ayant une tolérance supérieure
aux perturbations électromagnétiques. Un blindage est recommandé
pour une utilisation à 12 Mbits/s (1,5 MB/s).
Différents périphériques USB permettent d'émuler
des ports série, parallèle, réseau RJ45, ...