Liaisons série et parallèle

Les transmissions de signaux numériques peuvent être effectuées de deux manières : série ou parallèle, selon qu'elles sont faites via un seul ou plusieurs conducteurs.

L'évolution des techniques de transmission

Très longtemps la liaison série était la plus utilisées car elle ne nécessitait qu’un seul conducteur pour transmettre les signaux. Cette communication est dite « série » du fait que les bits de chaque octet sont transmis en série, les uns à la suite des autres, pour se succéder sur un fil unique. Ce même principe est utilisé avec deux conducteurs pour les port bidirectionnels : un premier conducteur pour l’envoi, un second pour la réception.

C’est ce type de liaison série que l’on retrouvait sur les port PS/2 et les ports COM des anciens PC.

Anciens ports PS2 et COM

Ports PS/2 souris et clavier + port COM d’un ancien PC

Puis au milieu des années 80, la transmission parallèle a détrôné la liaison série partout où il était possible de multiplier les conducteurs pour transmettre plusieurs bits simultanément. La transmission en parallèle avec plusieurs conducteurs est réalisable sur de courtes distances et c’est donc ce principe qui a été retenu pour les bus sur la carte mère tels que le bus système ou le bus PCI. Ce fut aussi le cas avec les nappes IDE pour échanger les données avec les anciens disques ou encore celui du port parallèle destiné aux imprimantes des années 80/90.

Anciens ports PS2 et COM

Connecteurs PCI

Nappe IDE

Nappe IDE

Anciens ports PS2 et COM

Port parallèle

Depuis, les transmissions parallèles ont à leur tour été dénigrées à cause de problèmes d’interférences électromagnétiques entre les conducteurs disposés côte à côte. La solution fut le retour à la liaison série adaptée pour pouvoir augmenter les vitesses de transmission sans provoquer d’interférences ni y être sujettes. La liaison série se fait par deux câbles appariés qui transmettent des signaux symétriques. Nous y reviendrons, en parlant des câbles SATA, des ports USB ou des PCI express.

Conexions PCI Express

PCI Express

Câble SATA

SATA

Câble USB

USB


Liaison série

Conducteur unique ou boucle de courant

La liaison série est en principe faite par un conducteur unique. Certaines transmissions par ondes électromagnétiques, les liaisons infrarouges ou les liaisons par fibre optique peuvent elles aussi être considérées comme des liaisons séries puisque comme s’il n’y avait qu’un seul conducteur, les données sont transmises sous forme de séries de bits envoyés les uns à la suite des autres.

Les techniques de transmissions série les plus récentes, USB, SATA et PCI express, ainsi que les câbles réseau à paires torsadées utilisent deux conducteurs (boucle de courant) pour transmettre simultanément les mêmes informations par des signaux symétriques.
Le champ magnétique que crée le signal sur un fil est annulé par le champ magnétique que crée le courant du signal de retour. Au total ces deux champs magnétiques s’annulent pour minimiser les interférences électromagnétiques. Cette transmission reste cependant une communication série puisque les données sont sérialisées avant d’être transmises comme dans le cas d’une liaison avec un conducteur unique.

Sérialisation

Au lieu d'être envoyés simultanément sur 8 fils parallèles, les 8 bits de l'octet à envoyer sont "sérialisés" par un registre à décalage (shift register) et envoyés les uns à la suite des autres sur un seul conducteur.

Le récepteur reçoit les 8 bits qui se succèdent dans un autre registre où ils sont remis côte à côte ("dé-sérialisés") pour reformer l'octet d'origine.

Vitesse de transmission

On comprend que les communications séries sont plus lentes que s’il y avait 8 fils pour envoyer 8 bits en parallèle. De plus dans une liaison série, il faut ajouter aux bits à communiquer, un "start bit" pour signaler le début de la transmission et un (parfois deux) "stop bit" pour en marquer la fin. Ces bits de contrôle allongent et ralentissent donc les communications séries.

Les vitesses de transmission et de réception doivent être identiques. Ces vitesses sont exprimées en bits par secondes.

Modes simplex, half-duplex et full-duplex

Les communications sur un conducteur peuvent n'être à un moment donné que unidirectionnelles (mode simplex). Mais il est possible aussi de se servir du même conducteur pour alternativement émettre puis pour recevoir, c'est ce qu'on appelle le half duplex. On parle de mode full duplex quand il y a des transmissions simultanées dans les deux sens. Ce n'est possible qu'avec deux conducteurs, l'un pour l'émission, l'autre pour la réception.

Protocole

Il faut que l'émetteur et le récepteur utilisent le même protocole.
Ce protocole définit :

Synchronisation

Le récepteur doit savoir à quelle fréquence l'émetteur envoie les bits sur la ligne de transmission. Sans cela, il est impossible d'interpréter les signaux reçus. La figure suivante illustre le cas de l'envoi du code 11001100. S'il ne savait à quelle cadence les bits sont émis, le récepteur pourrait très bien lire deux fois trop lentement et conclure que le code reçu est 1010. C'est une des raisons pour laquelle les lectures sont cadencées par un signal d'horloge.

level-triggered

La figure ci-dessus montre un signal où les données doivent être lues quand le signal d'horloge (clock) est au niveau haut. Certains systèmes considèrent que les données sont valides en fonction du niveau haut ou bas du signal d'horloge (level-triggered). D'autres systèmes utilisent le flanc montant ou descendant du signal d'horloge (edge-triggered). Dans la figure suivante le signal est validé par le flanc montant du signal d'horloge.

level-triggered

Ce signal d'horloge généré par l'émetteur est parfois transmis au récepteur par un conducteur qui accompagne la ligne des données. C'est le cas de la communication synchrone. Lorsqu'il est impossible d'ajouter cette ligne pour le signal d'horloge, le récepteur doit générer ce signal lui-même. Le fait de générer une fréquence identique à celle de l'horloge de l'émetteur n'est pas trop difficile à réaliser. Le plus dur est d'obtenir un signal parfaitement synchronisé et en phase avec l'émetteur. Il faut pour cela que le récepteur sache exactement à quel instant ce signal d'horloge démarre. C'est la raison d'être du bit de départ (start bit) dans la communication asynchrone.

level-triggered

Liaison série asynchrone

Le signal d'horloge nécessite d'une liaison synchrone nécessite un conducteur pour véhiculer le signal d'horloge. Cela n'est pas toujours réalisable. La communication asynchrone peut se passer de ce signal. Un oscillateur interne au récepteur peut générer son propre signal d'horloge qu'il synchronise sur l'émetteur au moment du signal de début de transmission.

Application :

La transmission asynchrone convient si les données ne sont pas présentes en permanence. Les bits qui encadrent le message à transmettre réduisent la capacité de transmission. Cette liaison était celui des ports COM des anciens PC (RS232) connecteurs DB9 mâles (ou DB25 mâle sur les PC encore plus anciens)

Liaison série synchrone

Le conducteur qui véhicule les données est accompagné d'un second conducteur affecté au signal de synchronisation (horloge ou clock) pour cadencer les transmissions.
Le flux de données peut dès lors être ininterrompu sans séparation entre les données envoyées.

On retrouve ce type de communication dans les ports PS/2 pour le raccordement du clavier et de la souris avant que les connexions USB ou sans fil ne leur vole la vedette.

level-triggered

Liaison parallèle

Des fils mis côte à côte, généralement 8, 16, 32 ou même 64, transmettent simultanément autant de bits qu'il y a de conducteurs. L'intérêt de ce type de communication est que le débit des données est multiplié par le nombre de fils mis côte à côte. Ce type de transmission a longtemps été considéré comme plus rapide que les transmissions de type série.

Application :

Limitations :

Des interférences dues à des phénomènes d'induction électromagnétique apparaissent entre les conducteurs électriques mis côte à côte. Ce problème de diaphonie (cross-talk) devient gênant pour les fréquences élevées ou sur les lignes trop longues.


Liens recommandés


XHTML	1.0	validé!     CSS validé!