A student who worked on last year’s project RoseAce gave us some advice to communicate between our FPGA and the Gumstix. He told us it was a bit tricky to implement the communication but that we should have a look to the way they did it to gain time. The good news is that the bit rate between them is around 40Mbits/s and can be increased (the FPGA is on the memory extension slot, the GPMC) . Also the Gumstix supports class 10 SD card with a bit rate of 80Mbits/s.
Now we’ve checked all the critical bit rates on the board and they all fit the 32Mbits/s bit rate to display a cylinder of 256 positions on a 32×32 LED matrix, at a speed of 16 cylinders/second. Hence we can abandon the “contour” reduction, and store the whole description on the SD card before lauching the animation. (so there won’t be any streaming)
Consequently the final architecture will be like this:
- On the computer, a Blender script (in Python) will convert the 3D animated shapes into scatter plots. We switched the .obj format to this procedure because of the simplicity and the possibility to convert a larger amount of formats and animations.
- A soft will transfer the .aharp file to the embedded system via Wifi .
- The Gumstix receive the data and store it in the SD card.
- At the wanted time we can start the animation : at a speed of 16 Cylinders/second the Gumstix send data to the FPGA which stores it in RAM. Simultaneously the FPGA read in RAM values and send them to the LED drivers.
We are currently testing the LED on our STM32 when switching the values every 15us to see if it gives enough luminosity. Considering the results we will see if we have to get more powerful LED or increase the number of drivers.
I did some personal work and progressed a little on my work on the PCB. My first routing is a real mess so I’m gonna try a new one.
By the way I will be abroad for one week in Lisbon for the Athens program. Naturally I will continue on working on the project while I’m gone.