Happy New Year everyone, hope you enjoyed the holidays !!
Today we are going to talk about the latest trends of our hardware architecture.
New PCB disposition to drive the petals
We used to try to drive each LED with its own processor. However we could not manage to get every component to fit on the PCB petals. Moreover, the processors were underused as we barely needed half of their timer outputs. Therefore, further inside the Phyllo, we decided to add a layer with slightly bigger PCBs (let’s call them the petal controllers). They have a STM32F207VIT6 which can drive up to 10 LEDs.… Read more
First, since we don’t plan on controlling the rotation speed from the HPS anymore, this feature has been removed from the architecture.
Moreover, the SCLK and GCLK are now generated by each of the 20 LED band controllers since we have enough ouput pins on the FPGA. This results in a simpler design and better signal integrity on these two signals.
Each LED band controller controls a LED driver. More information on the way this driver works can be found on this post.
For the inner memory of the LED band controller we use a dual port, dual clock synchronous RAM, which is proposed in Intel’s recommended HDL coding style for memory inference.… Read more
We made a few major modifications in our design : it turns out flex PCBs aren’t possible. Even though everything isn’t quite decided yet, here is a summary to clarify the situation. I will keep you updated of any major modification 🙂
A Phyllo is composed of three parts:
a fixed base,
a rotating half sphere placed on this fixed base serving as support for the lighting of the sculpture,
a hull made of petals that covers this sphere.
A Phyllo has 78 petals that can be illuminated individually (8 spirals with 6 petals lit by spiral arms, or 13 spirals in the other direction).… Read more
Here is a diagram summarizing the architecture of a Phyllo, to allow you to have a global vision :
This week, we spend a lot of time trying to choose the components. Here are the solutions we explored and the decisions we took.
Motor and ESC
All the animations we will display are based on two or three basic animations : aging petals, de-aging petals and possibly fixed images. Here are simulations to visualize those animations :
Aging and de-aging petals
In order to display those animations without skipping any petal (have a look at this instructable to remember the “skipping petals” part) while flashing the LEDs at 30Hz (ie 30 frames per seconds), the Phyllo has to rotate at :
In order to synchronize the LEDs and create a persistence of vision image, we use a CycloneV SOC.
Here is a first idea of the architecture we might use :
The ARM processor fills a buffer with the next image to be displayed, that is then swapped with the second buffer. It can pull this image from the SD card, or from another source such as the text printing function we plan on adding.
The full buffer is then accessed by a Direct Memory Access (DMA) IP that then sends the relevant cylinder (32 * 128 pixels) to each LED band controller that is then stored in their memory.… Read more