WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

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
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

III-2-3- Élaboration d'un câble null-modem 

D'après le schéma usuel, la transmission ne peut se faire que dans un seul sens (l'interface parallèle est utilisée principalement pour communiquer avec l'imprimante). L'émetteur ne peut pas recevoir des données sur les lignes D0 - D7. Il faut alors établir une liaison bidirectionnelle pour que les données circulent dans les deux sens librement.

On utilise à cette fin les différentes lignes d'état qui véhiculent habituellement des informations d'état en provenance de l'imprimante.

Figure I-7 : Schéma de câblage du câble null-modem

III-2-4-Protocole de transmission utilisé 

Le câble null-modem présenté dans la figure I-7 permet d'envoyer simultanément (dans les deux sens) cinq bits par lignes de données D0 - D4 dans chaque direction. Cependant il faut réserver une ligne qui sert pour rythmer la communication. L'un des cinq lignes va être sacrifié à cette fin (le bit). Nous présentons à la suite le protocole que nous allons utiliser pour le transfert d'un octet.

III-2-5-Transmission d'un octet 

Du coté émetteur, l'octet doit être divisé en deux quartets pour être transféré. Donc, le récepteur charge les bits de faible poids (de 0 à 3) dans les bits 0 à 3 du premier registre et met le cinquième (D4) à 0 pour que le récepteur reçoive la valeur 1 sur la ligne BUSY.

Du coté récepteur, le programme doit interroger en permanence la ligne jusqu'à ce qu'elle monte à 1 pour transformer le contenu de deuxième registre dans une variable. Ce contenu, ainsi lu, est renvoyé à l'émetteur par les lignes de données. Le bit de la ligne D4 est ensuite mis à 0 pour que l'émetteur trouve sa ligne à 1. Ce dernier va lire alors le quartet et peut le comparer au quartet envoyé. C'est une vérification au plus bas niveau.

Le même principe est répété pour la transmission du second quartet de poids fort. Et il ne reste que la concaténation de deux quartets pour obtenir l'octet. L'émetteur relie le deuxième quartet renvoyé pour contrôle, le concatène au second et teste s'il y a conformité avec l'original. En cas d'erreur, Une erreur est transmise au programme appelant pour décider ce qui est de mieux.

III-3- l'environnement turbo C 

Les applications industrielles informatisées sont de plus en plus développées et doivent traiter les informations et exécuter les instructions de plus en plus vite. Pour palier à ces contraintes, il faut donc mettre en oeuvre de nouveaux concepts intégrant des caractéristiques spécifiques au temps réel.

Les applications temps réel font appel à un environnement de plus en plus complexe pour des raisons de coût et d'efficacité. Durant cette étude, nous utilisons l'environnement Turbo C.

Turbo C est un langage de programmation très utilisé en milieu industriel mais peu convivial dans l'ingénierie industrielle.

Les deux instructions assembleur permettant au processeur de communiquer avec les interfaces d'E/S sont IN et OUT.

Il est possible d'accéder simplement à ces instructions en langage C, grâce aux fonctions inportb (adr) et outportb (adr).

· Unsigned char inportb (int address) : lit un octet à l'adresse (de l'espace d'E/S) indiquée et la retourne.

· Void outportb (int address, unsigned char *data) : écrit l'octet (argument data) à l'adresse (E/S) indiquée.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Soit réservé sans ostentation pour éviter de t'attirer l'incompréhension haineuse des ignorants"   Pythagore