SCIENCES DE L'INGENIEUR

Niveau : Première générale, enseignement de spécialité SI

 

D
É
C
O
N
N
E
C
T
É

Décoder un mot mystère

1. Problématique

Comment décodez un message transmis avec le protocole RS-232 à l'aide d'un oscilloscope

2. Matériel à votre disposition

Vous disposez :

  • d’un ordinateur,
  • d’une carte Arduino,
  • d’un oscilloscope.

3. Principe

Le microcontrôleur Arduino est connecté à l'ordinateur par l'intermédiaire du port USB qui vont communiquer entre eux en utilisant le protocole RS-232.

Ils doivent tous les deux avoir le même débit et la même configuration de trame pour se comprendre.

Si le microcontrôleur reçoit un mot ou un octet sur sa broche Rx de l’ordinateur, il envoie sur sa broche D2 le mot mystère stocké dans sa mémoire. Il envoie en plus un message sur sa broche Tx vers l’ordinateur, pour indiquer si le mot mystère a bien été décodé.

4. Objectif :

Mettre en œuvre un protocole de mesure pour décoder le mot mystère envoyé sur la broche D2.

Ressources disponibles :

5. Visualisation et décodage de la trame envoyée par l'ordinateur à l'Arduino :

  • Brancher le connecteur UART à la voie A de l’oscilloscope.
  • Exécuter le programme Arduino
  • Dans le menu Outils – Port, Sélectionner le Port COM correspondant à l’Arduino que vous avez braché au PC.
  • Dans le menu Outils, cliquer sur Moniteur série et régler le paramètre suivant :
  • Inscrire le chiffre 1 dans le moniteur série du logiciel Arduino, puis envoyer l'octet
  • Vous devriez voir apparaître une brève impulsion

  • Utilisez les touches s/ms de l'oscilloscope pour agrandir le signal en renvoyant 1, autant de fois qu'il faut pour voir apparaître le signal sur l'écran complet de l'oscilloscope.
  • Régler l'oscilloscope en suivant le bon algorithme (Notice.pdf), afin que la courbe apparaisse chaque fois qu'on envoie l'octet 1.
  • Reproduire l’allure de la trame, indiquez les emplacements des bits de start, de stop, ainsi que D0 à D7 puis trouver le code binaire puis décimal de l’octet envoyé (bit de parité : aucun).




  • (cliquez sur le graphique pour changer l'états).

    Octet binaire envoyé par l'ordinateur :

    Octet hexadécimal envoyé par l'ordinateur :

    Caractère ASCII envoyé par l'ordinateur :

    5.1. Format de la tramme

  • Pour calculer la vitesse de transmission, on mesure d'abord la durée du temps d'un bit ou du bit de start grâce à l'oscilloscope (voir notice). La vitesse en bauds est l'inverse du temps mesuré : Vitesse = 1÷durée
  • Pour déterminer le nombre de bits de stop, on envoye 2 octets depuis le moniteur série : exemple 11
  • Compléter le tableau ci-dessous

    Bit de parité : Sans
    Nombre de bit de données :
    Nombre de bit de stop :
    Vitesse de transmission en bauds :
    Contrôle du flux de donnée : Sans

    6. Lecture et décodage du mot mystère

    Déplacez le connecteur de l’arduino sur le connecteur D2 de l’Arduino. Envoyer un message quelconque (1 par exemple) et capturez la trame

    Compléter la trame ci-dessous

    
    		

    Mot mystère :

    Règlant le débit du moniteur série sur la bonne valeur, envoyez votre mot mystère vers l'Arduino

    Faire valider le fonctionnement

    7. Prédire la durée d'une trame

    Indiquer comment calculer le temps nécessaire pour envoyer votre nom et votre prénom depuis le moniteur série : "Nom Prénom"

    Téléversez le programme suivant :NomPre.ino en remplaçant "Nom Prénom" par le votre

    Mesurer ce temps grâce à l'oscilloscope sur le signal Rx de l'UART

    Résultat :

    Fond : Texte : Tables :