Interfaces

 

I : Notion d’interfaçage *

II : Transmission série de l’information *

  • II.1 : Transmission série synchrone *

    II.2 : Transmission série asynchrone *

    II.3 : Synoptique d’un ensemble de transmission *

    II.4 : Standard RS-232 C (EIA) *

    II.4.a : Aspect électrique *

    II.4.b : Aspect fonctionnel *

    II.5 : Protocoles de transmission *

    II.5.a : Vitesse de transmission *

    II.5.b : Nombre de bits de données *

    II.5.c : Nombre de bits de Stop *

    II.5.d : Bits de vérification *

    II.5.e : Contrôle de la transmission *

    II.6 : Modes de fonctionnement *

    II.8 : Exemples de liaisons série *

    II.9 : MODEM *

    II.9.a : Modulation d’amplitude (AM ou ASK) *

    II.9.b : Modulation de fréquence (FM, FSK) *

    II.9.c : Autres modes *

  • III : Liaison Parallèle *

  • III.1 Norme Centronics *

    III.2 : Liaisons parallèles étendues *

  •  

    I : Notion d’interfaçage

    Les différents composants d’un système informatique, s’ils utilisent tous le même codage des informations (en binaire) ont besoin d’échanger entre eux un certain nombre d’informations. Leurs différences de nature ne permet pas de les relier directement (au bus de données du système par exemple). On a pour cela besoin d’un circuit spécial appelé interface, qui met en forme les informations venant d’un circuit pour un autre.

    En fonction de la nature des informations échangées et/ou de la nature des circuits de traitement, les interfaces seront très différentes.

    Toutes reposent pourtant sur le principe de transmission des informations sous forme de mots binaires, de n bits.

    Il y a deux moyens de transmettre un mot de n bits : soit les bits sont tous transmis à la fois (liaison parallèle) soit un après l’autre (liaison série).

     

    II : Transmission série de l’information

    Les bits constituant l’information à transmettre sont émis successivement, l’un après l’autre. Il peut y avoir, en plus des bits d’information, des bits de contrôle entrelacés. On commence toujours par le bit de poids le plus faible.

    Ex : code ASCII (7 bits)

    Le mot à transmettre est 1001111 , les bits transmis sont 1, 1, 1, 1, 0 , 0 ,1.

    Pour transmettre en série des informations, il y a deux modes : synchrone et asynchrone.

     

    II.1 : Transmission série synchrone

    On transmet, en plus de l’information, une ligne spéciale appelée horloge, qui synchronise la transmission. A l’émission les bits sont transmis sur le front descendant de l’horloge.

    Aucun bit de contrôle n’est rajouté à l’information. La synchronisation se passe au niveau du bit.

     

     

     

    exemple de transmission synchrone du caractère ASCII %111 1001 ( y )

     

    A la réception les bits sont reçus sur le front montant.

    Ce mode permet de transmettre des informations rapides, sans trop de risque de pertes, mais on doit transmettre deux lignes : l’information et l’horloge. Sur de grandes distances, ce peut être trop coûteux.

     

    II.2 : Transmission série asynchrone

    On ne transmet pas de signal d’horloge. Pour permettre à l’émetteur et au récepteur d’être bien synchronisé, on transmet des blocs de longueur constante, en ajoutant à l’information des bits de contrôle et de synchronisation.

    La synchronisation se passe au niveau du mot. Un bloc d’informations est précédé par un bit de départ (Start, toujours à 0) et suivi par un (ou plusieurs) bit(s) d’arrêt (Stop, toujours à 1).

    Afin d’éviter les erreurs de synchronisation, les horloges des deux parties (l’émetteur et le récepteur) doivent être très précises, et de vitesse pratiquement égale. Pour éviter une dé-synchronisation à long terme, la taille du mot encadré des bits START et STOP est toujours fixée faible (7 ou 8 bits).

    On doit bien sur limiter la vitesse de transmission afin d’éviter les erreurs de synchronisation. Ce mode de transmission est très économique, puisqu’une seule ligne d’information est nécessaire. Ce mode est adapté aux distances longues et aux transmissions ne demandant pas une vitesse trop grande.

     

    II.3 : Synoptique d’un ensemble de transmission

    Dans une transmission, il y a (au moins) deux circuits entrant en jeu.

    Les deux équipement terminaux de traitement de données qui ont des informations à échanger.

    Les deux circuits permettant de réaliser l’interface entre les terminaux.

    ETTD : Equipement Terminal de Traitement de Données (ordinateur, imprimante, clavier,....)

    ETCD : Equipement Terminal de Circuits de Données (modem...)

    On peut, dans le cas de systèmes proches (qq mètres), court-circuiter les ETCD.

    Deux équipements ETTD peuvent communiquer entre eux par l’intermédiaire du circuit de données, ce qui nécessite une normalisation du dialogue, à tous les niveaux (électrique, fonctionnelle, ...)

    Dans le cas des liaisons série, il existe plusieurs normes de transmission. Nous allons voir la plus commune, le RS-232.

     

    II.4 : Standard RS-232 C (EIA)

    Le standard RS-232 définit deux aspects d’une liaison série asynchrone : électrique et fonctionnel.

     

    II.4.a : Aspect électrique

    La norme définit les valeurs suivantes pour les tensions électriques :

    Pour l’émetteur :

    Le bit 0 doit être transmis par une tension électrique comprise entre +5 et +15V.

    Le bit 1 doit être transmis par une tension électrique comprise entre –5 et –15V.

    Les niveaux classiques utilisés sont +12V et –12V.

    Pour le récepteur :

    La tension maximale admissible sans dégats est de +/- 25V.

    La tension minimale (seuil) détectable est de +/- 3V.

    La définition de ces tensions permet une assez bonne immunité au bruit, et un risque de transformation de bits (0à 1 ou 1à 0) assez faible.

     

    II.4.b : Aspect fonctionnel

    La norme définit comment doit être constituée la jonction ; en pratique elle n’impose pas de connecteur mais demande de ne pas dépasser 52 broches (en fait très peu sont utilisées). En général on utilise un connecteur DB à 25 ou 9 broches.

    La jonction doit comporter les lignes suivantes :

    TXD : ligne de transmission de données

    RXD : ligne de réception de données

    GND : masse commune

    A ces lignes peuvent s’ajouter des lignes de contrôle (CTS, RTS, DSR, TSR, DCD...).

    La norme RS232 ne définit pas les protocoles de transmission.

     

    II.5 : Protocoles de transmission

    Dans une transmission asynchrone, les deux ETTD (par l’intermédiaire éventuel des ETCD) doivent " parler "  le même " langage " afin de se comprendre mutuellement. On appelle cela un protocole de transmission.

    Le protocole définit notamment :

     

    II.5.a : Vitesse de transmission

    Appelée également débit, la vitesse s’exprime en bits/seconde (bauds). Pour des raisons électriques, avec une liaison RS232 les débits " classiques " sont compris entre 1200 et 9600 bauds. Quelques " astuces " (compression notamment, codage non binaire...) permettent de monter à 57600 bauds.

     

    II.5.b : Nombre de bits de données

    En RS232, ce nombre est généralement de 7 (codage ASCII) ou 8 (octet) bits. Le nombre ne peut pas être très grand, en raison des problèmes de synchronisme entre les deux terminaux.

     

    II.5.c : Nombre de bits de Stop

    Le nombre est compris entre 1 et 2. Un compris doit être fait entre la sûreté de la transmission, qui impose un grand nombre de bits de contrôle, et la durée de celle-ci, qui imposerait de réduire ce nombre au minimum.

    On voit souvent ce nombre porté à 1,5. Il ne s’agit pas bien sûr d’un ½ bit, mais d’une durée de transmission d’un bit de stop 1,5 fois plus longue. Cette " ½ période " permet une bonne synchronisation des ETTD.

     

    II.5.d : Bits de vérification

    La ligne de transmission s’allongeant, des erreurs de transmission sont inévitables. Il est très important pour le récepteur de savoir que la transmission est mauvaise, afin de re-demander à l’émetteur l’émission de l’information erronée. Pour cela, l’émetteur rajoute aux bits de données un bit dit de parité, qui permet d’effectuer un contrôle simple et rapide sur la transmission.

    Il y a deux types de parité : la parité paire et impaire.

    En parité paire, la somme des bits du mot à transmettre plus le bit de parité doit être paire (0). On fixe donc la valeur du bit pour respecter ceci. (respectivement impair)

    Ce contrôle permet de détecter s’il y a eu une erreur dans la transmission d’un bit. Par contre, si deux bits ont été mal transmis, le contrôle ne peut le détecter.

    Exemple : transmission en 7 bits, 2 bits de stop, 1 bit de parité paire de ‘A’ (100 0001)

    START 1 0 0 0 0 0 1 PAIR STOP STOP

    Mais lors de la transmission, il y a erreur sur un des bits, et l’émetteur reçoit ceci :

    START 1 0 0 1 0 0 1 PAIR STOP STOP

    Il fait la somme (1+0+0+1+0+0+1+0) et obtient 1. Cette somme est bien sur impaire. Or nous sommes en parité paire, le récepteur sait donc qu’il y a eu erreur sur l’un des bits (mais il ne peut pas savoir lequel), il redemande donc à l’émetteur l’émission de ce mot.

     

    II.5.e : Contrôle de la transmission

    L’émetteur doit attendre pour émettre que le récepteur soit prêt. Pour cela, il doit bien sûr savoir si le recepteur peut recevoir des données. Il faut donc un contrôle de la transmission, pour éviter que l’émetteur envoie des données " dans le vide ".

    Le contrôle peut être materiel, à l’aide de lignes spéciales, RTS et CTS. (Ready To Send, Clear To Send). Cette solution est rapide, pratique, mais elle oblige à avoir deux lignes supplémentaires. En cas de liaisons courtes, c’est ce qui est employé.

    Le contrôle peut être logiciel. Lorsque le récepteur est prêt à recevoir des données sur sa ligne de réception RTX, il envoie un code de contrôle appelé XON (code ASCII $11) sur sa ligne TXD. Lorsqu’il ne peut plus recevoir de données, il envoie le code XOFF (code ASCII $13).

    Ce mode est économe, puisqu’une seule ligne de transmission est nécessaire, mais par contre il est plus lent.

     

    II.6 : Modes de fonctionnement

     

     

    II.8 : Exemples de liaisons série

     

    Liaison NUL-MODEM entre deux terminaux (deux PC, un PC une console...)

     

     

    Liaison NUL-MODEM simple (PC-console par ex...)

     

     

    II.9 : MODEM

    Un MODEM est un périphérique permettant de MODuler et de DEModuler un signal.

    Un MODEM est un ETCD permettant de passer d’un signal numérique (transmis par liaison série) à un signal analogique, transmis sur une seule ligne (par ex, ligne téléphonique ou liaison radio).

    Il existe plusieurs types de modulation.

     

    II.9.a : Modulation d’amplitude (AM ou ASK)

    Dans ce mode, le signal analogique transmis est à une fréquence fixe, appelée porteuse. (pour un ligne téléphonique, elle doit être comprise entre 400 Hz et 4kHz) Un zéro est représenté par une faible amplitude du signal, alors qu’un 1 est représenté par une amplitude forte. Ce mode est très simple à mettre en oeuvre mais il est très sensible au bruit, qui risque de masquer le ‘0’.

     

     

    II.9.b : Modulation de fréquence (FM, FSK)

    Dans ce mode on représente un ‘0’ par une certaine fréquence, et un ‘1’ par une autre, très différente (ex : le double). Pour une transmission par ligne téléphonique (ou un enregistrement sur K7) les fréquences utilisées sont 1200 et 2400 Hz par exemple. Il y a une meilleure immunité au bruit. La fréquence maximale de transmission est limitée par la fréquence qui code le ‘1’.

     

    II.9.c : Autres modes

    Il existe d’autres modes de modulation, notamment la modulation de phase (PSK), ainsi que des modes combinant modulation de fréquence, amplitude et phase. Pour augmenter encore la vitesse de transmission, on peut coder 2 bits à la fois : associer par exemple une fréquence à 00, une à 01, une à 10 et une à 11. C’est par un principe de ce type qu’on peut atteindre 56000 bauds sur une ligne téléphonique permettant en fait 9600 bauds seulement.

     

     

    III : Liaison Parallèle

    Pour de très courtes distances ou lorsque la vitesse de transmission est primordiale, on utilise une liaison de type parallèle, où tous les bits du mot sont transmis en même temps.

    Comme pour une liaison série, il faut des normes électriques et fonctionnelles, ainsi qu’un protocole de communication afin que les deux circuits puissent échanger des informations correctement.

    La liaison parallèle étant surtout utilisée avec les imprimantes, nous allons étudier ici la norme utilisée par celles-ci.

    Cette liaison ayant été introduite par le fabricant CENTRONIC, la liaison est souvent appelée liaison CENTRONICS.

     

    III.1 Norme Centronics

    On transmet des octets (8 bits), donc il faut 8 lignes de données.

    La norme définit les niveaux des tensions électriques comme répondant à la norme TTL (0V pour zéro, 5V pour un).

    Il existe en plus des lignes de données des lignes de contrôle permettant de gérer les échanges de données.

    La liaison est unidirectionnelle, les lignes de données ne fonctionnent que dans un seul sens, de l’ordinateur vers l’imprimante. C’est un mode simplex.

    Les lignes de contrôle sont les suivantes :

    Il peut y avoir d’autres signaux, notamment pour signaler une erreur (/ERROR), un manque de papier (PE)...

    Le protocole de communication est le suivant :

    Ce protocole est dit " handshake " (poignée de mains). Cette transmission est synchronisée par STROBE, BUSY et ACK.

    Nous verrons plus en détail en TP le fonctionnement d’une liaison avec une imprimante parallèle.

     

    III.2 : Liaisons parallèles étendues

    Il existe actuellement des liaisons parallèles étendues, respectant encore la norme Centronics par souci de compatibilité, mais permettant l’échange de données dans les deux sens (en général par half duplex pour limiter le nombre de lignes). L’imprimante peut donc mieux transmettre son état à l’ordinateur (autrement que par ERROR, BUSY ou PE) et on peut même relier d’autres périphériques, comme des mémoires de masse lentes (ZIP, lecteur et graveur CD...) ou d’acquisition (caméra, scanners...).

    Seule une légère modification du circuit de gestion est en général nécessaire. La vitesse est encore très limitée (300 à 500 kO/s), mais cela permet d’utiliser une liaison peu coûteuse et simple à mettre en oeuvre.