Vous êtes sur la page 1sur 9

BURKINA FASO

-------------------
Ministère de L’Enseignement Supérieur de la Recherche Scientifique et
de l’Innovation
-------------------
Secrétariat Général
-------------------
UNIVERSITE NAZI BONI DE BOBO DIOULASSO
-------------------

Institut Universitaire de Technologie


-------------------
Département de Génie Electrique

-------------------
Deuxième année d’ingéniorat

Module : Réseaux Locaux et Industriels

TRAVAUX PRATIQUE 1

MESURE SUR LA LIAISON RS232

Présenté par OUATTARA Abdoul Kader et ZANGRE Omar

Enseignant : Dr Michel KAM

Année académique : 2022 – 2023


Introduction
Le protocole RS232 est un mode de communication série, ce qui signifie que les données
sont acheminées les unes à la suite des autres sur une même broche du microcontrôleur. Il
est aussi asynchrone ce qui signifie qu’il n’existe pas de signal d’horloge commun partagé
par l’émetteur et le récepteur d’où la nécessité de régler l’émetteur et le récepteur à une
même fréquence de transmission. Dans ce TP nous mettrons en œuvre le fonctionnement
du protocole RS232 à travers l’étude théorique et pratique.

But
Le but de ce TP est d’établir une communication liaison série entre deux Arduino, l’un
configurer en émetteur et l’autre en récepteur. L’émetteur étant configuré de sorte à envoyer
un message ou signal à destination du récepteur. L’objectif pour nous dans ce TP est donc
de vérifier si le message émis sera fidèlement reçu. Pour cela nous utiliserons en plus des
deux cartes Arduino, un oscilloscope qui nous permettra de visualiser le transit du signal
entre émetteur récepteur afin de le comparer à celui envoyer et d’en tirer une conclusion.

a. Partie théorique
✓ Donnons le rôle des broches suivantes :
Broche Rx : c’est la broche d’entrée pour la réception des données séries. Elle est utilisée
pour recevoir les données.
Broche Tx : c’est la broche de transmission des données séries. Elle est utilisée pour
transmettre des données.

✓ Le code de transmit en binaire des caractères à envoyer est


Caractères M W

Code binaire 10110010 11101010

Le code transmit en binaire des caractères à envoyer sera l’inverse du code ASCII en binaire
c’est-à-dire que le code transmit en binaire à envoyer commencera par son bit de poids
faible et terminera par son bit de poids fort.
Le code ASCII du caractère M est 77 en décimal ce qui correspond en binaire 01001101
donc le code transmit du caractère M à envoyer sera 10110010.
Le code ASCII du caractère W est 87 en décimal ce qui correspond en binaire 01010111
donc le code transmit du caractère W à envoyer sera 11101010.
✓ Choisissons une vitesse de transmission des données
Les fréquences de transmission autorisées sont précisées par la norme RS232. On utilise
habituellement des liaisons à 300, 1200, 4800, 9600 et 19200 Bauds. Nous avons décidé
de choisir une vitesse de transmission de 9600 Bauds

✓ Traçons les chronogrammes des trames de chaque caractère à envoyer.

Nous avons utilisé le logiciel Paint pour réaliser nos chronogrammes.

b. Mesures
Présentation du matériel utilisé
La carte Arduino UNO
La carte Arduino repose sur un microcontrôleur de type ATMEL de référence ATMega328
et des composants électroniques complémentaires associée à des entrées et sorties qui
permettent à l'utilisateur de brancher différents types d'éléments externes. Le
microcontrôleur programmé peut analyser et produire des signaux électriques de manière
à effectuer des tâches très diverses. Arduino est utilisé dans beaucoup d'applications
comme l'électronique industrielle et embarquée, pilotage d'un robot, commande des
moteurs et faire des jeux de lumières, communiquer avec l'ordinateur, commander des
appareils mobiles. Chaque module d’Arduino possède un régulateur de tension +5 V et un
oscillateur à quartez 16 MHz. Pour programmer cette carte, on utilise le logiciel IDE Arduino.
Tinkercad
Il s’agit d’une solution de CAO (conception assistée par ordinateur) conçu pour le secteur
de l’éducation qui permet de créer des conceptions en 3D et des simulations électroniques
à l’aide d’outils de codage ou de conception intégrés.

✓ Proposition de schéma de câblage


Pour pouvoir envoyer des trames d’un Arduino A (émetteur) vers un Arduino B (récepteur),
il faut dans un premier temps relier le Rx de l’émetteur à Tx du récepteur et vice versa et
enfin relier les GND des deux cartes ensemble. Pour pouvoir visualiser les trames envoyer,
il juste de relier la broche positive de l’oscilloscope à Tx de l’émetteur et la broche négative
à la masse (GND).
L’oscilloscope permet de visualiser les trames envoyées ce qui permettra de décoder les
données et de les comparer avec le chronogramme tracé au niveau de l’étude théorique.
Ce montage a été réalisé sur le simulateur Tinkercad
✓ Programmation des microcontrôleurs
Déroulement du programme

Programme des deux Arduino

void setup() {
void setup() {
Serial.begin(9600);
Serial.begin(9600);
}
}
void loop() {
Serial.write('M');
void loop() {
//Serial.write('W');
delay(20);
}
}

Code Récepteur Code Emetteur

✓ Nous avons réglé la vitesse de balayage de l’oscilloscope à 300 s.


Pour avoir une vitesse de balayage adéquate de l’oscilloscope, nous calculons le temps de
l’horloge puis le multiplions au minimum par 2.
𝟏 𝟏
𝑻𝑪𝑳𝑲 = = = 𝟏𝟎𝟒, 𝟏𝟕
𝒇𝑪𝑳𝑲 𝟗𝟔𝟎𝟎

𝑻𝑪𝑳𝑲 = 𝟏𝟎𝟒, 𝟏𝟕𝝁𝒔


Alors la vitesse de balayage minimum est 𝟐 × 𝟏𝟎𝟒, 𝟏𝟕 𝝁𝒔 = 𝟐𝟎𝟖, 𝟑𝟒 𝝁𝒔. Nous avons choisi
de prendre 𝟑𝟎𝟎 𝝁𝒔 pour pouvoir bien observer la trame.

✓ Copies des trames

✓ Déterminons les états logiques correspondants à chaque niveau de tension


Un niveau logique 0 est représenté par une tension de +𝟑 𝐕 à +𝟐𝟓 𝐕 et un niveau 1 par une
tension de −𝟑 𝐕 à −𝟐𝟓 𝐕 (codage NRZ). D’ordinaire, des niveaux de +𝟏𝟐 𝐕 et −𝟏𝟐 𝐕 sont
utilisés.
On a aussi, pour les circuits TTL :
Un 1 logique correspond à 5V et un 0 logique correspond à 0V
✓ Repérerons sur chaque trame, le bit de start, les bits de données, le bit de poids faible
(LSB), le bit de poids fort (MSB), le bits de stop.

✓ Donnons les codes transmis en binaire et retrouver le code ASCII ainsi que le caractère
envoyé.
Caractères M W

Code binaire 10110010 1110101

77 (Deci) 87 (Deci)
Code ASCII
4D (Hex) 57 (Hex)

Pour retrouver le code ASCII ainsi que le caractère envoyé, il faut inverser le code binaire
transmit de la trame observée à l’oscilloscope et le convertir en décimal ou en hexadécimal
et se référer au table ASCII donner en annexe du travaux pratique pour avoir la
correspondance avec le caractère.

✓ Comparaisons des deux courbes et interprétation


A l’observation, les chronogrammes théoriques et ceux visualiser à l’oscilloscope, nous
pouvons affirmer que ses deux chronogrammes sont identiques. Ce qui nous amène à
conclure que les messages transmis ont été parfaitement reçu sans aucune interférence (ni
d’ajoute de bit, ni de retrait de bit).
Interprétation
Les chronogrammes de M et W obtenus traduit que les caractères M et W sont d’abord
convertis de leur code ASCII en binaire de manière automatique au sein du microcontrôleur
de l’Arduino maître avant d’être envoyé à travers la broche Tx à l’Arduino esclave. On peut
aussi ajouter que le code binaire reçu par l’Arduino esclave à travers sa broche Rx est
l’inverse du code initial envoyé.
Pendant qu’aucune trame n’est transmise, la broche Tx est au niveau logique haut (1
logique). Une trame envoyée à travers la liaison séries RS232 commence toujours par un
bit de départ (start) de niveau bas (0 logique) afin d’annoncer le début d’une trame. Le bit
de départ est suivi d’une succession de 8 bits qui constituent la trame proprement dite.
Dans ce cas, ces 8 bits sont, en tenant compte du fait que la trame débute par le bit de
poids faible (LSB) et se termine par le bit de poids fort (MSB) :
Pour le caractère W : 11101010 ;
Pour le caractère M : 10110010.
La trame se termine par un bit de fin (stop) de niveau logique haut qui indique au récepteur
la fin de transmission de la donnée. La broche demeure ensuite au niveau logique haut
jusqu’à l’émission de la prochaine trame.

Conclusion
Nous avons réalisé le montage permettant la communication liaison série RS232 entre deux
cartes Arduino (une émettrice et l’autre réceptrice) sur l’environnement de simulation
Tinkercad. A travers l’oscilloscope, nous avons pu visualiser l’échange de données entre
ces cartes. L’analyse et la comparaison de ces données par rapport à celles obtenues
théoriquement montre une parfaite similitude ce qui nous permet de dire que l’information
émise a été fidèlement transmise par la liaison établit.
Nous pouvons ainsi affirmer que l’objectif visé par ce TP est atteint car nous avons pu
envoyer des trames et les observer à l’oscilloscope. Ce TP nous a permis également de
comprendre le fonctionnement de la liaison RS232. Dans ce type de liaison deux fils (Tx et
Rx) permettent de transmettre des trames. Il ne peut y avoir qu’un seul maître dans la liaison
RS232. Pour configurer deux périphériques maître-esclave pour qu’il puisse de
communiquer, il faut relier le Tx du maître au Rx de l’esclave et vice-versa et les masses
ensemble. La transmission se fait point à point.

Vous aimerez peut-être aussi