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.

C6748 Frame capture rate slows down inter mittentlywhen EDMA3 is running

Hello E2E Community,

We have an application that is modeled using the VPIF (facedetect) example that captures D1 frames at 30 frames per second (fps).  We added an EDMA3 task that is modeled using the EDMA (edmatest) example to subsample the captured D1 frames down to 360 x 240 for our image processing algortithm.  The EDMA3 transfer has being tested and works correctly taking only 2 milliseconds to run.  The example code is used as it with minimal changes.

When we run the application without the EDMA3 enabled, it captures the D1 frames at 30 fps without any degradation.  We have tested this overnight without any problems.

When we enable the EDMA3 transfer (subsampling) the application will run for some time and than the frame rate will drop from 30 fps to about 3 to 5 fps.  Eventually, it will recover back to 30 fps.  This will run for some time and than start over again going from 30 fps down to 3 to 5 fps.

I am at my wits end this whole weekend trying to figure out what might be the cause of this problem.  Can anyone shed some light to this problem?

Thanks,
JumpStart

  • Hello E2E Community,

    I have additional information to the original post.  I modified the subsampling task to not use EDMA3 transfers,  I use a function to subsample the D1 image.  So far I have not see a degradation to the 30 fps.  I believe my problem is in the use of the EDMA3 transfer mechanism.  Hope this extra information will give the experts the data to help diagnosis my problem.

    Thsnks,
    JumpStart

  • JumpStart,

    Please explain more about how you are observing the frame rate dropping. Are you missing interrupts or losing data? I assume your incoming data clock rate is staying at the same rate, so the data should be coming in at the same rate and the DMA engine in the VPIF should be trying to write data at the same rate. So the actual effect you are seeing could be a variety of things.

    The most common conflict between EDMA3 and other DMA masters is a target memory conflict. The most common resolution is to break the EDMA3 transfer into smaller bursts or make sure there is time between each line burst.

    The use of DSP code to do the subsampling has the same effect of rate-limiting of the data.

    Where is the destination for the VPIF DMA and where are the source & destination for the subsampling?

    Regards,
    RandyP