DSPRelated.com
Forums

Re: Help regarding Sport and DMA

Started by sink...@gmail.com February 17, 2006
	Hi,

I am kind of new to this ADSP....

I am working on the ADSP BF533 EZ-kit lite example
"Audio talk through" .....
In the C code they have set the SLEN$,since the
codec(AD1836)sends 24 bits....
but then the DMA transfer is32 bit....
i don't understand this...
>>> The data words will be moved by DMA as
32-bit words.. since the data being received by CODEC is 24-bit, the 8MSBs will
be padded with zeros (you need to confirm this)

Also... in the chapter Sport,while talking adt this
SLEN..tells that the DMA can dump 32 bit to the TX
buffer of the SPORT of which,the SLEN (in this case
24bits) bits are transfered thor' the sport...
If it does like that,when r the remaining (32-24=8
bits) 8 bits transfered thro' the sport?
>>> these 8 bits will be just ignored.. DMA
will move 32-bit data to the SPORT_TX register.. out of which only 24-bit bits
will transmitted out

Please i am in a pathetic stage.. now at my work..
	
On Fri, 17 Feb 2006 sinkunal@sink... wrote:

> I am kind of new to this ADSP....
>
> I am working on the ADSP BF533 EZ-kit lite example
> "Audio talk through" .....
> In the C code they have set the SLEN$,since the
> codec(AD1836)sends 24 bits....
> but then the DMA transfer is32 bit....
> i don't understand this...
> >>> The data words will be moved by DMA as 32-bit words.. since
the data being received by CODEC is 24-bit, the 8MSBs will be padded with zeros
(you need to confirm this)
>
> Also... in the chapter Sport,while talking adt this
> SLEN..tells that the DMA can dump 32 bit to the TX
> buffer of the SPORT of which,the SLEN (in this case
> 24bits) bits are transfered thor' the sport...
> If it does like that,when r the remaining (32-24=8
> bits) 8 bits transfered thro' the sport?
> >>> these 8 bits will be just ignored.. DMA will move 32-bit data
to the SPORT_TX register.. out of which only 24-bit bits will transmitted out
>
> Please i am in a pathetic stage.. now at my work..

There are 32 bit registers, but only 24 bits get clocked out.  You need to
make sure the data that gets clocked out is in the correct 24 bits.  A
good way to do this is to send patterns like 0x12345678 which is a 32 bit
value, and look at the response.  You may get 0x00345678 or you might
get 0x00123456.  By comparing the actual data collected with what you
sent, it will be easy to make your code work correctly.

Patience, persistence, truth,
Dr. mike