Gestion afficheurs, 2012/2013, TD2 : Différence entre versions

De Wiki de Projets IMA
(Rapports des élèves)
(Evaluation informatique et électronique)
 
(33 révisions intermédiaires par 4 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
<include nopre noesc src="/home/pedago/pimasc/include/video-Afficheurs2012TD2-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 : Wiki très peu exploité, style télégraphique, pas d'illustration. Note  : 50%.
* Electronique :
+
* Electronique : peu de détail dans le wiki, pas de détail du calcul des résistances pour la partie analogique. Note : 60%
Note .
+
 
 +
Une vidéo. La démonstration est correcte coté informatique. La démonstration est un peu décevante coté électronique (pas d'afficheurs, juste une simulation via l'environnement de développement de la NanoBoard). Mettons +10%.
 +
 
 +
Note : 65% .
  
 
=== Test fonctionnels ===
 
=== Test fonctionnels ===
  
* Sous-système.
+
* Sous-système. Note : 77.5%.
** Sous-système informatique :  
+
** Sous-système informatique : Un test par les élèves devant l'encadrant en séance. Fonctionnel mais sans interconnexion avec la NanoBoard. On note un scintillement désagréable. Note : 85%.
** Sous-système électronique :
+
** Sous-système électronique : Le système électronique ne semble pas fonctionner de manière optimal. Note : 70%
  
 
=== Qualité de la réalisation ===
 
=== Qualité de la réalisation ===
  
* Informatique : Note .
+
* Informatique : Note : 70%.
** procédure de test :
+
** procédure de test : Pas de mode d'emploi sur le Wiki. Test par l'enseignement assez concluant malgré le scintillement. Note : 80%.
** pages HTML et Javascript :
+
** pages HTML et Javascript : Page HTML minimale, pas d'utilisation d'ajax (pur Web 1.0). Note : 65%.
** scripts PHP ou programmes C :
+
** scripts PHP ou programmes C : Programme mal indenté. Pas de police différente pour les minuscules et les majuscules. Une fonction d'affichage avec un indice j inutile (une boucle for matinée de while). Code mal factorisé. En résumé ça fonctionne mais le code est peu propre. Note : 65%.
** installation sur FoxBoard :
+
** installation sur FoxBoard : Un démarrage automatique de la FoxBoard avec beaucoup d'aide sinon installation correcte dans deux répertoires distincts. Note : 70%.
* Electronique : Note .
+
* Electronique : Note : 80%.
** qualité de la réalisation :
+
** qualité de la réalisation : Réalisation satisfaisante. Le problème de décalage que vous avez observé lors du stockage des différents octets est probablement lié à un désynchronisation entre l’horloge des bascules D et les bits de sélection du démultiplexeur. Note: 80%.
** tests autonomes :
+
** tests autonomes : des tests ont été effectués à partir des instruments virtuels, pas de photos de l’afficheur en fonctionnement. Note: 80%.
  
 
=== Bilan ===
 
=== Bilan ===
  
Note finale :
+
Note finale : 72.50% => 14.50/20.
  
 
== Rapports des élèves ==
 
== Rapports des élèves ==
Ligne 41 : Ligne 47 :
  
  
''Partie électronique''
+
'''Partie électronique'''
 +
 
 +
La première séance a été principalement consacrée à la prise en main du sujet. Nous avons pris connaissance du cahier des charges ainsi que du travail réalisé par le groupe précédent.
  
La première séance à été principalement consacrée a la prise en main du sujet. Nous avons pris connaissance du cahier des charge ainsi que du travail réalisé par le groupe précédent.
 
  
 
Nous avons ainsi défini de nouveaux objectifs :
 
Nous avons ainsi défini de nouveaux objectifs :
  
- Création d'un système d'affichage sur 16 segments a partir d'un octet et d'un bit de confirmation de présence de l'information sur la liaison.
+
- Création d'un système d'affichage sur 16 segments à partir d'un octet et d'un bit de confirmation de présence de l'information sur la liaison.
  
 
- Synchronisation avec la liaison série
 
- Synchronisation avec la liaison série
Ligne 54 : Ligne 61 :
  
  
Une fois nous objectifs défini nous avons pris en main des librairies pour FPGA d'Altium grâce au tutorial d'introduction.
+
Une fois nos objectifs définis nous avons pris en main les librairies pour FPGA d'Altium grâce au tutorial d'introduction.
  
Nous avons réaliser le schéma précédemment utilisé pour un affichage sur 7 segments. Après tests sur l'oscilloscope des signaux de sortie du montage.  
+
Nous avons réalisé le schéma précédemment utilisé pour un affichage sur 7 segments. Après tests sur l'analyseur logique nous constatons que l liaison série en entrée est bien décodée. Les signaux de sorties correspondent bien aux valeurs souhaitées.  
  
  
Ligne 64 : Ligne 71 :
  
  
''Partie informatique''
+
'''Partie informatique'''
  
 
Test des 8 afficheurs 16 segments.  
 
Test des 8 afficheurs 16 segments.  
Ligne 72 : Ligne 79 :
 
Affichage d'une chaîne de caractères sur les afficheurs ( écriture fonction affichage)
 
Affichage d'une chaîne de caractères sur les afficheurs ( écriture fonction affichage)
  
 +
== Séance 2 ==
  
'''Séance 2'''
 
  
''Partie électronique''
+
'''Partie électronique'''
  
Lors de la seconde séance nous avons réfléchi a l'adaptation du montage pour un afficheur 16 segments. Notre schéma peux être divisé en deux parties :  
+
Lors de la seconde séance nous avons réfléchi à l'adaptation du montage pour un afficheur 16 segments.
 +
 
 +
 
 +
Notre schéma peut être divisé en deux parties :  
  
 
- La partie mémorisation
 
- La partie mémorisation
  
 
- La partie affichage
 
- La partie affichage
 +
  
 
[[Fichier:Schema16seg.jpg]]
 
[[Fichier:Schema16seg.jpg]]
  
 +
''Montage avec afficheurs 16 segments''
 +
 +
 +
''La partie mémorisation'' permet de conserver les données envoyées sur la liaison série. Elle est composée en entrée d'un octet et d'un bit de 'bout' qui permet de savoir lorsque l'octet est prêt à être recopié. Le bit 'bout' est relié à un compteur permettant de compter de 0 à 7. Ce compteur nous permet ensuite de commander successivement les bascules D pour recopier les octets envoyés dans l'ordre.
  
La partie mémorisation permet de conserver les données envoyées sur le bus. Elle est composée en entrée d'un octet et d'un bit de 'bout' qui permet de savoir lorsque l'octet est pré a être recopié. Le bit bout est relier a un compteur permettant de compter de 0 a 7. Ce compteur nous permet ensuite de commander successivement les bascules D pour recopier les octets envoyés dans l'ordre.
+
''La partie affichage'' consiste à former une information sur 16 bits à partir des deux informations de 8 bits contenue dans les bascules D. Cette partie est indépendante  de la partie mémorisation (l'affichage se fait en permanence). En effet c'est la fréquence de la nanobord qui est utilisée pour l'affichage. le principe de comptage est similaire à la partie mémorisation. Grâce à ce comptage, les différents afficheurs sont sollicités tour à tour pour recopier la donnée de 16 bits.
  
La partie affichage consiste a former une information sur 16 bits a partir des deux informations de 8 bits contenu dans les bascules D. Cette partie est indépendante  de la partie mémorisation (l'affichage se fait en permanence). En effet c'est ici la fréquence de la nanobord qui est utilisée pour l'affichage, suivant le meme principe de comptage que la partie mémorisation mais avec en entrée l'horloge les différents afficheurs sont sollicités pour recopier la donné de 16 bits.
 
  
''Partie informatique''
+
'''Partie informatique'''
  
 
Début écriture divers fonctions ( décalage, dépassement mot de 8 lettres)
 
Début écriture divers fonctions ( décalage, dépassement mot de 8 lettres)
Ligne 101 : Ligne 115 :
  
 
Création de la page php pour le contrôle de la vitesse de défilement et pour l'écriture du texte.
 
Création de la page php pour le contrôle de la vitesse de défilement et pour l'écriture du texte.
 +
 +
== Séance 3 ==
  
  
'''Séance 3'''
 
  
 +
'''Partie électronique'''
  
''Partie électronique''
+
Lors de la troisième séance nous avons testé le fonctionnement du montage.
 +
Lors d'un test on envoie successivement un octet puis on passe à 1 le bit de 'bout'.
  
Câblage des afficheurs
+
Pour l'exemple ci dessous nous avons envoyé la séquence 0, bout, 1, bout, 2, ...
  
Modification schéma afficheur
+
On retrouve bien sur les signaux de sortie 16 bits les octets successivement envoyés.
 +
 
 +
[[Fichier:Simulation.jpg]]
  
Problèmes rencontrés : synchronisation ( premier octet décalé de 1 octet).
 
  
''Partie informatique''
+
Nous constatons qu'il existe un décalage.
 +
 
 +
En effet il n'y a pas de recopie sur le premier afficheur lors du premier cycle. Il en résulte que la totalité du message est décalée d'un octet. Nous n'avons pas trouvé de solution câblée pour résoudre ce problème, nous en faisons donc part à la partie informatique. Nous pourrons ainsi faire un cycle initialisation nous permettant de bien nous synchroniser avec le premier afficheur.
 +
Avec l'introduction d'un bit supplémentaire de 'reset' en entrée nous aurions pu nous passer de ce cycle d’initialisation. 
 +
 
 +
 
 +
Une fois la simulation validée nous avons effectué le câblage de l'afficheur.
 +
 
 +
[[Fichier:Cablage 16seg.jpg]]
 +
 
 +
Nous avons par la suite réalisé des modifications sur les conseils de Mr Boé pour faire fonctionner le montage sans risque pour les composants.
 +
Nous avons ainsi pu vérifier les résultats de la simulation sur les afficheurs.
 +
 
 +
 
 +
'''Partie informatique'''
  
 
Finalisation des pages html/php permettant le contrôle direct de la vitesse et la saisi de la chaîne de caractère.
 
Finalisation des pages html/php permettant le contrôle direct de la vitesse et la saisi de la chaîne de caractère.
Ligne 125 : Ligne 157 :
  
 
-installation d'un paquet permettant l'utilisation de la commande killall
 
-installation d'un paquet permettant l'utilisation de la commande killall
 +
 +
== Conclusion ==

Version actuelle datée du 26 juin 2013 à 15:53


Vidéo HD


Evaluation informatique et électronique

Gestion de projet / rédaction Wiki

  • Informatique : Wiki très peu exploité, style télégraphique, pas d'illustration. Note  : 50%.
  • Electronique : peu de détail dans le wiki, pas de détail du calcul des résistances pour la partie analogique. Note : 60%

Une vidéo. La démonstration est correcte coté informatique. La démonstration est un peu décevante coté électronique (pas d'afficheurs, juste une simulation via l'environnement de développement de la NanoBoard). Mettons +10%.

Note : 65% .

Test fonctionnels

  • Sous-système. Note : 77.5%.
    • Sous-système informatique : Un test par les élèves devant l'encadrant en séance. Fonctionnel mais sans interconnexion avec la NanoBoard. On note un scintillement désagréable. Note : 85%.
    • Sous-système électronique : Le système électronique ne semble pas fonctionner de manière optimal. Note : 70%

Qualité de la réalisation

  • Informatique : Note : 70%.
    • procédure de test : Pas de mode d'emploi sur le Wiki. Test par l'enseignement assez concluant malgré le scintillement. Note : 80%.
    • pages HTML et Javascript : Page HTML minimale, pas d'utilisation d'ajax (pur Web 1.0). Note : 65%.
    • scripts PHP ou programmes C : Programme mal indenté. Pas de police différente pour les minuscules et les majuscules. Une fonction d'affichage avec un indice j inutile (une boucle for matinée de while). Code mal factorisé. En résumé ça fonctionne mais le code est peu propre. Note : 65%.
    • installation sur FoxBoard : Un démarrage automatique de la FoxBoard avec beaucoup d'aide sinon installation correcte dans deux répertoires distincts. Note : 70%.
  • Electronique : Note : 80%.
    • qualité de la réalisation : Réalisation satisfaisante. Le problème de décalage que vous avez observé lors du stockage des différents octets est probablement lié à un désynchronisation entre l’horloge des bascules D et les bits de sélection du démultiplexeur. Note: 80%.
    • tests autonomes : des tests ont été effectués à partir des instruments virtuels, pas de photos de l’afficheur en fonctionnement. Note: 80%.

Bilan

Note finale : 72.50% => 14.50/20.

Rapports des élèves

Séance 1

Partie électronique

La première séance a été principalement consacrée à la prise en main du sujet. Nous avons pris connaissance du cahier des charges ainsi que du travail réalisé par le groupe précédent.


Nous avons ainsi défini de nouveaux objectifs :

- Création d'un système d'affichage sur 16 segments à partir d'un octet et d'un bit de confirmation de présence de l'information sur la liaison.

- Synchronisation avec la liaison série

- Affichage sur 4 afficheurs


Une fois nos objectifs définis nous avons pris en main les librairies pour FPGA d'Altium grâce au tutorial d'introduction.

Nous avons réalisé le schéma précédemment utilisé pour un affichage sur 7 segments. Après tests sur l'analyseur logique nous constatons que l liaison série en entrée est bien décodée. Les signaux de sorties correspondent bien aux valeurs souhaitées.


Schema7seg.jpg

Montage avec afficheurs 7 segments


Partie informatique

Test des 8 afficheurs 16 segments.

Compilation fichiers.c et fichiers.h

Affichage d'une chaîne de caractères sur les afficheurs ( écriture fonction affichage)

Séance 2

Partie électronique

Lors de la seconde séance nous avons réfléchi à l'adaptation du montage pour un afficheur 16 segments.


Notre schéma peut être divisé en deux parties :

- La partie mémorisation

- La partie affichage


Schema16seg.jpg

Montage avec afficheurs 16 segments


La partie mémorisation permet de conserver les données envoyées sur la liaison série. Elle est composée en entrée d'un octet et d'un bit de 'bout' qui permet de savoir lorsque l'octet est prêt à être recopié. Le bit 'bout' est relié à un compteur permettant de compter de 0 à 7. Ce compteur nous permet ensuite de commander successivement les bascules D pour recopier les octets envoyés dans l'ordre.

La partie affichage consiste à former une information sur 16 bits à partir des deux informations de 8 bits contenue dans les bascules D. Cette partie est indépendante de la partie mémorisation (l'affichage se fait en permanence). En effet c'est la fréquence de la nanobord qui est utilisée pour l'affichage. le principe de comptage est similaire à la partie mémorisation. Grâce à ce comptage, les différents afficheurs sont sollicités tour à tour pour recopier la donnée de 16 bits.


Partie informatique

Début écriture divers fonctions ( décalage, dépassement mot de 8 lettres)

Codage des 36 caractères pour l'afficheur.

Mise en place du défilement du message.

Lecture du message à partir d'un fichier texte.

Création de la page php pour le contrôle de la vitesse de défilement et pour l'écriture du texte.

Séance 3

Partie électronique

Lors de la troisième séance nous avons testé le fonctionnement du montage. Lors d'un test on envoie successivement un octet puis on passe à 1 le bit de 'bout'.

Pour l'exemple ci dessous nous avons envoyé la séquence 0, bout, 1, bout, 2, ...

On retrouve bien sur les signaux de sortie 16 bits les octets successivement envoyés.

Simulation.jpg


Nous constatons qu'il existe un décalage.

En effet il n'y a pas de recopie sur le premier afficheur lors du premier cycle. Il en résulte que la totalité du message est décalée d'un octet. Nous n'avons pas trouvé de solution câblée pour résoudre ce problème, nous en faisons donc part à la partie informatique. Nous pourrons ainsi faire un cycle initialisation nous permettant de bien nous synchroniser avec le premier afficheur. Avec l'introduction d'un bit supplémentaire de 'reset' en entrée nous aurions pu nous passer de ce cycle d’initialisation.


Une fois la simulation validée nous avons effectué le câblage de l'afficheur.

Cablage 16seg.jpg

Nous avons par la suite réalisé des modifications sur les conseils de Mr Boé pour faire fonctionner le montage sans risque pour les composants. Nous avons ainsi pu vérifier les résultats de la simulation sur les afficheurs.


Partie informatique

Finalisation des pages html/php permettant le contrôle direct de la vitesse et la saisi de la chaîne de caractère.

Modification du code C : gestion des signaux vitesse + et vitesse - (signaux killall)

configuration de la foxboard:

-fichiers C et bibliothèques dans le root, fichier texte et page html/php dans le var/www

-installation d'un paquet permettant l'utilisation de la commande killall

Conclusion