La communication série nécessite trois fils au minimum:
une masse pour référencer les signaux, un fil émetteur
et un fil récepteur. Notre liaison série est en effet full-duplex,
c'est à dire que l'on peut émettre et recevoir en même
temps (comme le téléphone par exemple).
La différence principale entre le port parallèle
et le port série est que les informations ne sont pas transmises
simultanément sur des fils séparés (D0 à D7)
mais les unes après les autres sur un même fil. Cela amène
une économie de câble (un fil au lieu de 8) mais un montage
décodeur devient nécessaire pour retransformer les données
sérialisées.
La figure ci-dessous montre comment l'octet 10110101 est transformé
pour être transmis sur un seul fil. Vous voyez qu'en plus de l'information
utile (10110101) se greffent d'autres bits comme le bit de start. Ces bits
sont utiles pour la synchronisation de l'émetteur et du récepteur.
LSB 1011010 en serie MSB
_______________________________
/ \
1 _____ _____ _____ _________ _________
| | | | | | | | | | |
| | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | |
0 |___| |___| |___| | |___| | |____
\___/ \___/
START STOP
En effet, la liaison série est totalement asynchrone. Aucune horloge
n'est transmise. Il faut donc se mettre d'accord sur la vitesse de transfert
des bits et rajouter des bits de synchronisation.
Voici un petit résumé des différents paramètres
rentrant en jeu lors d'une communication série:
-
longueur de mot: sur le PC, le BIOS ne permet une longueur de mot
que de 7 ou 8 bits.
-
Parité: le mot transmis peut être suivi d'un bit de
parité qui sert à détecter les erreurs éventuelles
de transmission. Il existe deux parités: la parité paire
et la parité impaire. Dans le cas de la parité paire, et
pour le mot 10110101 contenant 5 états à 1, le bit de parité
sera 1 amenant ainsi le nombre total de 1 à un nombre pair (6).
Dans le cas de la parité impaire, le bit de parité aurait
été 0 car le nombre total de 1 est déjà impair.
L'intérêt de ce rajout est le suivant: si jamais lors de la
transmission un état 1 est transformé en état 0 (perturbation
du canal par des parasites par exemple) le nombre total de 1 change et
donc le bit de parité recalculé par le récepteur ne
correspond plus à celui reçu. L'erreur est donc détectée.
Evidemment, si deux états à 1 passent à 0, l'erreur
ne sera pas détectée mais la probabilité pour que
cela arrive est très faible.
-
Bit de start: lorsque rien ne circule sur la ligne, celle-ci est
à l'état haut. Pour indiquer qu'un mot va être transmis,
la ligne passe à bas avant de commencer le transfert. Cette précaution
permet de resynchroniser le récepteur.
-
Bits de stop: ces bits signalent la fin de la transmission. Selon
le protocole utilisé, il peut y avoir 1, 1.5, ou 2 bits de stop
(ces bits sont toujours à 1).
-
Vitesse de transmission: la plupart des cartes série permettent
de choisir une vitesse entre 300 et 9600 bauds (par exemple à 300
bauds, un bit est transmis tout les un trois-centième de seconde).
Les cartes récentes proposent des vitesses jusqu'à 115200
bauds. Ces vitesses ne vous paraissent peut-être pas énormes
mais il faut garder à l'esprit que la liaison série est avant
tout pensée pour les liaisons téléphoniques par modems,
dont la bande passante est très limitée.
|