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.

FFTC Linked Output Descriptors



I am implementing a radio interface for our physical layer and am integrating the FFTC into the design and would value some input on the use of linked descriptors. I am using the FFTC with host descriptors at input and output.

When operating the FFTC in FFT mode the time domain input data is stored in a circular buffer. As the system moves through the circular buffer it will hit the point where the last fragment in the buffer isn't a whole symbol length, so I need to pass a linked host descriptor A->B->NULL. Where A would be pointing to the end of the buffer and B is pointing to the beginning of the buffer. In this way I hope the QMSS will gather the memory fragments A+B and push them through the FFTC.

When operating in IFFT mode the time domain output data is stored in a circular buffer. As described above the system will move through the circular output buffer and will reach the point where the last symbol is not contiguous. Is it possible to configure the QMSS & FFTC with a pair of linked output descriptors so that the output of the IFFT output is split and placed correctly in the circular buffer?

I have examples of using the linked descriptors on the input side, does this still hold for the output side of the FFTC? Is there anything I should be wary of? The QMSS user guide leads me to think that this is possible but I wanted to run it past somebody before implementing.

Thank you

Marlon

  • Hi Marlon,

    Are you working TI provided example? If yes, please let us know the package and path.

    Thank you.

  • Hello Rajasekaran,

    We already have existing FFTC driver code which I was planning on using.

    It was developed using from the FFTC_Simple_testProject (pdk/packages/exampleProjects/drv/FFTC_Simple_testProject) as a reference, so any pointers referring to this would be fine.

    Thanks

    Marlon

  • Marlon,


      The input and output descriptor buffers are independent of each other. You can force linking at the output (RX) by making the buffer sizes attached to the RX buffer descriptors smaller than the expected payload size. In this case the CPPI will continue to to fetch and link descriptors from the free queue until all the output samples are written out. and push the head descriptor to the destination queue.