ELECINF344/381

Partie interactive du site pédagogique ELECINF344/ELECINF381 de Télécom ParisTech (occurrence 2011).

Catégories

IRL : Settings !

In our last article we described some ways to enhance the display of a text scrolling smoothly.
We actually tried several possibilities of settings for the scrolling text and finally found a convenient one (as shown on the video above).

We did some major improvements concerning the speed of the code on the card succeeding in speeding it by a factor of 5. We deemed that a major issue of that program lays on the access time of the memory. Indeed it takes more than 20 seconds to write an ILDA file of a tweet from the ram to the flash. Samuel suggested that we could use a socket to directly send the ILDA file from the python script to the C program in charge of the FPGA communication. In fact, with such a strategy we would avoid the slow speed flash access and be able to send a tweet to the laser around 30 seconds after its validation.

In addition we’re going to add some bit stuffing to make the frames equally populated in terms of points so as to assure a constant frame rate. You can easily notice that disturbing effect on the video above.

In parallel, we’re getting familiar with the DMX protocol and are working on the DMX board.
We haven’t forgotten the software fifo between the C program and the FPGA. We deemed that a zeromq socket would be a interesting solution and we are currently working on it.

IRL: the riddle with a mere oscilloscope!

Yesterday we achieved a new goal : we successfully played an ILDA animation on a mere oscilloscope. We attach a video as an evidence of our performance.

Let’s focus on what we actually did.
We built a program which plays directly an ILDA animation in the ILDA file format. We can set several options directly on the command line such as the time spent per frame and the scaling factor.

We enhanced our code which built an ILDA file from a string or a file. It operates directly on board and is now using an ILDA file per character instead of a SVG file with the whole charset.
We display directly on the board a list of tweets taken from a database and fetched them on the go with the twitter API that we now use in C instead of Python.

The IRL project would be nothing without those huge changes that drew our path since the beginning of the project. And we are proud to announce that we are changing (again) our architecture, and we would like to thank our teachers for their precise suggestions on that topic. In a word we are going to rely on a wishbone bus so as to assure the communication through the entities of the FPGA. In that way, out system will be cleaner plus it will enhance its capabilities.

IRL : Une journée fructueuse

Aujourd’hui nous nous sommes principalement concentrés sur le fpga.

Ram Spi
Nous sommes désormais capable de faire communiquer le fpga avec la ram spi : nous pouvons lire et écrire des valeurs dans la ram depuis le fpga (valeurs à écrire codées en dur dans le fpga, vérification des lectures à l’oscilloscope).

Le développement de la communication processeur-ram/spi à travers le fpga est bien avancé. Il est déjà possible de consulter sur l’armadeus la dernière valeur lue sur la ram/spi par le fpga. En revanche l’écriture n’est pas encore possible. Le contrôleur qui permettra au processeur d’indiquer les opérations (lecture / écriture/ adresse) qu’il souhaite réaliser est en cours d’écriture.

FPGA
Nous parvenons à afficher un point en codant ses deux coordonnées en dur dans le fpga. La prochaine étape consistera à piloter les coordonnées du point depuis le processeur.
Par ailleurs un module permet d’afficher une diagonale. Nous pourrons ainsi régler les potentiomètres des amplificateurs dès que nous aurons mis la main sur un tournevis !

Serveur Web
Nous avons peu travaillé sur ce sujet aujourd’hui. Nous avons recompilé les bibliothèques de buildroot avec les symboles de debug pour pouvoir comprendre pourquoi mongrel fait une erreur de segmentation au démarrage.