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.

EDMA ping-pong

Other Parts Discussed in Thread: TLV320AIC24

Hi,

I'm using a custom board on C6211 mounted with 3 codec's(6 channels) of TLV320AIC24. I some how with the help of the SPRA957 was able to run a audio loop-back program. This document actually describes about ping-pong buffer mechanism. But when i do processing(FIR) of  the inputs the ping-pong chain sync gets lost and it doesn't continue. I'm generating edma interrupts for every sample and also doing the processing for that sample. Can somebody please explain me why edma chain sync  is lost? Is it because that i don't use ping-pong mechanism to full efficiency by receiving inputs as samples and not by blocks?

Thanks and regards

Siddharth

  • Siddharth,

    The most likely cause is that, yes, you are not using the ping-pong mechanism efficiently.

    If you are generating an interrupt to the DSP on every sample and processing the FIR on every sample, then you are not using the ping-pong mechanism at all.

    Try reducing the number of taps in your FIR filter to see if the problem is in the processing time required. If so, you can either try implementing the ping-pong method and do the processing in blocks, or you can try to reduce the time required for the FIR processing by using a DSPLIB function call.

    Regards,
    RandyP

  • Randy

    Thanks for responding. I have reduced the number of taps upto to 13 and then its working. By block sampling filter process do you mean that at a stretch i receive say 200 samples and do filtering for those inputs(while other buffer is receiving another set of 200 the inputs) would that be possible? Is it possible for me to use DSPLIB functions for 6211 processor if so kindly give me details and about any reference datasheets

    Thanks and regards siddharth.