This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F280037C: PUSH PULL FIFO CLB extension

Part Number: TMS320F280037C

Hello,

I am developing a single wire LED protocol for the LED SK6812. I thought about using the CLB to program the communication protocol. While defining the requirements for the input and output of the CLB I came across the following problem.

The total number of LEDs to be controlled is 21, this means that for each LED, I have to send 24 bits times 21 LEDs. As each LED can have a different colour, I would need a way to exchange Data with the CPU to receive the RGB value for each LED. The problem is that the FIFO is only 4 depth 32 bit. I would like to know if you have any recomendations on how to extend the total length of the FIFO.

Ideally, I would like to use only the HLC block and not trigger any interrupts in the CPU as the application would continously being interrupted and consuming CPU time.Would It be possible to use HLC to change the offset of the Push pull fifo to point to another position of a much larger vector?  That vector would contain all the codified values. Any suggestions are greatly appreciated or new ideas on how to tackle this problem.

Regards,

David

  • Hi David,

    CLB Interrupts are capable of generating DMA triggers. You may be able to generate a CLB interrupt to trigger the DMA to send new data to the CLB depending on what events you're using to shift your data in and out of the CLB.

    Let me know if this approach seems feasible for your application.

    Thank you,

    Luke

  • Hello Luke,

    Thank you for your response. I think this is a brilliant idea. I will try to add it to our application and I will create a thread if I encounter any problems in development.

    Regards,

    David