Let that sync in

After a number of interrocations on the FPGA architecture, we are back to the drawing board.

Indeed, Alexis pointed out that our previous design created a lot of redundancy in the led band controllers. The computation of the current controlled leds, of the current controlled colors and even of the current written bit can be mutualized between each LED band.

That’s why from now on, our synchronization module will have more duties. It will generate :

  • the SCLK and LAT signals (see this post about the LED driver)
  • the current angle
  • the row, color and bit to be sent at any moment

But what does the led band controller do, then?

Well. The address in memory of the data to be sent to the driver must be computed by each LED band controller since it depends on the angle of the PCB on the device, which is different for each band.

This is a little frustrating since this change in design throws away a lot of the things Romain had implemented in the GS controller, whose role is now really limited. But I think this is for the better because the global synchronization signals are much more elegant and can easily be generated and debugged.

To be done next: we need to add a way to write in the FC setter a new value for the FC register from the HPS.

2 Replies to “Let that sync in”

  1. Did you think of the case where we would change the FC register without interrupting the current display? That is quite useful when finding the correct settings for the LED drivers…

    1. This is exactly the issue I was going to tackle next. We first need a way to rewrite the FC register in the FC setter from the HPS. This can be done with a simple SPI bus (the data is only 48 bits wide).
      Then we have several options:
      * Trigger the reset on the FPGA from the HPS, which will force the sync module to trigger the FC configuration, while the RAM blocks on the led band controllers will keep their data.
      * Override the SCLK, LAT and SIN signals with the HPS (a feature you requested) and trigger a FC configuration this way.
      * Add a way to force the reconfiguration of the FC in the sync module (ie, an input signal controlled by the HPS).

Leave a Reply

Your email address will not be published. Required fields are marked *