Communication série, 2013/2014, TD2

De Wiki d'activités IMA
Révision datée du 2 mai 2014 à 17:50 par Tscholae (discussion | contributions) (Séance n°3)

Introduction

Partie Electronique

Séance n°1

Nous avons tout d’abord commencé par faire le tutoriel afin de nous familiariser avec le logiciel altium designer. Nous avons ensuite réfléchi à une solution pour l’émission mais nous nous sommes finalement tournés vers la réception qui était plus facile à réaliser. Nous avons tout d’abord pensé à un registre à décalage qui nous permettrait de convertir de parallèle vers série. Puis nous avons commencé à réaliser ce montage que nous avons terminé à la 2e séance : Reception projet.jpg

Séance n°2

Lors de la deuxième séance, nous avons donc fini la partie réception. Nous avons inséré un Digital IO (DIO) afin de pouvoir rentrer le bus de données directement à partir du logiciel altium designer. Puis nous avons inséré un bouton poussoir SW_USER0 dans le montage.

Nous avons ensuite implanté notre partie réception sur la nanoboard. On a donc utilisé le DIO et inséré le mot 1001 0110. Avec un bit de start à 0 et un bit de stop à 1, nous avons pu observer grâce à l'analyseur numérique :


Analyseurproj.jpg


On observe sur D3 le signal de la clock et sur D1 la réception.


Sur D3 :

On oberve la clock à une fréquence de 9600 Hz.


Sur D1 :

  • Initialement à 1
  • Bit de start à 0 au front montant de la clock
  • Le mot de 8 bits : 1001 0110
  • Le bit de stop à 1
  • Finalement à 1 (le bit de stop n'est donc pas réellement visible car il est confondu avec l'initialisation qui est à 1)


Les résultats se sont donc avérés concluants et nous avons ensuite pu passer à la partie émission qui s’est avérée plus compliquée.

Séance n°3

Pour la partie émission, nous avions besoin de deux horloges :


  • La première à une fréquence de 9600 Hz
  • La seconde à une fréquence de 2x9600 Hz pour générer une horloge décalée au milieu de chaque bit pour les détecter correctement.


Nous avions ensuite besoin de :


  • un multiplexeur
  • un compteur qui servait à compter le nombre de top d'horloge
  • une bascule D qui servait à savoir quand activer la CE du compteur
  • un registre à décalage SR16 qui permettait la conversion série vers parallèle
  • deux comparateurs :

_l'un servait à comparer le compteur à 1 afin de savoir quand activer la bascule D

_l'autre servait à comparer le compteur à 10 afin de savoir quand activer le clear du compteur et de la bascule


Nous sommes arrivés à une solution qui fonctionnait de temps en temps voir pas du tout lors des tests. Nous avons donc du trouver l’erreur en plaçant des plusieurs endroits stratégiques afin d’observer l’évolution des différents circuits logiques. Nous avons ainsi trouvé d’où venait l’erreur, il s’agissait en fait de la bascule qui ne s’activait pas. Par la suite nous avons remarqué qu’elle était synchrone et attendait donc un top d’horloge pour faire le clear, mais ce top d’horloge qui n’arrivait jamais. Lorsque nous l’avons remplacée par une bascule asynchrone, le clear fonctionnait correctement ainsi que tout le montage.

Nous avons rassemblé puis testé le tout (émission + réception) via la nanoboard et une liaison fournie par notre enseignant en essayant l’émission et la réception de caractères. Le test nous a confirmé que ça fonctionnait et a donc été validé par l’enseignant.

Partie Informatique

Séance n°1

Séance n°2

Séance n°3

Conclusion