Conservatoire national des arts et métiers
Architectures des systèmes informatiques
CHAPITRE 5
Augmentez le débit svp ! Communications par bus
Année 2002-2003

Suite N°4...

5.5 BUS EXTERNES RÉCENTS : USB et IEEE 1394
 

5.5.0 Ce que ces bus remplacent, au moins en partie

La transmission série asynchrone

Asynchrone, elle n'a pas de signal d'horloge. Les blocs sont de petite taille, 7 ou 8 bits, et de longueur constante. La synchronisation est faite à l'intérieur du bloc auquel on ajoute des informations de contrôle et de synchronisation :
un bit de début nommé Start,
un ou plusieurs bits de fin nommés Stop.
Les horloges doivent être préréglées à la même fréquence, approximative bien sûr.
Un seul fil de transmission est en théorie suffisant, non torsadé.
Pendant la réception, le signal est échantillonné 16 fois ou 64 fois pour chaque bit.

La norme la plus connue est RS-232C (recommended standard de l'EIA). Elle porte sur les deux aspects électrique et fonctionnel (ce dernier est un extrait de l'avis V24 du CCITT qui date de 1964) et ne règle pas le protocole.

Quelques éléments de cette norme :

L'émetteur envoie le bit 0 par un niveau de tension compris entre +5 V et +15 V.
L'émetteur envoie le bit 1 par un niveau de tension compris entre -5 V et -15 V.
Le codage est donc du type NRZ.
Classiquement on utilise +12 V et -12 V
Le récepteur reçoit une tension entre -25 V et +25 V, pour se prémunir contre des variations erratiques des tensions.
Il détecte comme 0 une tension d'au moins 3 V et comme 1 une tension d'au moins -3 V
Le risque de confusion entre bits en est réduit.

La jonction doit avoir 52 broches au plus. On utilise des connecteurs DB à 9 ou 25 broches.
3 lignes sont indispensables :
TXD : ligne de transmission de données
RXD : ligne de réception de données
GND : masse commune

Selon le protocole choisi, on ajoute des lignes de commande CTS, RTS, DSR, TSR, DCD...

Le protocole définit :

Exemple du brochage du port série DB9 d'un DTE (data terminal equipment) : PC, terminal, concentrateur de terminaux connecté à un DCE (data communication equipment) : modem, imprimante, etc.
La description est faite dans l'hypothèse d'un modem. Pour une imprimante, certains signaux n'ont pas le même usage.
Broche
Signal
Classe
Sens
Description
1
DCD
commande
DCE->DTE
data carrier detect
Ce signal indique que le modem reçoit une porteuse correcte du modem distant.
2
RXD
données
DCE->DTE
receive data
Données émises par l'appareil distant, entrant dans l'ordinateur.
3
TXD
données
DTE->DCE
transmit data
Données émises par l'ordinateur vers l'appareil distant.
4
DTR
commande
DTE->DCE
data terminal ready
Signal de commande émis par l'ordinateur pour activer le modem en lui indiqueant que l'ordinateur est actif. Le modem est alors autorisé à appeler ou recevoir un appel. 
5
GND
électrique   ground
Cette référence de tension relie les deux connecteurs. Les potentiels de tous les autres signaux sont mesurés par rapport à elle.
6
DSR
commande
DCE->DTE
data set ready
Signal de commande entrant dans l'ordinateur, il indique que le modem est prêt à émettre ou répondre à un appel.
7
RTS
commande
DTE->DCE
request to send
Signal de commande émis par l'ordinateur, il indique qu'il est prêt à recevoir des données. Ce signal peut être invalidé de temps en temps.
8
CTS
commande
DCE->DTE
clear to send
Signal de commande entrant dans l'ordinateur, il indique que l'appareil distant est prêt a recevoir des données.
9
RI
commande
DCE->DTE
ring indicator
Signal de commande entrant dans l'ordinateur, il indique la présence de la sonnerie d'un appel entrant. 

Connecteurs


Mâle DTE sur l'ordinateur
et sur le câble côté périphérique
Femelle DCE sur le câble 
côté ordinateur
et sur le périphérique
9 pin RS-232 male connector pinout
9 pin RS-232 female connector pinout

Câbles

Câble DCE<->DTE, il relie broche à broche et sans croisement un connecteur mâle à un connecteur femelle.
Câble dit null modem, ce câble simule le comportement d'un modem. Il a 2 connecteurs femelles et croise des connexions.
 

CTS à RTS

TXD à RXD

DSR et DCD à DTR.

Nuull modem cable

La transmission parallèle dite Centronics

La première définition a été faite par la société Centronics, fabricant d'imprimantes et utilisée en 1981 par IBM. La transmission de l'ordinateur à l'imprimante est faite sur 8 fils portant un octet par cycle. Elle a été normalisée en 1994 seulement sous le nom IEEE 1284. Cette normalisation a défini cinq modes de fonctionnement accessibles par négociation. Cette négociation consiste en l'envoi par l'ordinateur de séquences d'octets auxquels le périphérique répond ou non. Des informations plus détaillées sont disponibles sur http://www.fapo.com

Les brochages usuels sont DB25 côté ordinateur et Amphénol (dit aussi Centronics) 36 broches côté imprimante.Avertissement

Les informations données ci-dessous sont forcément succinctes et donc incomplètes. Seuls les documents officiels font foi.

5.5.1 Origine et caractères principaux des deux bus

Un certain nombre de besoins sont identifiés depuis de nombreuses années :

Tout ceci a causé l'apparition ou le retour de bus série et l'apparition de la technique «plug and play».
La première interrogation est : pourquoi série ?La voie série en prend le contre pied de la tendance à l'élargissement des bus internes ou externes pour augmenter le débit.Les deux différences majeures entre les deux communications interne et externe sont :
  Interne Externe
conducteurs  rigides souples par nécessité
longueur de l'ordre de 10 cm de l'ordre de plusieurs mètres
maîtrise du bruit d'environnement bonne mauvaise sauf blindage

Remarque : un disque, un lecteur de CD sont des périphériques.

Ces trois caractères concourent à favoriser l'utilisation du bus parallèle en interne et à l'interdire à haut débit à l'extérieur.

Les deux nouveaux bus USB et IEEE 1394 relient des dispositifs quelconques à des ordinateurs. Leurs auteurs sont :

On constate que les sources de normes et de standards sont toujours diverses.L'objectif des concepteurs de l'USB est de remplacer à plus ou moins long terme tous les ports de connexion d'un ordinateur. Aussi bien le port série que le port parallèle, les ports clavier et souris et pratiquement tous les ports des périphériques. Il est disponible sur certaines cartes mères des PC depuis 1996 et pratiquement sur toutes depuis 1998.

L'objectif des concepteurs de l'IEEE 1394 est le même, avec une cible plus vaste qui inclut les appareils du multimédia, consommateurs de très grandes bandes passantes comme on le voit par les quelques valeurs suivantes de débits :

vidéo de haute qualité : 30 trames/s 640x480 pixels, couleur 24 bits = 221 Mbits/s
vidéo de basse qualité : 15 trames/s 320x240 pixels, couleur 16 bits = 18 Mbits/s
son de haute qualité : 44100 échantillons/s, 16 bits, 2 canaux = 1,4 Mbits/s
son de basse qualité : 11050 échantillons/s, 8 bits, 1 canal = 0,1 Mbits/s

Le démarrage des deux bus a été lent. Quatre ans plus tard, sauf chez Apple, il fallait demander spécialement les interfaces de ces deux types au fournisseur de périphériques. La raison ne tient pas aux ordinateurs proprement dits qui ont aujourd'hui les connecteurs convenables, mais plutôt aux constructeurs de périphériques qui sont restés très circonspects. Plus d'un an après le lancement de l'USB, le seul appareil qui lui était adapté était un scanner de Logitech. Le lecteur peut constater à la lecture des noms des entreprises qui sont à l'origine de ces nouveaux bus que les grands fabricants de périphériques sont absents.

Les caractéristiques communes de ces deux moyens d'entrée et sortie sont :

Les principales différences de caractéristiques sont :
  USB IEEE 1394
Taux de transfert, débit au plus 12 Mbits/s 100 à 400 Mbits/s.
Capacité de gestion en nombre de périphériques 1 à 127 1 à 63 par segment
au plus 1000 segments !
Portée du câble sans répéteur 5 mètres 4,5 mètres

Il est intéressant de connaître les motifs qui ont été jugés suffisants pour que ces nouveaux bus soient lancés. On estime généralement qu'il y en a trois principaux.

La situation difficile de l'utilisateur. Non pas qu'elle fut en elle-même une préoccupation des fabricants, mais le petit nombre de ports parallèles ou série, leurs débits faibles a été considéré comme un frein au commerce des périphériques divers : les téléphone/fax/modem, les répondeurs automatiques, les scanners, les appareils de prise de vue, les assistants divers, etc. Les connexions existantes étaient principalement conçues avec deux ou trois points. L'ajout d'une fonction ou d'une capacité au PC suppose la définition de la nouvelle interface correspondante.

Trois voies étaient possibles :

La facilité d'emploi. Même après avoir déployé les câbles de connexion et d'alimentation, il est difficile de configurer facilement un PC. Des interfaces plus compréhensibles et certaines solutions matérielles et logicielles plus simples, associées aux nouveaux bus comme PCI, EISA, MCA PCMCIA, ont atténué ces difficultés sans les supprimer. Les interfaces d'entrée et sortie des PC ne disposent pas tous des attributs nécessaires au «Branchez, c'est fait» (plug and play) à la volée.L'exploitation plus large de la connexion de l'ordinateur au téléphone. La fusion des télécommunications et de l'informatique apportera beaucoup aux générations prochaines. Le transfert des données  se fera avec un connecteur universel bon marché sans empilement de protocoles divers. Le téléphone n'est pas entendu comme la ligne telle qu'on l'utilise ordinairement dont le débit encore limité à 1200 bits/s en 1980 a été porté à 57 000 bits/s, mais aux perspectives concrètes du téléphone d'abord, d'autres câblages ensuite. On n'utilise pas plus que 1% de la capacité de la ligne téléphonique.

En 1997, Bell Canada a commencé à modifier son réseau avec la technique des lignes numériques à paires asymétriques, selon la norme ANSI-T1E1.4. La largeur de bande utile est 1 Mbits/s à la réception et 64 Kbits/s pour l'émission. L'appareillage nécessaire est une carte ethernet et un modem adapté. Le lecteur curieux se renseignera sur les techniques XDSL et spécialement sur ADSL.

5.5.2 Le bus USB

Le câblage :
Le câble du bus a quatre conducteurs :

Caractéristiques électriquesLe conducteur d'alimentation est à +5V (4,75 à 5,25) et au plus 500 mA.
Les seuils et combinaisons de seuils sur D+ et D- sont :
Voh(min) au moins 2,8V sur D+
Vol(max) au plus 0,3V sur D-Les décisions de détection de niveaux sont faites comme suit :
niveau haut : {(D+) - (D-) > 200mV} ET {(D+) ou (D-) > Voh(min)}
niveau bas  : {(D-) - (D+) > 200mV} ET {(D-) ou (D+) < Vol(max)}

Ce qui est interprétable comme suit :
Pour qu'un niveau haut (1) soit reconnu, D+ doit être 200mV plus grand que D- et une ligne au moins doit être à plus que Voh(min).
Pour qu'un niveau bas (0) soit reconnu, D- doit être 200mV plus grand que D+ et une ligne au moins doit être à moins que Vol(max).

Il y a deux types de connecteurs, série A pour les périphériques fixes et série B pour les périphériques souvent connectés ou déconnectés.

Topologie
Un système USB a trois composants :

Sa topologie est en arbre. Chaque nœud de l'arbre est un concentrateur (ou hub), chaque feuille est une unité USB. À chaque niveau cohabitent nœuds et feuilles. Dans la suite on ne fera pas de différence entre unité USB proprement dite et concentrateur.Chaque unité a une adresse unique. Le contrôleur a l'adresse 0.

Chaque unité fournit au contrôleur une information qui la décrit, sous la forme de trois jeu de données :

De plus l'unité conserve des informations telles que celles de l'état du bus et de sa commande.

Un concentrateur ou noyau d'extension :

Information sur le protocole de l'USBIl existe en deux versions deux protocoles haut débit à 12Mbits/s et faible débit à 1,5 Mbits/s, pour les terminaux comme la souris ou le clavier.

L'USB a un maître unique, son hôte.

Les prises en compte de branchement et débranchement sont faites par l'exécution périodique d'une procédure de vérification de l'état du bus entre l'hôte et les concentrateurs. Les étapes sont :

  1. le concentrateur avertit l'ordinateur qu'un branchement ou qu'un débranchement est survenu;
  2. l'ordinateur demande au concentrateur d'identifier l'événement;
  3. la réponse contient le numéro de port ou noeud et l'indication branchement ou débranchement;
  4. selon le cas, l'ordinateur active ou désactive ce port;
  5. en cas de branchement, l'ordinateur détermine si l'élément branché est un périphérique ou un concentrateur. Il assigne une adresse à ce port;
  6. en cas de branchement, l'ordinateur charge en mémoire le pilote de gestion du périphérique.
Le modèle de base du transfert de données est celui d'un canal de communication permanent défini et créé lors de la connexion de l'unité. Le canal continu est normalisé, le canal de messages est libre. Les autres paramètres des canaux sont la largeur de bande de données, le type de service de transfert et les caractéristiques de l'extrémité, la direction et la taille de tampon. L'un des canaux de message, dit canal de contrôle, est créé automatiquement à la mise sous tension de l'unité pour transmettre les informations relatives à la configuration, à l'état et au contrôle de l'unité concernée et ainsi créer les canaux de transfert.Une transaction ordinaire est faite au moyen de trois paquets.
Le paquet jeton envoyé par l'hôte. Il contient l'adresse de l'unité contactée, le type et la direction de la transaction. L'unité USB adressée s'identifie par la coïncidence du champ d'adresse et fait une émission ou se met en attente de réception.
Le paquet de données est envoyé par la source (émetteur). S'il n'a rien à envoyer, le paquet contient le code de signalisation de paquet vide.
Le paquet poignée de main est émis par le puits (récepteur). Il est soit positif soit négatif en cas d'erreur.

La planification centralisée des transactions rend possible l'établissement de canaux dotés de contrôle du flot. Les plans de service de ces canaux sont différents selon les besoins. Les canaux peuvent être servis à des intervalles différents par des paquets de taille adaptée. On gère ainsi des transferts isochrones ou en continu qui occupent une portion fixe de la largeur de bande avec un délai de livraison prédéfini.

La détection des erreurs est faite par CRC.
La correction est faite par la répétition du paquet erroné.

5.5.3 Le bus IEEE 1394

Les caractéristiques principales sont :

Il est présenté comme un moyen peu coûteux, mais est néanmoins plus cher que l'USB.
Les moyens matériels sont sensiblement différents des précédents :
Le câble a deux conducteurs optionnels pour l'alimentation, terre incluse qui alimentent des périphériques de 8 à 40 Volts et jusqu'à 1,5 ampères.
Deux paires torsadées A et B sont affectées aux signaux. La transmission est faite en mode différentiel comme dans l'USB. Le bus est organisé en segments, chacun peut avoir jusqu'à 63 dispositifs connectés. La distance maximale est de 4,5 m, jusqu'à 16 répéteurs ou noeuds sont prévus pour des longueurs plus grandes. Plus de 1000 segments peuvent être connectés par des ponts. Le potentiel de croissance est donc considérable. Les topologies sont la guirlande et l'arbre.

Les unités du bus sont :

Exemple de topologie
5.5.4 ComparaisonsComparaison entre USB et IEEE 1394 avec les bus série et parallèle traditionnels :
USB et IEEE 1394 Bus Série & Parallèle
Véritable Plug & Play des périphériques «plug & play» de compliqué à impossible
Les périphériques peuvent être connectés même lorsque l'ordinateur fonctionne. L'ordinateur doit être éteint lors de la connexion
Configuration simple des périphériques Configuration compliquée
Connectivité simple Connectivité complexe
Connecteur standardisé Multiplicité des types de connecteurs: Din, DB9, DB25, Amphénol, etc.
127 périphériques connectés ou plus Très petit nombre de périphériques
Débits élevés à très élevés :
USB jusqu'à 12 Mb/s, 
IEEE1394 400 Mb/s,
Débits faibles, au maximum :
115,2 Kb/s pour le port série,
4 Mo/s par compression pour la voie parallèle
Alimentent des périphériques. N'alimentent pas les périphériques 

Comparaison entre les concurrents directs :
Nom Débits 
en Mo/s
Longueur maximum 
du câble en mètres 
Nombre maximum
d'appareils par segment 
USB
1,5 
5
126
Fibre Channel
100 ou 200
10 000
126
SSA Serial storage architecture (IBM)
80
25
48
IEEE1394 - FireWire
12,5  25 ou 50
4,5
63

On donne quelques détails sur Fibre Channel et SSA dans le § 6.3.1 où ils sont considérés comme des variantes du bus SCSI.

5.5.5 Perspectives

L'IEEE 1394 est candidat au remplacement des bus internes lents.

La figure suivante donne une idée de l'évolution possible :

Il existe des cartes réalisant des ponts entre PCI à IEEE 1394.

Questionnaire

Conservatoire national des arts et métiers
Architectures des systèmes informatiques
CHAPITRE 5
Augmentez le débit svp ! Communications par bus
Année 2002-2003