Communication série, 2011/2012, TD1 : Différence entre versions

De Wiki de Projets IMA
Ligne 38 : Ligne 38 :
 
'''Mercredi 28 Mars 2012:'''
 
'''Mercredi 28 Mars 2012:'''
  
Schéma d'émission : [[Fichier:schema_emission.png]]
+
Schéma d'émission : [[Fichier:schema_emission.png]]<br>
1: compteur 4 bit
+
1: compteur 4 bit<br>
2: permet de savoir où le compteur en est
+
2: permet de savoir où le compteur en est<br>
3: entrée (les 8 bits à transmettre)
+
3: entrée (les 8 bits à transmettre)<br>
4: la sortie du compteur détermine quel bit envoyer
+
4: la sortie du compteur détermine quel bit envoyer<br>
5: horloge
+
5: horloge<br>
6: 9 bascules D (8 pour le message + 1 pour le bit de start)
+
6: 9 bascules D (8 pour le message + 1 pour le bit de start)<br>
7: led en sortie pour nous montrer ce qu'on affiche
+
7: led en sortie pour nous montrer ce qu'on affiche<br>
  
  
Schéma d'émission (zoom) : [[Fichier:schema-emission-reduit.png]]
+
Schéma d'émission (zoom) : [[Fichier:schema-emission-reduit.png]]<br>
(rouge)
+
(rouge)<br>
1: fil indique que le compteur est entre 8 et 15
+
1: fil indique que le compteur est entre 8 et 15<br>
2: bouton d'envoi
+
2: bouton d'envoi<br>
3: signal à 1 car le signal doit être à 1 si on n’envoie rien
+
3: signal à 1 car le signal doit être à 1 si on n’envoie rien<br>
4: les bits à envoyer arrivent par là
+
4: les bits à envoyer arrivent par là<br>
  
(vert)
+
(vert)<br>
1: reset du compteur lorsqu'on arrive à 8 ou lorsqu'on appuie sur le bouton
+
1: reset du compteur lorsqu'on arrive à 8 ou lorsqu'on appuie sur le bouton<br>
2: bascule D passe à 1 si on compte jusqu'à et 1 lorsqu'on appuit sur le bouton
+
2: bascule D passe à 1 si on compte jusqu'à et 1 lorsqu'on appuit sur le bouton<br>
3: on envoie toujours 1 sauf si on a appuyé sur le bouton
+
3: on envoie toujours 1 sauf si on a appuyé sur le bouton<br>
4: on envoie 1 ou les bits à envoyer
+
4: on envoie 1 ou les bits à envoyer<br>
  
  
Ligne 77 : Ligne 77 :
 
schéma de réception: [[Fichier:Schema reception.png]]
 
schéma de réception: [[Fichier:Schema reception.png]]
  
1: leds d'affichage du message reçu
+
1: leds d'affichage du message reçu<br>
2: liason série
+
2: liason série<br>
3: le compteur permet de choisir ou envoyer les bits reçus
+
3: le compteur permet de choisir ou envoyer les bits reçus<br>
4: horloge fonctionnant deux fois plus vite que l'horloge d'envoi
+
4: horloge fonctionnant deux fois plus vite que l'horloge d'envoi et compteur 5 bits car on décale d'un demi temps d'horloge d'envoit, ainsi on enregistre le signal au milieu de la réception du bit.<br>
et compteur 5 bits car on décale d'un demi temps d'horloge d'envoit, ainsi on enregistre le signal au milieu de la réception du bit.
+
5: reset de l'horloge l'orsqu'on arrive à 16<br>
5: reset de l'horloge l'orsqu'on arrive à 16
 
  
  

Version du 20 avril 2012 à 20:46

Evaluation informatique

Gestion de projet / rédaction Wiki

Pas de test global. La rédaction est minimale mais correcte pour la partie informatique, on note aussi quelques coquilles (note 75%). Le plus facile des sous-système mais réalisation laborieuse.

Test fonctionnels

  • Sous-système : Fonctionnel mais minimal, beaucoup d'aide (note 75%).
  • Système : Pas abordé (note 0%).

Qualité de la réalisation

  • Procédure rédigée sur le Wiki : Un readme correct sur la FoxBoard (note 75%).
  • Pages HTML et Javascript : Page HTML correcte, beaucoup d'aide (note 66%).
  • Scripts PHP ou programmes C : Scripts PHP corrects, beaucoup d'aide (note 66%).
  • Installation sur FoxBoard : Incomplète, le démon ne démarre pas à l'initialisation (note 66%).

Bilan

Tous les points ont un poids équivalent (sauf "système" qui est un bonus).

Note finale : 70% (14/20).

Rapports des élèves

 Partie électronique:

Mercredi 21 Mars 2012:

On a en entrée un signal sur 8 bits en parallèle.
On a une liaison série qui est toujours à 1, tant qu'on ne transmet pas de données.
A l'appui sur un bouton, on met le signal en série et on l’envoie sur la liaison.
Le signal est réceptionné et remit en parallèle.


Mercredi 28 Mars 2012:

Schéma d'émission : Schema emission.png
1: compteur 4 bit
2: permet de savoir où le compteur en est
3: entrée (les 8 bits à transmettre)
4: la sortie du compteur détermine quel bit envoyer
5: horloge
6: 9 bascules D (8 pour le message + 1 pour le bit de start)
7: led en sortie pour nous montrer ce qu'on affiche


Schéma d'émission (zoom) : Schema-emission-reduit.png
(rouge)
1: fil indique que le compteur est entre 8 et 15
2: bouton d'envoi
3: signal à 1 car le signal doit être à 1 si on n’envoie rien
4: les bits à envoyer arrivent par là

(vert)
1: reset du compteur lorsqu'on arrive à 8 ou lorsqu'on appuie sur le bouton
2: bascule D passe à 1 si on compte jusqu'à et 1 lorsqu'on appuit sur le bouton
3: on envoie toujours 1 sauf si on a appuyé sur le bouton
4: on envoie 1 ou les bits à envoyer


Sur la nanoboard, la LED est allumée tout le temps. Sauf quand on appuie sur le bouton et on le relâche, au bout de 8 temps d'horloge la LED clignote suivant les entrées qu'on lui a mise (mais au moins une fois pour le bit de start à 0). Et après 9 temps la LED reste allumée.


Mercredi 4 Avril 2012:

On essaye de faire la partie réception. Lors du test on se rend compte d'un problème au niveau de l'envoi. Suite à une discussion avec le professeur, apparemment notre schéma est trop compliqué. On aurait dût utiliser un registre à décalage. Faute de temps on modifie seulement le schéma au niveau de la bascule D qui gère l'envoi des bits ou du 1 en continu (la bascule n°2 en vert dans le schéma de la semaine dernière. On fait un troisième schéma pour relier le schéma d'envoi et le schéma de réception.

nouveau schéma d'émission: Schema emission2.png

schéma de connexion: Schema global.png

schéma de réception: Schema reception.png

1: leds d'affichage du message reçu
2: liason série
3: le compteur permet de choisir ou envoyer les bits reçus
4: horloge fonctionnant deux fois plus vite que l'horloge d'envoi et compteur 5 bits car on décale d'un demi temps d'horloge d'envoit, ainsi on enregistre le signal au milieu de la réception du bit.
5: reset de l'horloge l'orsqu'on arrive à 16


 Partie informatique:

On veut créer une site web où l'on entre des caractères, qui sont envoyé en parallèle vers une liaison série puis ils nous reviennent en parallèle.

Premierement, il faut rediger une page en html comprenant un champ 'émission' qui servira pour ecrire les caracteres que l'on veut envoyer via un port série. Deuxiement, il faut inclure dans la page web un champ 'réception' qui collectera les les differents caracteres envoyés depuis le champ 'émision. Nous devrons alors utiliser un formulaire pour cela. D'ou l'utilisation du PHP pour pouvoir rendre notre page web dynamique. Tout ceci represente schematisation du port serie sur via application web.

Mercredi 4 Avril 2012:

Pour pouvoir lire les caracteres qui seront entrés via le clavier, nous allons creer un fichier lecture.php se trouvant a l'adresse /var/www/serie il est inspiré du programme PHP donné en exemple qui utilise le démon. Le démon qui, ici, est un fichier serie.c devra etre compilé puis exécuté avant de pouvoir rendre l'application web opérationnelle. Nous disposons aussi d'un fichier écriture.ph qui sera lié à un fichier principal pageWebProjet.htm, devant récupérer l'octet (les caractères) puis l'écrire dans le champ "écriture" de la page web. Ces deux programmes en PHP sont utilisés par un fichier principal en html qui fera appel à des fonctions en javascript par exemple la fonction AJAX REQUEST qui appellera les deux fichiers cités précédemment.notons aussi qu'un fichier prototype.js , bibliothèque permettant de lancer des requêtes HTTP asynchrone (objet Ajax.Request) mais aussi de faciliter la programmation javascript.

Jeudi 5 Avril 2012:

Le site étant opérationnel, nous devons l'adapter pour la FoxBoard. De ce fait, nous devons nous connecter en SSH vers la foxboard en utilisant l'adresse IP de la machine. Tout d'abord, il faut transferer les fichiers sources à savoir les fichiers php et html ainsi que le demon (serie.c) et la bibliotheque prototype.js en tapant la commande scp source root@172.26.79.10:/var/www/serie/ Un fichier readme.txt est disponible dans le dossier "root" et le repertoire /var/www/serie/