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.

DMA 5502 Transfer complete interrupt

Other Parts Discussed in Thread: TMS320VC5501, SPRC133

Hi Everyone,

I am using 5502 DSP and I am working on DMA , but the problem I am facing is I dont know how to check whether DMA transfer is complete or not. Am using DMA Channel 1

 

 

Thanks & Regards,

Prashant

  • Hi Prashant,

    See Section 12 Monitoring Channel Activity in SPRU613G - TMS320VC5501/5502 DSP Direct Memory Access (DMA) Controller Reference Guide

    You can send an interrupt to the CPU on completion of a half Frame, a Frame, or a Block (multiple frames).

    There are examples that do this in the Chip Support Library for C5502 - http://www.ti.com/tool/sprc133

    Download SPRC133: TMS320C55x Chip Support Library for C5501, C5502, C5509, C5509A, and C5510 devices

    Browse to C:\Program Files\C55xxCSL\examples\c5502\csl\dma (or wherever the C55xxCSL is extracted on your computer)

    Hope this helps,
    Mark

  • Hi Mark,

    Sorry for the delayed reply.

    I was on some other work I didn't concentrated on DMA. Now I viewed your reply regarding DMA transfer complete interrupt. I have attached my C file and I am transferring 200 words and on INT0 Sync and I want theDMA transfer to be in loop therefore I used while loop, but it is not in loop because of it is not satisfying the below instructions

                    do                                          
                    {
             
                    }while((*(ioport int *)DMA_CSR1!=  0x0004) );

    I want 200 words to be completely transfer and then it has to repeat again whenever it comes out of the above loop.

    Please let me know how to check the DMA transfer complete if possible please give the register settings information.



    Thanks & Regards,

    Prashant