AnsweredAssumed Answered

DMA Chaining on ADSP 21489

Question asked by jobe on Dec 3, 2012
Latest reply on Dec 6, 2012 by jobe


I've got a question concerning DMA chaining.

I'm using a ADSP 21489 EZ light board and the CCES.


just for a test, I want to send data from SPORT0 to SPORT1 and I want to get the transmission time.


I use DMA chaining as shown in the example AD1939_Bock_Base_Talkthru_192KHz. As I direktly connect SPORT0 (sender) and SPORT1(receiver) I use two interrupt service routines.


What about the timing of the interrups an when can I use which TDM for reading or writing data? I've already seen, that the interrups of the sender occur exactly in between the FrameSync pulses of the SPORT. The interrups of the receiver occur short after the FS pulse. So I think, it should work like this:



                                    data0    data1

Interrupt Sender SPORT0               |       |

Time                        ------------------------------------------------

FS Pulses                        |       |       |       |

Data on the bus                            data0   data1

Interrupt Receiver SPORT1                         |

                                                read data0


Is this correct so far?


So, where can I get the information, from which TCB I can read data and to which TCB should I write the new Data?


I attach my test program. I will need exact timing and just counting the interrups to dermine which TCB to use does not seem to work always.


thanks for your help,