Sign in

username or email:

password:



Not a member?
Forgot your password?

Search compdsp



Search tips

Ads

Discussion Groups

Free Online Books

See Also

Embedded SystemsFPGA

Discussion Groups | Comp.DSP | Can QDMA be paused by the CPU (TI, 67xx)

There are 3 messages in this thread.

You are currently looking at messages 1 to .


Is this discussion worth a thumbs up?

0

Can QDMA be paused by the CPU (TI, 67xx) - howy - 2004-11-11 18:18:00

Hi folks, 

On a TI c6713 DSP I have the QDMA sending a few Mbytes per second (a
few kbytes per transfer) of data from SDRAM to a hard drive
periodically.  Each QDMA data transfer lasts longer than a few audio
processing interrupts.  The audio processing interrupt is a great time
for this transfer to happen since SDRAM is hardly accessed and
therefore the QDMA transfer happens almost for free. The problem is
that there is one routine in the audio interrupt that accesses SDRAM
significantly, and therefore each SDRAM access turns into an
out-of-page hit which slows the system down terribly. Changing the
QDMA priority wont help since the offending routine is not accessing
SDRAM fast enough to completely hold off the QDMA transfers.

Is there a way to pause a QDMA transfer that is already in progress so
I can turn it off only during this single portion of the audio
interrupt?

thanks,
-howy
______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Can QDMA be paused by the CPU (TI, 67xx) - Brad Griffis - 2004-11-12 22:42:00



Once the QDMA request has been submitted there's no stopping it.  You'll 
need to figure another way around it.  How about putting the variables being 
accessed by your ISR into L2 RAM so that you eliminate the external accesses 
entirely?

Brad

"howy" <h...@zaxcom.com> wrote in message 
news:e...@posting.google.com...
> Hi folks,
>
> On a TI c6713 DSP I have the QDMA sending a few Mbytes per second (a
> few kbytes per transfer) of data from SDRAM to a hard drive
> periodically.  Each QDMA data transfer lasts longer than a few audio
> processing interrupts.  The audio processing interrupt is a great time
> for this transfer to happen since SDRAM is hardly accessed and
> therefore the QDMA transfer happens almost for free. The problem is
> that there is one routine in the audio interrupt that accesses SDRAM
> significantly, and therefore each SDRAM access turns into an
> out-of-page hit which slows the system down terribly. Changing the
> QDMA priority wont help since the offending routine is not accessing
> SDRAM fast enough to completely hold off the QDMA transfers.
>
> Is there a way to pause a QDMA transfer that is already in progress so
> I can turn it off only during this single portion of the audio
> interrupt?
>
> thanks,
> -howy 


______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.

Re: Can QDMA be paused by the CPU (TI, 67xx) - howy - 2004-11-15 13:33:00

>Once the QDMA request has been submitted there's no stopping it.
>You'll need to figure another way around it.  How about putting
>the variables being accessed by your ISR into L2 RAM so that you
>eliminate the external accesses entirely?

The offending SDRAM accesses that are colliding are audio FIFOs which
are 20Mbytes in size.  I may try to break up the QDMA into smaller
blocks, so they get done before that portion of the interrupt.  It
might also be more beneficial to use a manual foreground copy instead
of QDMA under these conditions.



thanks,
-howy
______________________________
New DSP Code Snippets Section now Live.   Learn more about the reward program for contributors here.