Communication série, 2012/2013, TD3 : Différence entre versions
(→Rapports des élèves) |
(→Evaluation informatique et électronique) |
||
(19 révisions intermédiaires par 4 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 | + | '''28/03/2013''' |
− | Partie électronique : | + | |
+ | '''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. | 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. | 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: | + | |
+ | '''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. | 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. | ||
Ligne 50 : | Ligne 56 : | ||
− | 04/04/2013 | + | |
− | Partie informatique: | + | |
+ | |||
+ | '''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. | 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. | ||
− | Partie électronique : | + | |
− | [[Fichier: | + | |
+ | |||
+ | |||
+ | '''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
Sommaire
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 :
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.
Test de la partie transmission qui fonctionne. Les screens ci dessous montrent des trames émises sur appui d'un bouton poussoir (TxRdy).
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.