Liaison série

Accueil

La liaison série, souvent confondu avec le protocole RS232, est un protocole de transfert de donnée qui utilise une ligne de donnée et une de masse pour la liaison asynchrone, une  ligne de donnée, une de masse et une d'horloge pour la liaison synchrone.

Principe de fonctionnement de liaison série asynchrone

    Asynchrone signifie qu'il n'y a pas besoin d'horloge, plutôt qu'il n'y a pas de signal d'horloge lors de la transmission des données car il existe à l'émission et à la réception deux horloges qui doivent fonctionner à la même fréquence. Par contre, ces fréquences peuvent différer de quelques pour cent et surtout, les horloges n'ont pas besoin d'être synchronisées. La mise en oeuvre d'une telle liaison est donc très aisée puisqu'il suffit de réaliser côté émission et coté réception une horloge à quartz toute simple.

    Le protocole d'u liaison série asynchrone n'est pas difficile à mettre en place, il suffit qu'il soit identique du côté émission que réception. Prenons un exemple, on souhaite transmettre l'octet suivant : 10011001. examinez la figure 1


Figure 1

Au début on a le bit de stop de la ligne précédente qui est à l'état haut, quand la ligne est au repos, c'est à dire lorsque rien est transmis, elle est aussi l'état haut, la transmission commence lorsqu'il y a un niveau bas sur la ligne c'est le bit de start, ensuite on a les huit bits de donnée ici 10011001 et enfin pour dire que la transmission est donnée on un bit de stop à l'état haut. Voilà  un exemple de liaison asynchrone.

    Les vitesses de transmission des données sur une telle liaison se mesurent en bauds, il existe un certain nombre de valeurs normalisées, un baud étant égal à un bit par seconde dans ce cas.

    Sur de nombreuses liaisons séries asynchrones, afin de disposer d'un moyen simple de contrôle de l'exactitude de la transmission, on introduit la notion de parité grâce à l'envoi d'un bit supplémentaire réservé à cet effet. Le principe de ce bit de parité est le suivant : on compte les bits utiles du caractère transmis (c'est à dire les bits du caractère transmis seulement et non le « start » et le « stops ») et selon que leur nombre est pair ou impair, on met à 1 ou à 0 le bit de parité, c'est à dire si on met un bit de parité pair le programme du protocole va "compter" le nombre de niveau haut, si se nombre est pair on va mettre le bit de parité à '0' ou si on met un bit de parité impair le programme du protocole va "compter" le nombre de niveau haut, si se nombre est pair on va mettre le bit de parité à '1'. Ce travail est fait à l'émission et le bit de parité est donc émis comme faisant partie du caractère transmis ainsi que le montre la figure 2. A la réception, on refait le même compte et on compare la parité ainsi obtenue avec celle reçue. Si elles sont différentes, il y a certainement eu erreur dans la transmission (due à un parasite qui a fait changer un bit d'état par exemple). S'il y a identité, cela ne veut pas dire que la liaison s'est bien passée à 100 % car deux bits peuvent avoir changé d'état en sens contraire simultanément, mais cela donne tout de même une indication relative quant à sa qualité.
Prenons un exemple: on souhaite transmettre l'octet suivant 00110100 avec une parité pair. Examinez la figure 2.

Figure 2

On a le même principe de liaison que le cas précédent, on voit la ligne au repos, le bit de start et de stop, les 8 bits de donnée et notre bit de parité. Comme on a choisi une parité pair il faut que le nombre de bit '1' soit pair, on compte le nombre de '1' dans l'octet ici on en a trois, trois entant impair il faut mettre le bit de parité à '1'.

Principe de fonctionnement de la liaison série synchrone

    Synchrone à la différence de asynchrone on a besoin d'une horloge, il faut que cette horloge soit identique pour l'émetteur et le récepteur et qu'il n'y est aucune différence entre les deux. Il faut donc que les deux horloge soit synchronisée, cette liaison est assez difficile à réaliser.

    A la différence de la liaison série asynchrone il n'y a pas de bit de start t de stop la transmission commence lorsqu'il y a des données sur la ligne et le niveau d'horloge nécessaire à la transmission. Par exemple on veut transmettre 10010111 regardons la figure 3.


Figure 3

Ici on voit qu'à chaque front montant de l'horloge un bit de donné est transmis, lorsque le dernier bit est envoyé la line de transmission se remet au repos jusqu'à se qu'il y a une nouvelle donnée à transmettre.

    La vitesse de transmission dépend de la fréquence de votre horloge.