Transmission sérielle asynchrone
Sommaire
du Site

    
Suite : Liaison RS 232
Suite : Liaison RS 232

Généralités

Un grand nombre de machines échangent localement des données numériques :

  • Modems et ordinateurs
  • Imprimantes et ordinateurs
  • Automates programmables et imprimantes
  • Automates programmables et consoles de programmation.
  • Souris d'ordinateur
  • etc.

Il y a deux modes de tranmission possibles :

  • la transmission parallèle
  • la transmission sérielle
Note abrégée sur le mode de transmission parallèle
(qui ne fait pas l'objet de la présente étude):

La transmission parallèle consiste à relier les machines par autant de voies de comunication (des fils dans un câble) que de bits dans les mots binaires à transmettre.

Les mots binaires les plus répandus étant les octets, on a généralement besoin de huit voies de communication entre les deux machines.

Auxquelles il faut ajouter la "masse commune" (équipotentielle zéro) s'il s'agit de transmission par voie électrique et des signaux de synchronisation et d'acquittement, ce qui augmente encore le nombre de voies.

Ce mode de transmission parallèle présente des inconvénients majeurs :

  • le nombre de voies peut est financièrement coûteux et même prohibitif si la distance de transmisssion est élevée.
  • les caractéristiques de transmission des différentes voies étant différents, même légèrement, les signaux se propagent à des vitesses différentes donc accusent des retards inégaux et difficilement prévisibles à l'arrivé .
  • la multiplication des voies multiplie aussi les chances de parasitage et de diaphonie.

C'est malgré tout un mode de transmission utilisé dans les liaison locales :

  • liaisons d'imprimante dans le cas particulier des PC d'IBM ou compatibles : CENTRONICS
  • les bus d'intrumentation de type GPIB - IEEE 488.
  • les interfaces de transmission rapide type SCSI
  • les liaisons entre composants microinformatiques dans les cartes à microprocesseurs
  • liaisons internes entre différentes parties fonctionnelles d'un même processeur (bus internes)

Mais dans les autres cas on utilise le mode sériel de transmission.

Mode de transmission sérielle

 

Ce mode permet de transmettre les données sur un seul support de transmission :

  • une ligne bifilaire (signal + masse)
  • une fibre optique
  • un canal hertzien
  • un canal infra-rouge
  • etc

La transmission se fait en émettant les bits de données les uns après les autres.

Synchronisation émetteur-récepteur :

Le récepteur d'une telle salve de bits peut être perplexe ... s'il ne connait pas la durée d'un bit


Comment interpréter le signal binaire ci-dessus si on ne connaît pas
la durée d'un bit ? Est-ce 101 ou 110011 ou 111000111 ?

Il faut donc le lui faire connaître : cela s'appelle la synchronisation.

On distingue :

  • la transmission sérielle asynchrone : un signal de synchronisation est généré par l'émetteur au début seulement d'une séquence de bits données plus ou moins longue (un octet par exemple).

  • la transmission sérielle synchrone : l'émetteur génère un signal qui doit permettre au récepteur de se synchroniser à chaque bit .

Vous trouverez sur ce même site une étude de la transmission synchrone en

 

TRANSMISSION SERIELLE ASYNCHRONE
Exemple du standard RS 232

Applications courantes du mode sériel asynchrone :

  • liaison entre modem et ordinateur
  • liaison souris-ordinateur
  • liaisons ordinateur-imprimante (sauf pour les ordinateur compatibles IMB-PC qui utilisent la liaison parallèle Centronics)
  • les ports COM1 - COM2 etc... des compatibles IBM-PC
  • la plupart des liaisons consoles de programmation - automates programmables.
  • etc, etc ...

Pourquoi "ASYNCHRONE" ?

Dans le procédé qui va être décrit, le récepteur n'est pas parfaitement synchrone avec l'émetteur, mais presque.
Le récepteur possède une horloge interne dont la période est aussi proche que possible de celle de l'émetteur, mais indépendante de celle-ci.

Le récepteur découvre le début de transmission d'un octet au moment de la réception d'un premier bit appelé "bit de start".

Il va ensuite supposer que son horloge à lui est proche de celle de l'émetteur et décoder le reste de l'octet qui arrive.

Bien sûr il peut y avoir erreur si l'horloge du récepteur est assez différente de celle de l'émetteur ou si la séquence binaire envoyée est trop longue (généralement cette séquence est d'un octet seulement).

En pratique, cette méthode s'avère très sûre quoiqu'un peu lente.

Chronogramme d'une transmission
sérielle asynchrone
type RS232 :
Info :

Commentaire du schéma ci-dessus.

  1. Le signal est au niveau logique "1"
    tant qu'aucune transmission n'est en cours.
    Voir note :

  2. Bit de START : c'est un signal de synchronisation
    Le début de la transmission d'un mot binaire (octet en général), est marqué par le passage du signal au niveau logique "0".
    Ce niveau doit être maintenu pendant un temps "T" dont la valeur est une caractéristique de la transmission.
    Valeur commune au transmetteur et au récepteur. On l'appelle temps de bit
    Par ce moyen, l'émetteur indique au récepteur le début de la transmission d'un mot binaire.

  3. Nombre de bits :
    Les bits constituant le mot binaire à transmettre sont ensuite envoyés un par un en commençant par le bit de poids le plus faible.
    L'octet 01011001 est envoyé dans l'ordre : 10011010.
    Le temps alloué à l'état de chaque bit est le telmps "T" précédemment décrit.

  4. Temps de bit :
    Ce temps est lié au débit binaire en bits par seconde ( bit/s )de la transmission.
    Débit binaire = 1 / T.
    Par exemple, si T = 1 ms, la transmission se fait à 1000 bit/s.
    Un mauvaise habitude a fait que ce débit est souvent exprimé en BAUDS.
    La transmission précédente se faisant ainsi à 1000 Bauds.
    Mais cette dénomination n'est pas rigoureuse : elle désigne autre chose, comme nous le verrons dans notre étude des modems.


    Les débits binaires usuels des transmissions sérielles asynchrones sont, en bit/s :
    50
    , 75, 150, 300, 600, 1200, 2400, 4800, 9600, 19 200, 38 400 et 56 kbit/s.

    Transmetteur et récepteur doivent, bien entendu, être réglés sur le même débit binaire.


  5. Bit de parité :
    Pour tenter de repérer à l'arrivéela survenue d'une erreur lors de la transmission, e transmetteur peut générer un bit de parité.


    Le bit de parité peut être défini de deux manières :


    Convention dite de "parité paire" : on compte les bits à "1" en comprenant le bit de parité.
    Leur nombre doit être pair.
    Par exemple, l'octet 01011001 compte 4 bits à "1", le bit de parité doit être à "0"
    dans cette convention.

    Convention dite de "parité impaire" : on compte les bits à "1" en comprenant le bit de parité.
    Leur nombre doit être impair.
    Par exemple, l'octet 01011001 compte 4 bits à "1", le bit de parité doit être à "1" dans cette convention.


    En résumé, il existe trois possibilités de convention.
    - PARITE PAIRE : "EVEN PARITY" en anglais.
    - PARITE IMPAIRE : "ODD PARITY" en anglais.
    - PAS DE BIT DE PARITE : "NO PARYTY" en anglais

    Le transmetteur et le récepteur doivent être accordés sur la même convention.

    Le récepteur fait lui-même le calcul de la parité du mot binaire reçu.
    Il compare le résultat au bit de parité reçu du transmetteur.
    S'il y a discordance, c'est qu'une erreur s'est produite en ligne.
    Le circuit intégré spécialisé dans la réception (UART - Unité Asynchrone de Réception et de Transmission) génère alors un signal d'interruption permettant au logiciel qui gère la transmission de réagir.


    S'il y a concordance, on ne peut pas conclure qu'aucune erreur ne s'est produite.
    En effet, deux erreurs ayant perturbé deux bits de la donnée, laisseront le bit de parité correct.
    La parité est une bien piètre méthode de transmission de données car elle laisse la porte ouverte au passage d'erreurs de transmission non décelées.


    Il est absolument nécessaire de sécuriser physiquement les lignes de transmission et surtout de réaliser des liaisons courtes.

  6. Bit de stop :
  • Nous avons dit que la ligne doit être au niveau logique "1" avant de commencer à émettre un mot binaire.
    Si le bit de parité (ou le dernier bit émis si pas de parité) sont à 0 il faudra bien que la ligne soit remontée systématiquement à "1". Voilà l'un des rôles du bit de stop.
  • Par ailleurs, le fonctionnement de la machine réceptrice exige un certain temps de fonctionnement pour mémoriser le mot de données arrivé, calculer sa parité, prévenir le logiciel de réception etc.
    Voilà une deuxième vocation du bit de stop.
    Dans certains cas, fréquents dans le passé où les machines étaient lentes, on avait le choix de la durée du bit de stop : 1ou 2 temps "T", on disait : 1 stop ou 2 stops.
    Actuellement certains liaison se font avec 0,5 stop.


    
Suite : Liaison RS 232
Suite : Liaison RS 232

 
Sommaire
du Site