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.

PCM1681: TDM format with SCK=BCLK

Part Number: PCM1681

Hi Teams,

I do not have system clock to drive PCM1681, but fortunately, I use TDM audio format. I plan to drive SCK by BCLK.

Here some questions about it

1. What is the bit length or audio content that TDM requires? because in the FMT1 and FMT0 setting, it only allows 24bit, not 16bit. 

2. And, to satisfy the TDM requirement, the SCK(I do not have system clock, so SCK=BCLK in my case) must be 128fs or 256fs. That means, the audio length is 32bit, total 8 channels, content is 24bit. Am I right?

3. Moreover, is 16bit audio content in TDM mode allowable? that means, 16 bit data with another 16 bit zero, total 32bit length.

I feel confused about the bit length or word width... thanks for any feedback.

  • Nick,

    We will provide a reply by tomorrow US time.

  • Hi Nick,

    In hardware mode, only 24-bit bit I2S TDM mode is supported.  That ideally means that each channel has 24 bits of data with 8 addition bits of "don't-care" data, for a total of 32bits per channel.  In your case, you can use 16 bits of the data and 16 bits of "don't-care" data.  This would give you a BCK of 8*32 = 256×fs.  Only in software mode can you use the 128×fS.  

    As I2S is a left-justified format, the PCM does not really care if you are using 16bit or 24-bit data.  If you use 16-bit data, then it will just assume the lower 8 bits are 0.

    Thanks,

    Paul

  • Hi Paul,

    The feedback almost answers my question. Let my summarize as below diagram:

    In HW mode, TDM is I2S format(shift 1bit), and support both 16bit (with additional 16bit zero don't care) and 24bit (with 8bit zero don't care). Total BCLK=SCK=256fs.

    I did not study SW mode much, because I am focus on HW mode, but I guess SW mode is more flexible than HW mode.

    Please correct me if there is any misunderstanding. Many thanks!

  • Your understanding is correct.  We are limited by the pins in hardware mode.  In software mode, you can implement more I2S variants.

    Thanks!

    Paul