Interfaces
I : Notion dinterfaçage *
II : Transmission série de linformation *
II.2 : Transmission série asynchrone *
II.3 : Synoptique dun 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 damplitude (AM ou ASK) *
II.9.b : Modulation de fréquence (FM, FSK) *
II.9.c : Autres modes *
III : Liaison Parallèle *
III.2 : Liaisons parallèles étendues *
Les différents composants dun système informatique, sils utilisent tous le même codage des informations (en binaire) ont besoin déchanger entre eux un certain nombre dinformations. 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 dun circuit spécial appelé interface, qui met en forme les informations venant dun 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 lautre (liaison série).
II : Transmission série de linformation
Les bits constituant linformation à transmettre sont émis successivement, lun après lautre. Il peut y avoir, en plus des bits dinformation, 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 linformation, une ligne spéciale appelée horloge, qui synchronise la transmission. A lémission les bits sont transmis sur le front descendant de lhorloge.
Aucun bit de contrôle nest rajouté à linformation. 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 : linformation et lhorloge. Sur de grandes distances, ce peut être trop coûteux.
II.2 : Transmission série asynchrone
On ne transmet pas de signal dhorloge. Pour permettre à lémetteur et au récepteur dêtre bien synchronisé, on transmet des blocs de longueur constante, en ajoutant à linformation des bits de contrôle et de synchronisation.
La synchronisation se passe au niveau du mot. Un bloc dinformations est précédé par un bit de départ (Start, toujours à 0) et suivi par un (ou plusieurs) bit(s) darrê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, puisquune seule ligne dinformation est nécessaire. Ce mode est adapté aux distances longues et aux transmissions ne demandant pas une vitesse trop grande.
II.3 : Synoptique dun 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 linterface 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 lintermé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 dune liaison série asynchrone : électrique et fonctionnel.
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.
La norme définit comment doit être constituée la jonction ; en pratique elle nimpose 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 sajouter 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 lintermé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 sexprime 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 sagit pas bien sûr dun ½ bit, mais dune durée de transmission dun bit de stop 1,5 fois plus longue. Cette " ½ période " permet une bonne synchronisation des ETTD.
La ligne de transmission sallongeant, 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 linformation erronée. Pour cela, lémetteur rajoute aux bits de données un bit dit de parité, qui permet deffectuer 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 sil y a eu une erreur dans la transmission dun 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 quil y a eu erreur sur lun 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, à laide 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, cest 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. Lorsquil ne peut plus recevoir de données, il envoie le code XOFF (code ASCII $13).
Ce mode est économe, puisquune 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...)
Un MODEM est un périphérique permettant de MODuler et de DEModuler un signal.
Un MODEM est un ETCD permettant de passer dun 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 damplitude (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 quun 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.
Il existe dautres 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. Cest par un principe de ce type quon peut atteindre 56000 bauds sur une ligne téléphonique permettant en fait 9600 bauds seulement.
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 quun 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.
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 lordinateur vers limprimante. Cest un mode simplex.
Les lignes de contrôle sont les suivantes :
Il peut y avoir dautres 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 dune 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). Limprimante peut donc mieux transmettre son état à lordinateur (autrement que par ERROR, BUSY ou PE) et on peut même relier dautres périphériques, comme des mémoires de masse lentes (ZIP, lecteur et graveur CD...) ou dacquisition (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 dutiliser une liaison peu coûteuse et simple à mettre en oeuvre.