AnsweredAssumed Answered

BF548 SPORT DTPRI/DTSEC Multi-channel DMA

Question asked by JG.9872 on Feb 10, 2011
Latest reply on Feb 10, 2011 by WassimB

I am searching for clarification about the interaction of various features on the BF548 SPORT.  I will have SPORT2 connected to two AD1938 audio codecs, one on DT/DR2PRI, the other on DT/DR2SEC, both configured to use TDM data modes (I currently only have one for development).  On the BF548 I am using multi-channel mode and packed 2D DMA (ping-pong style descriptors) to move the incoming/outgoing data into the proper buffers.  My question relates to how this all fits together once I add in the second codec on DT/DR2SEC; does the multi-channel setup alter the interleaving of the primary/secondary data in the SPORTx_TX/RX register in any way?  For instance, if I wanted to receive data on channel 1 of the first codec (C1_1) and channel 3 of the second codec (C2_3), would I have my DMA move a sample for C1_1 followed immediatly by a sample for C2_3 and interleave the multi-channel select registers like this:

 

SPORT2_MRCS0 : 0000 0000 0000 0000 0000 0000 0010 0001

  Codec 2 chan 3 enable__________________________| |  | | | |

  Codec 1 chan 3 disable __________________________|  | | | |

  Codec 2 chan 2 disable____________________________| | | |

  Codec 1 chan 2 disable_____________________________| | |

  Codec 2 chan 1 disable______________________________| |

  Codec 1 chan 1 enable _______________________________|

 

Or is the channel number only incremented after reading a "primary" piece of data from the SPORTx_RX, not a secondary?

 

Thanks, and I'm sorry if my little drawing there displays oddly once this is posted.

Outcomes