Gestion afficheurs, 2011/2012, TD3
Sommaire
Gestion d'afficheurs 7-segments
Evaluation informatique et électronique
Gestion de projet / rédaction Wiki
Rédaction correcte du Wiki (avec illustration). On espère une version un peu plus etoffée sous peu. La partie gestion de projet est abordé. Note 70% (à revoir suivant les améliorations apportées).
Test fonctionnels
- Sous-système : Le système est fonctionnel sur le banc d'essai Arduino. Un souci de défilement avec la NanoBoard. Note 110% (note à revoir éventuellement sur réception de la vidéo).
- Système : Non abordé. Note 100%
Qualité de la réalisation
- Informatique :
- procédure de test : Pas de README sur la FoxBoard. Un site web mais la régulation de vitesse ne semble pas marcher. Note 50%.
- pages HTML et Javascript : Page HTML correcte, script JS correct mais copie conforme du projet du TD1. Note 50%.
- scripts PHP ou programmes C : Programme non plagie, coté affichage correct mais la gestion de la vitesse de défilement n'est pas vraiment abordée. Note 75%.
- installation sur FoxBoard : Pas de tentative de démarrage automatique du démon série. Plusieurs sources sans explication sur les différences de version. Note 50%.
- Electronique :
- qualité de la réalisation :
- tests autonomes :
Bilan
Tous les points principaux ont un poids équivalent (sauf "système" qui est un bonus).
Note finale :
Le 20 avril 2012:
Lors de cette séance, nous avons divisé le groupe en deux: Nicolas Husse, s'occupant de la partie informatique et Mathieu Lenormand et Matthias Debie pour la partie électronique. Pour la partie informatique, le programme conçu permet actuellement d'envoyer, à partir d'un tableau de caractère converti en 7 segments, chaque caractère de ce tableau. Pour la partie électronique, nous avons commencé à concevoir un schéma électronique qui permet de recevoir 4 octets via une liaison série. Nous avons câblé ensemble plusieurs composants déjà vu en cours (comme : démultiplexeur, multiplexeur, bascule D....). Nous l'avons testé, toutes les étapes de compilation ont aboutis mais à la simulation nous avons eu un problème d'affichage (les caractères s'affichaient sur un afficheur à la fois au lieu de tous ensembles). Le but de cette séance est de remédier à cela.
Le 11 mai 2012:
Prévisions:
Le but de séance pour la partie informatique est de concevoir l'interface utilisateur afin d'afficher la chaîne de caractère rentré par l'utilisateur sur les afficheurs 7 segments.
Travail effectué:
L'interface utilisateur est fonctionnel ainsi que le codage du code ASCII vers les 7 segments (sauf caractères spéciaux et K, M, V, W, X, Z)
Pour la partie électronique, nous avons fait les modifications nécessaires pour résoudre l'affichage sur les 4 afficheurs simultanément. Ensuite nous avons cablé la maquette des 4 afficheurs au FPGA et nous testé sont bon fonctionnement. Ensuite nous avons amélioré notre cablage pour qu'il corresponde aux codes de la partie logicielle (le trait du haut représente le bit 0 et ainsi de suite comme sur un afficheur standard).
Le 21 mai 2012
Prévision:
Pour la partie informatique, le programme doit être intégré et adapté à la FoxBoard. Pour la partie électronique, pour faciliter l'intégration du programme nous allons rajouter des portes inverseuses car le programme a été fait en logique inverse (0 pour allumer, 1 pour éteindre).
Travail effectué:
Pour la partie électronique, en accord avec la partie informatique nous n'avons pas rajouté de porte inverseuse, le code sera changé dans la partie informatique. Cependant nous avons rajouté le bloc réception pour pouvoir utiliser la foxbord dicrectement reliée au FPGA par liaison série. Nous avons testé le code de la partie informatique et remarqué des caractères qui ne correspondaient pas au message envoyé car nous n'avions pas encore la mise à jour de la partie informatique. Pour la partie informatique, après quelques difficultés pour prendre en main la FoxBoard et envoyé le programme dessus, celui-ci a directement était fonctionnel avec l'Arduino. Cependant comme dit précédemment, la mise en commun avec la partie électronique n'a pas été un succès car le tableau de conversion n’est pas le même.
Le 24 mai 2012
Prévision:
Le but de cette séance supplémentaire est de terminer la fusion entre la partie informatique et la partie électronique.
Travail effectué:
Le nouveau tableau de conversion du programme est fonctionnel cependant lorsque l'on dépasse quatre caractères dans le message à afficher, le défilement pose problème. Un essai de régulation de la vitesse ainsi que de l'arrêt du programme par l'interface web a été testé mais le résultat n'a pas été probent et l'affichage n'était plus fonctionnel. Il a été décidé de l'enlever pour fournir un programme fonctionnel.
Rapport
Partie électronique:
Ce schéma est constitué de:
- 2 compteurs (CB2CES)
- 2 démultiplexeurs (M8_B1B4, M1_S1S4)
- 1 multiplexeur (M8_B4B1)
- 4 bascules (FD8CB)
- 1 decodeur (D2_4S)
- 12 sorties
- 1 horloge correspond à celle de la nanoboard
- un bloc de réception
- 1 bloc pour le port série RS232
En bas à droite de la plaquette blanche on a branché les douzes sorties elles-même reliées par une nappe 20 broches au port HA de la nanoboard (8 pour le mot binaire à afficher et 4 pour la selection)
Eu haut à gauche de la plaquette blanche on a la connexion entre les deux prises femelles du port série (relié entre la nanoboard et la forxboard)
Partie informatique:
Deux versions du programme sont présent sur la Foxboard: "prog_a.c" pour les afficheurs 7-segments liés à l'Arduino et "prog.c" pour les afficheurs 7-segments conçu dans la partie électronique. Seul le tableau de conversion est changé dans le programme. En effet, le code envoyé aux afficheurs ne sont pas les mêmes entre l'Arduino et la réalisation de la partie électronique: Les bits 0 sont remplacés par des 1 et inversement et le sens entre le bit de poids fort et le bit de poids faible sont inversé. Le tableau de conversion ASCII/7-segments est issue de ce tableau: Lien
Pour la partie web, seul l'envoie du texte est fonctionnel. La régulation de la vitesse et l'arrêt du programme, prévus à l'origine, ne sont pas actif car non fonctionnel lors des test.
Le README est disponible ici: Readme.txt