Gestion afficheurs, 2011/2012, TD1

De Wiki de Projets IMA
Révision datée du 5 avril 2012 à 15:05 par Camegavi (discussion | contributions) (Bilan séance 2: 28/03/2012)

Gestion afficheurs


I Le Projet

Le but de ce projet est de réaliser un circuit de décodage pour les afficheurs 7 segments de la carte Spartan3 reliée à la NanoBoard. Nous devons aussi créer une interface Web permettant de faire défiler un message alpha-numérique (composé de chiffre et de lettre) sur ces afficheurs. Ce projet se fera en deux parties. Une partie informatique sur la FoxBoard et une partie électronique sur la NanoBoard.

II Partie Informatique

But de la partie

Le but de cette partie est d'écrire un programme C qui va permettre d'envoyer un message défilant sur les afficheurs gérés par la carte NanoBoard. Le programme commence par demander à l'utilisateur le message alpha-numérique à afficher. Le message est ensuite encodé pour pouvoir passer sur les afficheurs 7 segments.

Bilan séance 1: 21/03/2012

Le but de la première séance est de choisir le sujet et de commencer à se familiariser avec le code du programme et du demon. Dans cette séance nous avons compris à quoi servait le démon, comment nous en servir et avons commencé à modifier le code du fichier nommé "affiche.c" qui contient le programme principal. Tout d'abord nous avons chercher à afficher les chiffres de 0 à 9 ce qui nous as permis d'obtenir un tableau de conversion. Ensuite il a fallut fair quelque modification pour arriver en fin de séance à afficher tout les chiffres sur l'afficheur sept segments. Le but de la prochaine séance sera d'afficher un mot.

Bilan séance 2: 28/03/2012

Dans cette séance, nous avons essayé d'avancer un maximum sur le projet. Nous avons trouvé un tableau dans lequel nous pouvions récupérer tout le code ascii (sur http://easternstargeek.blogspot.fr/2011/09/ascii-to-seven-segment-table.html ) que nous avons ensuite convertis grâce à une formule pour qu'il corresponde à notre type d'afficheur sept segments. Formule:

b=~((b * 0x0802LU & 0x22110LU) | (b * 0x8020LU & 0x88440LU)) * 0x10101LU >> 16; 

Nous arrivons maintenant à demander à l'utilisateur de rentrer un mot et faire defiler ce mot. Il ne nous reste plus qu'à réussir à faire défiler une phrase en entier et à controler la vitesse de defilment. Ce sera le but de la prochaine séance ainsi que le création du site.

Bilan séance 3: 04/04/2012

Le but de cette dernière séance est de finir le projet. Nous avons tout d'abord réussi à faire défiler un message sur l'afficheur et avons décidé de faire une boucle infini pour qu'elle s'affiche en continue. Puis nous avons modifié notre programme pour arriver à controler la vitesse de defilement du message grace aux commandes SIGUSR2 qui ralenti le message et SIGUSR1 qui l'accelère. Il est aussi possible d'afficher le message à partir d'un site sur http://localhost/site. Néanmoins il reste quelques caractères que nous n'arrivons pas à afficher car le modèle de l'afficheur ne nous le permet pas. Tout le projet a été envoyé sur la Foxbord. Toute les informations relatives à la Foxbord sont disponible dans le fichier Readme qui se trouve sur la foxBord.

III Partie Electronique

La partie électronique de ce projet consiste a concevoir un système d'affichage, composé de 4 afficheurs 7 segments. Ce système récupère les données a afficher grâce à un bus 8 bits, ainsi qu'un signal passant à 1 quand l'information arrive. Durant la première séance, nous avons crées deux sous fonctions, une pour réceptionner les informations, l'autre pour les affichées. La première sous fonction est composée d'un démultiplexeur suivie d'un circuit mémorisant les données, la seconde est composée d'un multiplexeur et d'un circuit gérant les afficheurs.