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.

TMS320C6654: About configuration of FS sync triggered by "pulse edge"

Part Number: TMS320C6654

Hi,

I use McBSP as audio I2S(TDM) interface with external BCLK(CLKR or CLKX) and LRCK(FSR or FSX).
I recognized that FSR/FSX is triggered by "Active H or L" and this isn't triggerd "falling edge or rising edge". Is this correct?

My configuration is the follow.

/**< clock setup for the TX section                     */
Mcbsp_ClkSetup mcbspClkConfigTx_0 =
{
    Mcbsp_FsClkMode_EXTERNAL,
    48000,                   /* 48KHz                   */
    Mcbsp_TxRxClkMode_EXTERNAL,
    Mcbsp_FsPol_ACTIVE_LOW,
    Mcbsp_ClkPol_FALLING_EDGE
};


/**< clock setup for the RX section                     */
Mcbsp_ClkSetup mcbspClkConfigRx_0 =
{
    Mcbsp_FsClkMode_EXTERNAL,
    48000,                   /* 48KHz                   */
    Mcbsp_TxRxClkMode_EXTERNAL,
    Mcbsp_FsPol_ACTIVE_LOW,
    Mcbsp_ClkPol_RISING_EDGE
};

If it is correct, What is the simplest method to be triggered "Edge" ?
regards,

  • Hi,

    The McBSP is uses the BCLK edge, not the FSR/FSX edge. FSR/FSX must be in a valid state at the edge of BCLK (rising or falling depending on polarity). At that first BCLK edge the frame will begin.

    You can trigger on FSR/FSX with a GPIO, and then start McBSP so that it is ready for the second FSR/FSX edge (after the first edge was detected by GPIO interrupt).

    To do this, hold the transmitter and/or receiver in reset (XRST/RRST) until the first FSR/FSX is detected by a GPIO (either with FSR/FSX routed to a separate GPIO or on the same pin as FSR/FSX with pinmuxing).

    Refer to SPRUHH0 Section 2.12.2 Special Case: External Device is the Transmit Frame Master

    Hope this helps,
    Mark