AnsweredAssumed Answered

SPORT DMA Chaining in Standard Mode (ADSP21065L)

Question asked by Adeel on Sep 29, 2011
Latest reply on Jan 24, 2012 by DeepV

Hi All,

          I own ADSP-21065L EZ-Kit and want to use SPORT0 via DMA Chaining in standard mode. My requirement is to output data at a rate of 10Mbps via SPORT0 using internal clock. Initially the data could be anything stored in the internal RAM. I am using the follwoing code:

 

main ()

{

int tbuf[8];

for (i=0;i<8;i++)

tbuf[i]=0xEDE2EDE2; //any bit pattern

int xmit_tcb[4];

*REG_IIT0A = (u_int)&tbuf[0];

*REG_IMT0A =1;

*REG_CT0A=8;

xmit_tcb[3]=(u-int)&tbuf[0];

xmit_tcb[2]=1;

xmit_tcb[1]=8;

xmit_txb[0]=(u_int)&tbuf[0] | 0x20000;//entry for chain pointer

*REG_TDIV0=0x00000005;//for a serial clock of 10Mhz with 30MHz input clock

*REG_STCTL0=0x000c05f1;//to use internal clock,SLEN=32,DMA & DMA chain enable, SPORT enable

*REG_CPT0A = ((u_int)&tbuf[0] | 0x20000);

 

while(1)

{

}}

I haven't used any interrupt routine as I want the dma to continuously output data stored in tbuf at the aforesaid clock. However, I am only observing

clock output at TCLK pin and no data output. Please suggest whether I also need to process interrupt SPORT0 DMA interrupt (when DMA has finished sending all the words). If yes, can someone provide me with the same 'isr' as I am new to ADSP development.

 

Thanks,

Adeel Malik

Outcomes