DSPRelated.com
Forums

EDMA transfer to C6711 DSK onboard codec

Started by s220...@tuks.co.za November 17, 2005
Hi there everyone

I desperately need to get the following working (I only have a few days) and would really appreciate ANY input whatsoever!

I am implementing a simple audio player on the C6711 DSK using the onboard AD535 codec for mono audio output. I need the CPU for decoding purposes, while outputting the samples via EDMA. (I am trying a simple ping pong buffering arrangement)

My problem is that when I fill the output buffers with my audio samples via the decoding process, the EDMA refuses to output the samples to the DAC. I only get an initial noise when initializing the EDMA. However, when I manually define samples (a simple sine wave) in an array for output, the EDMA setup seems to work. I have even succesfully tested linking and swapping the output ping pong buffer values for continuous output of the sine wave samples.

The samples generated by the decoding algorithm are verified to be correct (16 bit signed pcm), by dumping the data to file, and also produce correct output when I use the polling output method.

Any ideas would be greatly appreciated.

Thank you!

Daniel.


Hi!
     One thing to be sure on for the AD535:
The AD535 codec uses a bit, the least significan bit, to go into the command mode.  You must zero out this bit by logic Anding the output data stream with 0xfffe, ex: output &= 0xfffe /* before you copy this output word to the output buffer*/
 
Regards,
/Khalid
 
 
-----Original Message-----
From: s...@tuks.co.za
To: c...@yahoogroups.com
Sent: Thu, 17 Nov 2005 13:07:41 -0500
Subject: [c6x] EDMA transfer to C6711 DSK onboard codec

Hi there
everyone
I desperately need to get the following working (I only have a few days) and
would really appreciate ANY input whatsoever!
I am implementing a simple audio player on the C6711 DSK using the onboard AD535
codec for mono audio output. I need the CPU for decoding purposes, while
outputting the samples via EDMA. (I am trying a simple ping pong buffering
arrangement)
My problem is that when I fill the output buffers with my audio samples via the
decoding process, the EDMA refuses to output the samples to the DAC. I only get
an initial noise when initializing the EDMA. However, when I manually define
samples (a simple sine wave) in an array for output, the EDMA setup seems to
work. I have even succesfully tested linking and swapping the output ping pong
buffer values for continuous output of the sine wave samples.
The samples generated by the decoding algorithm are verified to be correct (16
bit signed pcm), by dumping the data to file, and also produce correct output
when I use the polling output method.
Any ideas would be greatly appreciated.
Thank you!
Daniel.