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.

TIDA-01454: Make many CMBs, sample exactly at the same time

Part Number: TIDA-01454
Other Parts Discussed in Thread: PCM1864

Hello,

How can I have 9 of these CMBs sampling exactly at the same time?

I have thought of having an external clock  and distribute it to them. But how can can I achieve this? What do I need in order to do this? An MCLK and a PLL? Could you provide some example of these? Would the wire length  of the distribution have to be exactly the same to achieve this?

According to configuration I understand I would have to configure with I2C this line:

0x94 0x20 0x01 // MST_MODE: Slave; CLKDET_EN: Enable

But should I change anything more?

If you have any other solution to achieve my goal, I would be glad to hear it.

Thanks in advance

  • Hi Mikel,

    You would need to set each board to slave mode, and then distribute MCLK, LRCLK, and BCLK to each part from a single source. Because of all the connections I would recommend small termination resistors to prevent reflections. Wire length is important depending on how far the runs need to be. I'd recommend them to be as short as possible.

    Best regards,

    Jeff

  • Hi Jeff,

    Thank you for your answer, could you provide an example of a clock source that would work here?

  • Hi Mikel,

    I'm not familiar with the clock generation products, but you can find them here: https://www.ti.com/clocks-timing/generators/products.html

    An alternative which may be better is to use 1 PCM864 as a master like in the user guide while using all other as slaves, sharing the clock lines between all slave devices.

    Best regards,

    Jeff

  • Hello Jeff,

    In order to use a 1 PCM1864 as a master for all of them, how would be the configuration and wire connection? Assuming 2 CMBs to simplify:

    CMB1 as master and CMB2 as slave. CMB1 should I change anything in the configuration? Or as it is master it already outputs the clock in MCLK pin?

    In the CMB2 I should change   0x94 0x20 0x01 // MST_MODE: Slave; CLKDET_EN: Enable   and anything else? 

    The wire connections should be something like this?

    CMB1 CMB2
    MCLK MCLK
    LRCLK LRCLK
    BCLK BCLK

     But are LRCLK and BCLK needed? I mean as the clock source is equal to the ones that they usually use, do we need them?

    Thank you,

    Mikel

  • Hi Mikel,

    The Master CMB1 would be configured as normal (with 1 PCM1864 acting as master and the other as slave). All other PCM1864s will be set to slave. Because all other parts are slave, they need to be connected to the external MCLK as well as the clocks generated by the master PCM1864. This includes the BCLK and LRCLK.

    Best regards,

    Jeff

  • Hi Jeff,

    According to the wires, probably the CMBs could be up to 5 meters away from each other, is that possible? Can a clock travel that long and stay accurate?

    Thanks,

    Mikel

  • Hi Mikel,

    That should be fine given that I2S clocks are relatively slow, but you will definitely need termination resistors to keep reflections from distorting the signal.

    Best regards,

    Jeff