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.

Queries related to McBSP, I2S & TDM mode

Other Parts Discussed in Thread: OMAP3530

I am using OMAP3530 processor. I could see that the McBSP's can be used to interface with the I2S devices. I have the following queries. 1. I2S supports MAX 2 channels, then how could McBSP support multichannel using TDM technique ? 2. If McBSP requires 3 pins for each I2S connection how can McBsp2 support Rx & Tx simultaneously in I2S TDM mode
  • Girisha

    Question 1

    In I2S, each frame has 2 channels. Left or right is identified by the frame sync state. The following figure shows a typical I2S waveform:

    TDM mode can support more channels within a frame. Each channel is identified by its position within the frame and the start of frame is indicated by a frame sync pulse. The following figure shows a TDM waveform with 4 channels:

    These figures were taken from section 21 of the TRM.

     

    Question 2

    The minimum connection is going to be 3-pins, clock, sync, and data. However, this will only allow data to be transferred in one direction.

    For Synchronous bi-directional transfers 4-pins are required, CLKX, FSX, DX, and DR. The Clock (CLKX) and sync (FSX) are shared between the transmit and receive channels. All McBSPs on the OMAP3530 can function in 4-pin mode.

    For asynchronous bi-directional transfers it is necessary to use 6-pins (CLKX,CLKR, FSX, FSR, DX, and DR). Only McBSP1 can be configured for 6-pin mode.

    Paul

  • Looks like formatting is not working. I'll re-edit my post once the forum issues have been fixed. Paul
  • Prevous post is now fixed.

  • As understand from your reply I2S & TDM are 2 seperate data transfer protocols & it is not possible to transfer data in TDM mode(multi channel) using I2S(as it supports only 2 channels).

    I have few more queries

    1. What does it mean by McBSP supports I2S protocol ?

    2. When McBSP in OMAP3530 interacts with external device using I2S protocol it can transfer maximum 2 channels right ?

    3. When McBSP in OMAP3530 interacts with external device using TDM protocol it can transfer upto 128 channels right ?

  • Girisha SG said:

    1. What does it mean by McBSP supports I2S protocol ?

    It simply means that the McBSP supports the protocol. Two channels of data are transmitted/received on the data lines (DX/DR) and the frame sync acts as the word select. The master transmits the clock to synchronise the transfer.  

    Girisha SG said:

    2. When McBSP in OMAP3530 interacts with external device using I2S protocol it can transfer maximum 2 channels right ?

    Correct.

    Girisha SG said:

    3. When McBSP in OMAP3530 interacts with external device using TDM protocol it can transfer upto 128 channels right ?

    Correct.

      Paul

  • Is there any example of TDM protocol usage under McBSP port?

  • I"ve attached an example that transmits/receives 4 8-bit words.

      Paul

    MCBSP_TXRX_DMA_1.zip
  • I am bit confused by the following text from TRM & the above explanations

     1. The I2S link serial interface is a TDM slot based serial interface that is used to transfer audio data

    2. The I2S protocol supports TDM, I2S, left justified, and right justified data formats.

    3. When a McBSP module uses a time-division multiplexed (TDM) data stream while communicating with
    other McBSP modules or serial devices, the McBSP module may need to receive and/or transmit on only
    a few channels.

    As I understand we need to configure the McBSP in TDM mode for multichannel slelction mode.

    I am interested to know when multichannel slelction mode is used by configuring the McBSP in TDM mode is data transfer is compliant to I2S protocol (I am not talking about I2S data format) ?

  • Girisha SG said:

     1. The I2S link serial interface is a TDM slot based serial interface that is used to transfer audio data

    I2S is a TDM interface. It transfers two sub-channels (left & right) using one serial stream. Checkount the Wikipedia page on TDM  http://en.wikipedia.org/wiki/Time-division_multiplexing

    Girisha SG said:

    2. The I2S protocol supports TDM, I2S, left justified, and right justified data formats.

    I think this statement, based on it's location in the TRM, is not 100% accurate. Figure 21-10 shows a TDM waveform with 4 words which is not I2S as I2S supports only 2 words. However, I2S is a TDM format but again it is limited to only 2 channels (words).  The remaining diagrams for I2S,  Left justified, and Right Justified are correct.

    For Wikipedia has more details on I2S at http://en.wikipedia.org/wiki/I2S

    Girisha SG said:

    3. When a McBSP module uses a time-division multiplexed (TDM) data stream while communicating with
    other McBSP modules or serial devices, the McBSP module may need to receive and/or transmit on only
    a few channels.

    This is true when your configuration only requires to receive or transmit on only a few channels out of all the channels been transmitted. For example, a frame may consist of 128 channels. you may only need the data on channels 3 & 4. rather than receive all 128 channels the McBSP can be programmed to receive the data on channels 3 & 4 and ignore the other 126 channels.  This is not a common configuration.

    Girisha SG said:

    As I understand we need to configure the McBSP in TDM mode for multichannel slelction mode.

    I am interested to know when multichannel slelction mode is used by configuring the McBSP in TDM mode is data transfer is compliant to I2S protocol (I am not talking about I2S data format) ?

    The answer abpove explains when mutlichannel selection mode would be used. The TRM covers this in section 21.4.6. Can you give me more details on why you need the multichannel mode? Again, this is not very common.

      Paul