Mise au point d'applications en temps réel: Communication entre deux ordinateurs( Télécharger le fichier original )par turki ladhem&rebaï rami Université arabe des sciences - Diplôme Universitaire de Technologie 2007 |
III- L'ANALYSE DU CAHIER DES CHARGESAfin d'assurer la communication entre deux ordinateurs, on a besoin de deux ordinateurs, d'un câble permettant d'assurer la communication entre ces deux PC tels que le câble série RS232 ou un câble parallèle et d'un environnement turbo C. III-1- Port série RS232 III-1-1- Définition du port série RS232Chaque ordinateur possède deux ports série. Ils prennent la forme de deux connecteurs mâles à 9 broches (pour les PC un peu plus anciens, un des deux possède 25 broches), nommés en standard COM1 et COM2. A l'origine, le port série était destiné à être connecté à un modem, c'est de là que le nom des broches est tiré. En effet, seulement trois broches sont nécessaires pour communiquer avec un périphérique (TxD, RxD et la masse), les autres broches n'étant que des signaux de contrôle et d'état. Le port série est très bien protégé contre les courts-circuits (avec une intensité de 20mA) et les broches sont limitées en courant. Ainsi, il est tout à fait possible d'alimenter un petit montage électronique (par exemple les souris séries sont alimentées par la ligne RTS). Mais, il est quand même préférable d'avoir recours à une alimentation externe. Machine A Machine B Erreur ! Source du renvoi introuvable. Figure I-2 : Liaison série III-1-2- Le protocole RS232C'est par cette norme qu'il est possible de relier deux ordinateurs (la connexion directe par câble sous Windows), ou encore de communiquer avec un modem ou imprimante. Ce protocole est dit full duplex car il peut transmettre des données et en recevoir en même temps, via les lignes RxD et TxD. Il est tout à fait possible de n'utiliser que ces deux bornes en plus de la masse (pour la référence), en veillant bien sûr à relier la borne TxD du premier ordinateur à la broche RxD du second et vice versa. Le contrôle du flux de données sera alors totalement logiciel car les bornes annexes du port ne sont pas utilisées. Le mode de communication dit Xon/Xoff est très répandu (avec les imprimantes séries par exemple) et permet de contrôler l'écoulement des données en fixant dans la mémoire deux limites, haute et basse.
Figure I-3 : Schéma du câblage III-1-3- L'interface d'E/S séries 8250Le composant électronique chargé de la gestion des transmissions séries asynchrones dans les PC est appelé UART (Universal Asynchronous Receiver/Transmitter), qui a pour fonction de sérialiser les caractères partant sur la ligne et mettre dans un registre en lecture les caractères arrivant par cette ligne. Lorsqu'un caractère est transmis sur la ligne RS232 ou lorsqu'un nouveau caractère est reçu, le circuit UART est capable d'engendrer une interruption. Un pilote RS232 comprend une routine d'interruption capable de stoker un caractère arrivé sur la ligne dans un tampon circulaire, accessible par l'application. [3]
HORLOGUE Erreur ! Source du renvoi introuvable. Figure I-4 : Bornes du circuit UART 8250 III-1-4- Les registres de configuration Le port série possède un certain nombre de registres. Ces registres sont situés dans un composant nommé UART (Universal Asynchronous Receiver/Transmitter), qui gère totalement le port série et se situe sur la carte mère. Le port série est une vieille technologie, et à l'époque, la mémoire était rare et le moindre petit gain était apprécié. Chaque port série possède une adresse de base qui est généralement 0x3F8 pour le COM1 et 0x2F8 pour le COM2. Les registres sont accessibles via un offset par rapport à cette adresse de base, ce qui est représenté dans le tableau I-1. Les caractéristiques des registres sont : · Registre THR C'est le registre d'émission. Il est chargé par le MPU en exécutant l'instruction OUT THR, AL. (Où THR est une constant initialisée avec l'adresse du registre THR). Le contenu de THR est automatiquement copié par l'interface dans le registre à décalage d'émission, qui permettra la sortie en série des bits sur la sortie SOUT. · Registre RBR C'est le registre de réception. Les bits qui arrivent en série sur la borne SIN du circuit entrent dans un registre à décalage. Lorsque ce dernier est complet, il est transféré dans RBR. Le MPU peut lire le contenu de RBR avec l'instruction : IN AL, RBR. A noter que si un deuxième octet arrive avant que RBR n'ait été lu par le MPU, il remplace RBR : on perd le premier arrivé, c'est l'erreur d'écrasement 26.
Tableau I-1 : Les registres de configuration · Registre LCR (Line Control Register) Ce registre de commande permet de définir certains paramètres de la transmission, en fonction de sa configuration binaire. Bits 0 et 1 : spécifient le nombre de bits de la donnée à transmettre (caractères de 5, 6, 7 ou 8 bits) :
Tableau I-2 : Nombre de bits de la donnée à transmettre Bit 2 : spécifie le nombre de bits STOP (s'il vaut 0 on a 1 bit de stop et s'il vaut 1 on a 2 bit de stops). Bit 3 : spécifie la présence (si 1) ou l'absence (si 0) d'un bit de contrôle d'erreur (type bit de parité). Bit 4 : s'il y a un bit de contrôle d'erreur, le bit 4 spécifie s'il s'agit d'un bit de parité paire (si 1) ou impaire (si 0). Bit 5 : normalement à 0. Bit 6 : normalement à 0. Bit 7 : bit DLAB, permettant l'accès aux registres DLL et DLM dans la phase d'initialisation de l'interface. · Registre IER Ce registre est utilisé pour les entrées/sorties par interruption. Bit 0 : interruption lorsque donnée reçue dans RBR. Bit 1 : interruption lorsque registre THR vide. Bit 2 : interruption lorsque l'un des 4 bits de poids faible de LSR passe à 1. Bit 3 : interruption sur état du modem. · Registre LSR Ce registre d'état rend compte du fonctionnement de la liaison en réception (bits 0 à 4) et en émission (bits 5 et 6). Bit 0 : passe à 1 lorsqu'une donnée a été reçue et chargée dans RBR. Bit 1 : signale erreur d'écrasement. 1 si donnée reçue et chargée dans RBR alors que la précédente n'avait pas été lue. Remis automatiquement à 0 par la lecture du registre LSR. Bit 2 : passe à 1 à la suite d'une erreur de parité. Remis à 0 par la lecture de LSR. Bit 3 : passe à 1 lorsque le niveau du bit STOP n'est pas valide (erreur de format). Remis à 0 par la lecture de LSR. Bit 4 : passe à 1 lorsque le niveau de la liaison est resté à 0 pendant la durée d'émission de la donnée (problème de l'émetteur). Remis à 0 par la lecture de LSR. Bit 5 : passe à 1 lorsqu'une donnée est transférée de THR vers le registre à décalage d'émission (THR est alors libre pour le caractère suivant). Bit 6 : passe à 1 lorsque le registre à décalage d'émission est vide. · Registre IIR IIR est utilisé pour les E/S par interruption. Son contenu permet d'identifier la cause de l'interruption émise par l'interface 8250. · Registre MCR MCR est le registre de commande du modem. Bit 0 : commande le niveau de la borne DTR qui informe le modem que le MPU est prêt à communiquer. Bit 1 : commande la borne RTS qui demande au modem d'émettre. · Registre MSR MSR est le registre d'état du fonctionnement du modem. [2] |
|