DSPRelated.com
Forums

TMS320C6713 EDMA Problem

Started by avai...@gmail.com September 2, 2010
I am using TMS320C6713 DSP in my project.
1) I want to write single fix byte periodically to EMIF CE3 by using timer interrupt.
2) I want to read single fix byte from EMIF CE3 at external gpio interrupt.

Read and write strobe widths are 600nsec. i think processor stalls at read and write. In order to make procedure more efficient i tried to use EDMA because EDMA can read and write from external address without interrupting the processor.

It was obseved that the our system became even slower by using the EDMA?

Can anybody explain this to me.
Can anybody suggest alternative solution to using edma so that we can perform read and write without interrupting the CPU

_____________________________________
avais,

The Timer periodic interrupt event is going to interrupt the CPU, so I see no way to
avoid that.
However, since it is only one byte, the timer interrupt handler function could be
nothing more than a simple assignment (read and write) to the I/O address.

The GPIO interrupt event is going to interrupt the CPU, so I see no way to avoid that.
However, since it is only one byte, the interrupt handler function could be nothing
more than a simple assignment (read and save) from the I/O address.

The EDMA is for moving lots of data without interrupting the CPU, except for the CPU
starting the I/O sequence and an interrupt event to signal the I/O sequence is
completed. Your only moving one byte of data and EDMA cannot be setup to operate
periodically so EDMA will not do the job for you.

Almost always, reads and writes through the EMIF interface involve some number of wait
states to wait for the completion of the read or write operation.

The EMIF interface should be setup only once during program initialization.

EDMA requires starting, which takes some CPU time. That is going to slow down the
operation when the I/O is periodic, so it is just wasting CPU cycles to use it for your
application. EDMA is for moving lots of data without the CPU having to do more than
start the operation and handle the interrupt that occurs when the operation is
complete.

For your application, a couple of simple interrupt event handlers will be much faster
than EDMA.

If your still having problems, a couple code snips of the interrupt event handlers
would help us to suggest fixes.

R. Williams
---------- Original Message -----------
From: a...@gmail.com
To: c...
Sent: Wed, 01 Sep 2010 23:47:24 -0400
Subject: [c6x] TMS320C6713 EDMA Problem

> I am using TMS320C6713 DSP in my project.
> 1) I want to write single fix byte periodically to EMIF CE3 by using
> timer interrupt. 2) I want to read single fix byte from EMIF CE3 at
> external gpio interrupt.
>
> Read and write strobe widths are 600nsec. i think processor
> stalls at read and write. In order to make procedure more efficient i
> tried to use EDMA because EDMA can read and write from external
> address without interrupting the processor.
>
> It was obseved that the our system became even slower by using the EDMA?
>
> Can anybody explain this to me.
> Can anybody suggest alternative solution to using edma so that we can
> perform read and write without interrupting the CPU
------- End of Original Message -------

_____________________________________