Communication série, 2012/2013, TD3 : Différence entre versions

De Wiki de Projets IMA
(Page créée avec « == Evaluation informatique et électronique == <!-- Ne pas modifier, ecrivez votre rapport plus bas --> === Gestion de projet / rédaction Wiki === * Informatique : * Ele... »)
 
(Evaluation informatique et électronique)
 
(25 révisions intermédiaires par 5 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
<include nopre noesc src="/home/pedago/pimasc/include/video-CommunicationSerie2012TD3-iframe.html" />
 +
__TOC__
 +
<br style="clear: both;">
 
== Evaluation informatique et électronique ==
 
== Evaluation informatique et électronique ==
  
Ligne 5 : Ligne 8 :
 
=== Gestion de projet / rédaction Wiki ===
 
=== Gestion de projet / rédaction Wiki ===
  
* Informatique :  
+
* Informatique : Rapport sur le Wiki minimal, beaucoup de coquilles. On note l'effort de production d'une vidéo qui explique assez bien le système informatique. Note 70%.
* Electronique :
+
* Electronique : L’avancement du projet est bien présenté. Il aurait fallu détailler un peu plus le fonctionnement de votre schéma sur la partie émission. Quelques erreurs sur la description du fonctionnement de la partie réception. Note : 80%.
Note .
+
Note : 75%.
  
 
=== Test fonctionnels ===
 
=== Test fonctionnels ===
  
* Sous-système.
+
* Sous-système. Note : 95%.
** Sous-système informatique :  
+
** Sous-système informatique : Le sous-système est fonctionnel. Pas d'interconnexion avec la plateforme Altium. Note 100%.
** Sous-système électronique :
+
** Sous-système électronique : La partie émission est fonctionnelle. La partie réception est quasi-terminée Note : 90%.
  
 
=== Qualité de la réalisation ===
 
=== Qualité de la réalisation ===
  
* Informatique : Note .
+
* Informatique : Note 89%.
** procédure de test :
+
** procédure de test : Pas de ReadMe sur la FoxBoard. Testé par les élèves. Testé à nouveau par l'enseignant. Fonctionne sans souci (configuration automatique du port série). Note 100%.
** pages HTML et Javascript :
+
** pages HTML et Javascript : Page principale minimale mais fonctionnelle. Un tag corrompu (mélange de pinceaux sous un éditeur de texte probablement). Page fortement inspirée de celle du sujet. Note 80%.
** scripts PHP ou programmes C :
+
** scripts PHP ou programmes C : Script de lecture sur le port série avec une attente active (manque le usleep). Cela dit les deux scripts sont fonctionnels. Note 75%.
** installation sur FoxBoard :
+
** installation sur FoxBoard : Rien à redire. Note 100%.
* Electronique : Note .
+
* Electronique : Note 85%.
** qualité de la réalisation :
+
** qualité de la réalisation : Bonne conception pour la partie émission. Il y a une erreur sur le schéma de la partie réception-->manque signal sur entrée horloge du 1er compteur. Au vu du schéma présenté dans le wiki pour la partie réception, le front d’horloge du registre à décalage ne se fait pas au milieu de chaque bit de RX mais quasiment sur une transition de RX. Ceci est lié au fait que le premier comptage jusqu’à 2605 entraînant un front montant de l’horloge du registre à décalage n’est pas pris en compte. Note : 90%.
** tests autonomes :
+
** tests autonomes : Utilisation hyperterminal et bouton poussoir nanoboard.
 +
Les chronogrammes présentés dans le wiki ne sont pas assez explicites pour valider le fonctionnement de la partie émission. Note : 80%.
  
 
=== Bilan ===
 
=== Bilan ===
  
Note finale :
+
Note finale : 85% => 17/20
  
 
== Rapports des élèves ==
 
== Rapports des élèves ==
Ligne 38 : Ligne 42 :
  
 
<!-- Commencez votre rapport ici ! -->
 
<!-- Commencez votre rapport ici ! -->
 +
'''28/03/2013'''
 +
 +
'''Partie électronique :'''
 +
 +
Nous avons simulé la partie réception de la communication, c'est-à-dire reconstituer à partir d'une trame de 10 bits reçue en série (1 bit de start, 8 bits de données, 1 bit de stop) l'octet de données sur un bus de 8 bits en parallèle. Nous avons utilisé un registre à décalage SIPO (Serial In Parallel Out) pour la conversion série Parallèle et avons simulé sur la nanoboard (bouton de test pour simuler les données envoyées en série et les 8 leds pour visualiser ces mêmes données en parallèle, le test marchait). Il nous reste maintenant à détecter les bits de start et stop ainsi qu'à décaler l'horloge, pour pouvoir démarrer et arrêter la conversion série/parallèle à temps.
 +
Une fois cette partie terminée, nous ferons d'une manière analogue la partie transmission à l'aide d'un registre qui réalisera la conversion parallèle/série cette fois.
 +
 +
 +
'''Partie informatique:'''
 +
 +
Nous avons étudiée des exemples données et le logiciel qui sert à transmettre des informations en série:"Minicom". Nous avons compris le principe d'envoyer et recevoir une chaîne de caractère. Après avoir discuté avec le prof,noue avons séparée les fonctionnements d'interface web en 3 parties:web principale,fonction d'envoyer et fonction de recevoir. En fin,nous avons commencé à écrire le ficher.html pour le portail web en s'inspirant des exemples.
 +
Il nous reste la réalisation d'envoyer et de recevoir un message en utilisant les fonctions de PHP et javascrip. La partie la plus difficile est renouveler la page de recevoir pendant un constant de temps.
 +
 +
 +
 +
 +
 +
'''04/04/2013'''
 +
 +
'''Partie électronique :'''
 +
 +
Sur conseil des professeurs, nous avons d'abord construit la partie transmission qui est plus facile.
 +
Voici le schéma et les explications :
 +
 +
[[Fichier:PISO.png]]
 +
 +
 +
'''Partie informatique:'''
 +
 +
Nous avons récrit des fonctions chez nous. Pendant cette séance, nous avons discuté avec le prof et fait des modifications. Nous avons rencontré des problèmes en raison de l'utilisation des fonctions que nous ne connaissions pas. En cherchant des informations sur Internet, nous avons réglé des problèmes. Au niveau du reçu, nous avons adapté la fonction "stream_set_blocking"  et "time" dans l'énoncé. Enfin, nous avons testé ce que nous avons écrit par le biais d'une périphérique et cela marche très bien.
 +
 +
 +
 +
 +
 +
'''11/04/2013'''
 +
 +
'''Partie électronique'''
 +
 +
Cette fois ci, nous avons fait la partie réception.
 +
Explications :
 +
 +
Le front du bit de start est détecté par la première bascule D et vient activer la bascule RS. Celle-ci permet donc à un ensemble de 3 compteurs % 16 de commencer à compter via l'entrée Clock Enable.
 +
Cet ensemble sert à compter 1/(2*9600) seconde pour générer une horloge décalée au milieu de chaque bit pour les détecter correctement. Elle a une période de 1/9600 seconde (la même que la vitesse de transmission). L'horloge du premier compteur est l'horloge de la nanoboard (20 ns) et les horloges des compteurs suivants sont les sorties TC des compteurs immédiatement précédents. Les valeurs 13,2 et 10 en sortie de ces compteurs nous permettent de compter 1/(2*9600)s.
 +
La détection, en sortie de la porte AND à 3 entrées, du comptage de 1/(2*9600)s vient attaquer l'horloge d'un compteur modulo %2 dont la sortie changera d'état toutes les 1/(2*9600)s et qui sera donc l'horloge du registre à décalage série/parallèle qui reconstituera la trame.
 +
Le premier front en sortie de la porte AND est détecté par la seconde bascule D et la sortie de cette dernière est le Clock Enable du compteur %2, du compteur %16 et du registre à décalages. Cela permet donc bien d'avoir une horloge dont le front montant est décalé au milieu de chaque bit.
 +
Une fois que l'on a compté la valeur 9 sur le compteur %16 (on a donc reconstitué la trame), l'entrée CLEAR de tous les composants (sauf le registre à décalages pour garder la trame) est activée ainsi que l'entrée Reset de la bascule RS. On attend donc la prochaine trame.
 +
 +
[[Fichier:Rx.png]]
 +
 +
 +
 +
Test de la partie transmission qui fonctionne. Les screens ci dessous montrent des trames émises sur appui d'un bouton poussoir (TxRdy).
 +
[[Fichier:Print_014.png]] [[Fichier:Print_015.png]] [[Fichier:Print_017.png]]
 +
 +
 +
'''Partie informatique:'''
 +
 +
Nous avons travaillée sur foxboard dans cette séance. D'abord nous avons changé la configuration IP qui sert à communiquer l'ordinateur que nous utilise. Les commandes qui réalisent cette application sont:
 +
auto eth0
 +
iface eth0 inet static
 +
  address 172.26.79.16(numéro de notre poste)
 +
  netmask 255.255.240.0
 +
  gateway 172.26.79.254
 +
  dns-nameservers 193.48.57.34
 +
 +
Ensuite,nous avons récupéré les différentes paquetages nécessaires. Le dernier d'étape est de configurer le serveur web dans Foxboard.
 +
Pour implémenter toutes les choses que nous avons réalisées,nous avons transféré les fichers à Foxboard.
 +
 +
scp nomduficher root@172.26.79.16:var/www
 +
 +
Et puis,nous avons connecté à Foxbord pour tester l'interface.
 +
 +
172.26.79.16/web.html
 +
 +
Dans le but de diminuer le temps d'attente pour le message reçu,nous avons modifié la fonction recevoir.php en ajoutant une variable boolen. Il sert à activer directement la fonction d'affichage.
 +
A la fin, nous avons fait la démonstration de notre partie.

Version actuelle datée du 26 juin 2013 à 11:02


Vidéo HD


Evaluation informatique et électronique

Gestion de projet / rédaction Wiki

  • Informatique : Rapport sur le Wiki minimal, beaucoup de coquilles. On note l'effort de production d'une vidéo qui explique assez bien le système informatique. Note 70%.
  • Electronique : L’avancement du projet est bien présenté. Il aurait fallu détailler un peu plus le fonctionnement de votre schéma sur la partie émission. Quelques erreurs sur la description du fonctionnement de la partie réception. Note : 80%.

Note : 75%.

Test fonctionnels

  • Sous-système. Note : 95%.
    • Sous-système informatique : Le sous-système est fonctionnel. Pas d'interconnexion avec la plateforme Altium. Note 100%.
    • Sous-système électronique : La partie émission est fonctionnelle. La partie réception est quasi-terminée Note : 90%.

Qualité de la réalisation

  • Informatique : Note 89%.
    • procédure de test : Pas de ReadMe sur la FoxBoard. Testé par les élèves. Testé à nouveau par l'enseignant. Fonctionne sans souci (configuration automatique du port série). Note 100%.
    • pages HTML et Javascript : Page principale minimale mais fonctionnelle. Un tag corrompu (mélange de pinceaux sous un éditeur de texte probablement). Page fortement inspirée de celle du sujet. Note 80%.
    • scripts PHP ou programmes C : Script de lecture sur le port série avec une attente active (manque le usleep). Cela dit les deux scripts sont fonctionnels. Note 75%.
    • installation sur FoxBoard : Rien à redire. Note 100%.
  • Electronique : Note 85%.
    • qualité de la réalisation : Bonne conception pour la partie émission. Il y a une erreur sur le schéma de la partie réception-->manque signal sur entrée horloge du 1er compteur. Au vu du schéma présenté dans le wiki pour la partie réception, le front d’horloge du registre à décalage ne se fait pas au milieu de chaque bit de RX mais quasiment sur une transition de RX. Ceci est lié au fait que le premier comptage jusqu’à 2605 entraînant un front montant de l’horloge du registre à décalage n’est pas pris en compte. Note : 90%.
    • tests autonomes : Utilisation hyperterminal et bouton poussoir nanoboard.

Les chronogrammes présentés dans le wiki ne sont pas assez explicites pour valider le fonctionnement de la partie émission. Note : 80%.

Bilan

Note finale : 85% => 17/20

Rapports des élèves

28/03/2013

Partie électronique :

Nous avons simulé la partie réception de la communication, c'est-à-dire reconstituer à partir d'une trame de 10 bits reçue en série (1 bit de start, 8 bits de données, 1 bit de stop) l'octet de données sur un bus de 8 bits en parallèle. Nous avons utilisé un registre à décalage SIPO (Serial In Parallel Out) pour la conversion série Parallèle et avons simulé sur la nanoboard (bouton de test pour simuler les données envoyées en série et les 8 leds pour visualiser ces mêmes données en parallèle, le test marchait). Il nous reste maintenant à détecter les bits de start et stop ainsi qu'à décaler l'horloge, pour pouvoir démarrer et arrêter la conversion série/parallèle à temps. Une fois cette partie terminée, nous ferons d'une manière analogue la partie transmission à l'aide d'un registre qui réalisera la conversion parallèle/série cette fois.


Partie informatique:

Nous avons étudiée des exemples données et le logiciel qui sert à transmettre des informations en série:"Minicom". Nous avons compris le principe d'envoyer et recevoir une chaîne de caractère. Après avoir discuté avec le prof,noue avons séparée les fonctionnements d'interface web en 3 parties:web principale,fonction d'envoyer et fonction de recevoir. En fin,nous avons commencé à écrire le ficher.html pour le portail web en s'inspirant des exemples. Il nous reste la réalisation d'envoyer et de recevoir un message en utilisant les fonctions de PHP et javascrip. La partie la plus difficile est renouveler la page de recevoir pendant un constant de temps.



04/04/2013

Partie électronique :

Sur conseil des professeurs, nous avons d'abord construit la partie transmission qui est plus facile. Voici le schéma et les explications :

PISO.png


Partie informatique:

Nous avons récrit des fonctions chez nous. Pendant cette séance, nous avons discuté avec le prof et fait des modifications. Nous avons rencontré des problèmes en raison de l'utilisation des fonctions que nous ne connaissions pas. En cherchant des informations sur Internet, nous avons réglé des problèmes. Au niveau du reçu, nous avons adapté la fonction "stream_set_blocking" et "time" dans l'énoncé. Enfin, nous avons testé ce que nous avons écrit par le biais d'une périphérique et cela marche très bien.



11/04/2013

Partie électronique

Cette fois ci, nous avons fait la partie réception. Explications :

Le front du bit de start est détecté par la première bascule D et vient activer la bascule RS. Celle-ci permet donc à un ensemble de 3 compteurs % 16 de commencer à compter via l'entrée Clock Enable. Cet ensemble sert à compter 1/(2*9600) seconde pour générer une horloge décalée au milieu de chaque bit pour les détecter correctement. Elle a une période de 1/9600 seconde (la même que la vitesse de transmission). L'horloge du premier compteur est l'horloge de la nanoboard (20 ns) et les horloges des compteurs suivants sont les sorties TC des compteurs immédiatement précédents. Les valeurs 13,2 et 10 en sortie de ces compteurs nous permettent de compter 1/(2*9600)s. La détection, en sortie de la porte AND à 3 entrées, du comptage de 1/(2*9600)s vient attaquer l'horloge d'un compteur modulo %2 dont la sortie changera d'état toutes les 1/(2*9600)s et qui sera donc l'horloge du registre à décalage série/parallèle qui reconstituera la trame. Le premier front en sortie de la porte AND est détecté par la seconde bascule D et la sortie de cette dernière est le Clock Enable du compteur %2, du compteur %16 et du registre à décalages. Cela permet donc bien d'avoir une horloge dont le front montant est décalé au milieu de chaque bit. Une fois que l'on a compté la valeur 9 sur le compteur %16 (on a donc reconstitué la trame), l'entrée CLEAR de tous les composants (sauf le registre à décalages pour garder la trame) est activée ainsi que l'entrée Reset de la bascule RS. On attend donc la prochaine trame.

Rx.png


Test de la partie transmission qui fonctionne. Les screens ci dessous montrent des trames émises sur appui d'un bouton poussoir (TxRdy). Print 014.png Print 015.png Print 017.png


Partie informatique:

Nous avons travaillée sur foxboard dans cette séance. D'abord nous avons changé la configuration IP qui sert à communiquer l'ordinateur que nous utilise. Les commandes qui réalisent cette application sont: auto eth0 iface eth0 inet static

 address 172.26.79.16(numéro de notre poste)
 netmask 255.255.240.0
 gateway 172.26.79.254
 dns-nameservers 193.48.57.34

Ensuite,nous avons récupéré les différentes paquetages nécessaires. Le dernier d'étape est de configurer le serveur web dans Foxboard. Pour implémenter toutes les choses que nous avons réalisées,nous avons transféré les fichers à Foxboard.

scp nomduficher root@172.26.79.16:var/www

Et puis,nous avons connecté à Foxbord pour tester l'interface.

172.26.79.16/web.html

Dans le but de diminuer le temps d'attente pour le message reçu,nous avons modifié la fonction recevoir.php en ajoutant une variable boolen. Il sert à activer directement la fonction d'affichage. A la fin, nous avons fait la démonstration de notre partie.