LES LIAISONS "SERIE"

 

Hugues ANGELIS

page  06

Concept de réception asynchrone

La liaison RS232 est une liaison asynchrone, c'est-à-dire que l’horloge de l’émetteur n’est pas transmise au récepteur. Mais le débit utilisé est censé être connu et le même, sur le récepteur comme sur l’émetteur.

Toutefois, l'horloge de réception ne sera jamais strictement égale à l'horloge d'émission (puisque c’est une liaison asynchrone), il y a donc des risques de voir les deux horloges se désynchroniser et à long terme, et perdre des bits. On utilise donc un UART (Universal Asynchronous Receiver Transmiter) pour éviter les pertes de synchronisation.

L’UART

Pour comprendre le fonctionnement d’un UART, il faut, d’une part savoir que ce n’est pas un simple registre à décalage (qui permet de transmettre, ou de recevoir, sous forme série, les données), et d’autre part, comprendre que la réception des données sera réalisée à partir de l’horloge interne du récepteur, "à l’aveugle", en se basant sur le débit théorique. Cette horloge de réception est réalisée à partir du quartz de l’UART via un préscaler.

La fréquence de l’horloge du récepteur sera un multiple de l’horloge de transmission pour permettre la saisie de l’information au milieu de la durée d’un bit, ce qui permet de se placer à égale distance des changements de bits.

Horloge de réception = N * Horloge transmission.

Ainsi, à N/2, l’UART saisit la donnée en mettant un front montant sur l’entrée d’horloge du registre à décalage de réception. Puis il attend encore un nombre N de périodes de l'horloge interne avant de saisir la deuxième valeur et ainsi de suite (à 3N/2, 5N/2, etc.).

Mais ceci n’est valable que si les 2 horloges (de l’émetteur et du récepteur) sont extrêmement proches l’une de l’autre. Si les horloges sont différentes, il va il y avoir des décalages qui vont s’accumuler et empêcher une bonne réception.

Il faut donc que le récepteur réussisse à se recaler sur l’émetteur sans pour autant avoir accès à son horloge. Or dans une liaison série l’envoi des données est réalisé par un registre à décalage, c’est donc à chaque front de l’horloge de l’émetteur que la donnée est susceptible de changer. C'est pourquoi le récepteur doit utiliser les fronts du signal reçu, générés par le changement de donnée en sortie du registre à décalage de l’émetteur, pour se resynchroniser avec lui.