This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

c5505 i2s and dma

Other Parts Discussed in Thread: TMS320VC5505

hai 

            in the tms320vc5505 when i use the chip support library to play the audio output of 1khz using the dma with i2s in dma_interrupt mode and in the dma i uses dma controller0 chan0 and chan1 as transmitting left and right data register. i cant able to hear the 1khz sound .but when i use i2s as polled mode and not using  dma i can easily output through the audio codec . in the real time processing i want to make use of dma.

what to be done by using the dma and i2s 

with regards 

seeni 

  • Hello Seenivasan,

     Similar question wrt I2S was discussed in the forum earlier. Hope this information should help resolve your issue.

    http://e2e.ti.com/support/dsp/c5000/f/109/p/252628/920521.aspx#920521

    Regards

     Vasanth

  • vasantha 

    in the i2s routine i has made the changes that you have menthioned in the link 

     /* Channel type is Mono/Stereo, Set the dependant bit*/
      if(hI2s->chType == I2S_CHAN_MONO)
      {
       CSL_FINST(regs->I2SSCTRL, I2S_I2SSCTRL_FRMT, SET);
       /* Left transmit & recv channel disable */
       CSL_FINST(regs->I2SINTMASK, I2S_I2SINTMASK_XMITST, DISABLE);
       CSL_FINST(regs->I2SINTMASK, I2S_I2SINTMASK_XMITMON, ENABLE);
       CSL_FINST(regs->I2SINTMASK, I2S_I2SINTMASK_RCVST, DISABLE);
       CSL_FINST(regs->I2SINTMASK, I2S_I2SINTMASK_RCVMON, ENABLE);
      }
      else
      {
       CSL_FINST(regs->I2SSCTRL, I2S_I2SSCTRL_FRMT, CLEAR);
       /* Right transmit & recv channel disable */
       CSL_FINST(regs->I2SINTMASK, I2S_I2SINTMASK_XMITST, DISABLE); // steve ENABLE);
       CSL_FINST(regs->I2SINTMASK, I2S_I2SINTMASK_XMITMON, DISABLE);
       CSL_FINST(regs->I2SINTMASK, I2S_I2SINTMASK_RCVST, DISABLE); // steve ENABLE);
       CSL_FINST(regs->I2SINTMASK, I2S_I2SINTMASK_RCVMON, DISABLE);
      }


    i has configure the audio codec using i2s 

    but the problem to me is i am using the dma controller0 and the channel0 and channel1 is assigned to transmit left and right data stored in the memory  using dma interrupt  event (i2s0_tx_event). the source address  is from memory and destination address is i2s0 left and right transmitdata0 register.

    with regards 

    seeni