About I2S signal bridge configuration on NXP RT595

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

About I2S signal bridge configuration on NXP RT595

168 次查看
PASA
Contributor I

Is it possible to internally route the I2S signals in the RT595 from the Flexcomm1 input pins J15 (I2S BCLK) and H12 (I2S WS) to the Flexcomm4 output pins A12 (BCLK) and B11 (WS)? If so, how should this be configured?


HW connection:
External I2S audio source -> RT595 I2S input -> RT595 I2S output -> External I2S Speaker AMP


--RT595 I2S input side (Flexcomm1):
I2S BCLK -> [J15] PIO0_7/FC1_SCK (FUNC1)
I2S WS -> [H12] PIO0_8/FC1_TXD_SCL_MISO_WS (FUNC1)
I2S Data -> [H17] PIO0_9/FC1_RXD_SDA_MOSI_DATA (FUNC1)

--RT595 I2S output side (Flexcomm4):
I2S BCLK -> [A12] PIO0_28/ I2S_BRIDGE_CLK_OUT (FUNC5)
I2S WS -> [B11] PIO0_29/ I2S_BRIDGE_WS_OUT (FUNC5)
I2S Data -> [D14]PIO0_30/FC4_RXD_SDA_MOSI_DATA (FUNC1)


For BCLK and WS, we prefer to directly pass these native signals from the RT595 input pins (J15/H12) to the output pins (A12/B11), rather than regenerating them inside the RT595, to keep the “Ext. I2S → RT595 → Ext. AMP” signal path synchronized to the external BCLK/WS.

Below is my current configuration; however, it is not working, and I do not observe any signal on A12/B11.

 

1. Set FC1 J15/H12 as FUNC1 in pin_mux.c
2. Set FC4 A12/B11 as FUNC5
3. Configure bridge

----------------------------------------------------------------
/* --- I2S BRIDGE: route external Flexcomm1 SCK/WS to Flexcomm4 and bridge pins --- */
I2S_BRIDGE_SetShareSignalSrc(kI2S_BRIDGE_ShareSet0, kI2S_BRIDGE_SignalSCK, kI2S_BRIDGE_Flexcomm1);
I2S_BRIDGE_SetShareSignalSrc(kI2S_BRIDGE_ShareSet0, kI2S_BRIDGE_SignalWS, kI2S_BRIDGE_Flexcomm1);
I2S_BRIDGE_SetFlexcommSignalShareSet(kI2S_BRIDGE_Flexcomm4, kI2S_BRIDGE_SignalSCK, kI2S_BRIDGE_ShareSet0);
I2S_BRIDGE_SetFlexcommSignalShareSet(kI2S_BRIDGE_Flexcomm4, kI2S_BRIDGE_SignalWS, kI2S_BRIDGE_ShareSet0);

/* --- Init RX Interface (I2S1, Slave, from External I2S) --- */
I2S_RxGetDefaultConfig(&rxFromExti2sConfig);
rxFromExti2sConfig.masterSlave = kI2S_MasterSlaveNormalSlave;
I2S_RxInit(I2S1, &rxFromExti2sConfig);

/* --- Init TX Interface (I2S4, Slave, to speaker Amp) --- */
I2S_TxGetDefaultConfig(&txToAMPConfig);
txToAMPConfig.masterSlave = kI2S_MasterSlaveNormalSlave;
I2S_TxInit(I2S4, &txToAMPConfig);
----------------------------------------------------------------

 

Platform: RT595 (MIMXRT595SFFOCR / BGA249)
SDK: v25.6

 

Any suggestion would be greatly appreciated.

标签 (1)
0 项奖励
回复
1 回复

114 次查看
mayliu1
NXP Employee
NXP Employee

Hi @PASA ,

Thank you so much for your interest in our products and for using our community.

I have reviewed your code and I think there are a few parts that need to be double check.

1: I2S4 should be set as master.

mayliu1_0-1763608912218.png

2: Did you configure the CLOCK_AttachClk(kAUDIO_PLL_to_FLEXCOMMX);

3: Did you use your customed board or NXP development board. I suggest you can refer to this SDK demo "evkmimxrt595_i2s_dma_transfer"

Wish it helps you.
If you still have question about it, please kindly let me know. 

Best Regards
MayLiu

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2207459%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%85%B3%E4%BA%8E%E6%81%A9%E6%99%BA%E6%B5%A6%20RT595%20%E4%B8%8A%E7%9A%84%20I2S%20%E4%BF%A1%E5%8F%B7%E6%A1%A5%E9%85%8D%E7%BD%AE%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2207459%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E6%98%AF%E5%90%A6%E5%8F%AF%E4%BB%A5%E5%B0%86%20RT595%20%E4%B8%AD%E7%9A%84%20I2S%20%E4%BF%A1%E5%8F%B7%E4%BB%8E%20Flexcomm1%20%E8%BE%93%E5%85%A5%E5%BC%95%E8%84%9A%20J15%EF%BC%88I2S%20BCLK%EF%BC%89%E5%92%8C%20H12%EF%BC%88I2S%20WS%EF%BC%89%E5%86%85%E9%83%A8%E8%B7%AF%E7%94%B1%E5%88%B0%20Flexcomm4%20%E8%BE%93%E5%87%BA%E5%BC%95%E8%84%9A%20A12%EF%BC%88BCLK%EF%BC%89%E5%92%8C%20B11%EF%BC%88WS%EF%BC%89%EF%BC%9F%E5%A6%82%E6%9E%9C%E6%98%AF%EF%BC%8C%E5%BA%94%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%EF%BC%9F%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CBR%20%2F%3E%E7%A1%AC%E4%BB%B6%E8%BF%9E%E6%8E%A5%EF%BC%9A%3CBR%20%2F%3E%E5%A4%96%E9%83%A8%20I2S%20%E9%9F%B3%E6%BA%90%20-%26gt%3B%20RT595%20I2S%20%E8%BE%93%E5%85%A5%20-%26gt%3B%20RT595%20I2S%20%E8%BE%93%E5%87%BA%20-%26gt%3B%20%E5%A4%96%E9%83%A8%20I2S%20%E6%89%AC%E5%A3%B0%E5%99%A8%E6%94%BE%E5%A4%A7%E5%99%A8%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CBR%20%2F%3E--RT595%20I2S%20%E8%BE%93%E5%85%A5%E7%AB%AF%EF%BC%88Flexcomm1%EF%BC%89%EF%BC%9A%3CBR%20%2F%3EI2S%20BCLK%20-%26gt%3B%20%5BJ15%5D%20PIO0_7%2FFC1_SCK%20(FUNC1)%3CBR%20%2F%3EI2S%20WS%20-%26gt%3B%20%5BH12%5D%20PIO0_8%2FFC1_TXD_SCL_MISO_WS%20(FUNC1)%3CBR%20%2F%3EI2S%20Data%20-%26gt%3B%20%5BH17%5D%20PIO0_9%2FFC1_RXD_SDA_MOSI_DATA%20(FUNC1)%3CBR%20%2F%3E%3CBR%20%2F%3E--RT595%20I2S%20%E8%BE%93%E5%87%BA%E7%AB%AF%EF%BC%88Flexcomm4%EF%BC%89%EF%BC%9A%3CBR%20%2F%3EI2S%20BCLK%20-%26gt%3B%20%5BA12%5D%20PIO0_28%2F%20I2S_BRIDGE_CLK_OUT%20(FUNC5)%3CBR%20%2F%3EI2S%20WS%20-%26gt%3B%20%5BB11%5D%20PIO0_29%2F%20I2S_BRIDGE_WS_OUT%20(FUNC5)%3CBR%20%2F%3EI2S%20Data%20-%26gt%3B%20%5BD14%5DPIO0_30%2FFC4_RXD_SDA_MOSI_DATA%20(FUNC1)%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%3CBR%20%2F%3E%E5%AF%B9%E4%BA%8E%20BCLK%20%E5%92%8C%20WS%EF%BC%8C%E6%88%91%E4%BB%AC%E5%80%BE%E5%90%91%E4%BA%8E%E5%B0%86%E8%BF%99%E4%BA%9B%E6%9C%AC%E5%9C%B0%E4%BF%A1%E5%8F%B7%E4%BB%8E%20RT595%20%E8%BE%93%E5%85%A5%E5%BC%95%E8%84%9A%20(J15%2FH12)%20%E7%9B%B4%E6%8E%A5%E4%BC%A0%E9%80%92%E5%88%B0%E8%BE%93%E5%87%BA%E5%BC%95%E8%84%9A%20(A12%2FB11)%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%E5%9C%A8%20RT595%20%E5%86%85%E9%83%A8%E8%BF%9B%E8%A1%8C%E5%86%8D%E7%94%9F%EF%BC%8C%E4%BB%A5%E4%BF%9D%E6%8C%81%20%22Ext.Ext.WS%22%E3%80%82I2S%20%E2%86%92%20RT595%20%E2%86%92%20Ext.AMP%20%22%E4%BF%A1%E5%8F%B7%E8%B7%AF%E5%BE%84%E4%B8%8E%E5%A4%96%E9%83%A8%20BCLK%2FWS%20%E5%90%8C%E6%AD%A5%E3%80%82%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E4%BB%A5%E4%B8%8B%E6%98%AF%E6%88%91%E7%9B%AE%E5%89%8D%E7%9A%84%E9%85%8D%E7%BD%AE%EF%BC%8C%E4%BD%86%E5%AE%83%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%8C%E6%88%91%E5%9C%A8%20A12%2FB11%20%E4%B8%8A%E6%B2%A1%E6%9C%89%E8%A7%82%E5%AF%9F%E5%88%B0%E4%BB%BB%E4%BD%95%E4%BF%A1%E5%8F%B7%E3%80%82%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E1.%E5%9C%A8%20pin_mux.c%20%E4%B8%AD%E5%B0%86%20FC1%20J15%2FH12%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%20FUNC1%3CBR%20%2F%3E2.%E5%B0%86%20FC4%20A12%2FB11%20%E8%AE%BE%E7%BD%AE%E4%B8%BA%20FUNC5%3CBR%20%2F%3E3.%E9%85%8D%E7%BD%AE%E6%A1%A5%E6%8E%A5%E5%99%A8%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E----------------------------------------------------------------%3CBR%20%2F%3E%2F*%20---%20i2s%20%E6%A1%A5%E6%8E%A5%E5%99%A8%EF%BC%9A%E5%B0%86%E5%A4%96%E9%83%A8%20Flexcomm1%20SCK%2FWS%20%E8%B7%AF%E7%94%B1%E8%87%B3%20Flexcomm4%20%E5%92%8C%E6%A1%A5%E6%8E%A5%E5%BC%95%E8%84%9A%20---%20*%2F%3CBR%20%2F%3EI2S_BRIDGE_SetShareSignalSrc(kI2S_BRIDGE_ShareSet0%2C%20kI2S_BRIDGE_SignalSCK%2C%20kI2S_BRIDGE_Flexcomm1)%EF%BC%9B%3CBR%20%2F%3EI2S_BRIDGE_SetShareSignalSrc(kI2S_BRIDGE_ShareSet0%2C%20kI2S_BRIDGE_SignalWS%2C%20kI2S_BRIDGE_Flexcomm1)%EF%BC%9B%3CBR%20%2F%3EI2S_BRIDGE_SetFlexcommSignalShareSet(kI2S_BRIDGE_Flexcomm4%2C%20kI2S_BRIDGE_SignalSCK%2C%20kI2S_BRIDGE_ShareSet0)%3B%3CBR%20%2F%3EI2S_BRIDGE_SetFlexcommSignalShareSet(kI2S_BRIDGE_Flexcomm4%2C%20kI2S_BRIDGE_SignalWS%2C%20kI2S_BRIDGE_ShareSet0)%EF%BC%9B%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%20---%20Init%20RX%20Interface%20(I2S1%2C%20Slave%2C%20from%20External%20I2S)%20---%20*%2F%3CBR%20%2F%3EI2S_RxGetDefaultConfig(%26amp%3BrxFromExti2sConfig)%3B%3CBR%20%2F%3ErxFromExti2sConfig.masterSlave%20%3D%20kI2S_MasterSlaveNormalSlave%3B%3CBR%20%2F%3EI2S_RxInit(I2S1%2C%26amp%3BrxFromExti2sConfig)%3B%3CBR%20%2F%3E%3CBR%20%2F%3E%2F*%20---%20Init%20TX%20Interface%20(I2S4%2C%20Slave%2C%20to%20speaker%20Amp)%20---%20*%2F%3CBR%20%2F%3EI2S_TxGetDefaultConfig(%26amp%3BtxToAMPConfig)%3B%3CBR%20%2F%3EtxToAMPConfig.masterSlave%20%3D%20kI2S_MasterSlaveNormalSlave%3B%3CBR%20%2F%3EI2S_TxInit(I2S4%2C%26amp%3BtxToAMPConfig)%3B%3CBR%20%2F%3E----------------------------------------------------------------%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%3CSPAN%3E%E5%B9%B3%E5%8F%B0%EF%BC%9ART595%20(MIMXRT595SFFOCR%20%2F%20BGA249)%3CBR%20%2F%3ESDK%EF%BC%9Av25.6%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E5%A6%82%E6%9C%89%E4%BB%BB%E4%BD%95%E5%BB%BA%E8%AE%AE%EF%BC%8C%E6%88%91%E4%BB%AC%E5%B0%86%E4%B8%8D%E8%83%9C%E6%84%9F%E6%BF%80%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2207459%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3E%E9%9F%B3%E9%A2%91%EF%BC%88PDM%20%7C%20I2S%20%7C%20SAI%EF%BC%89%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2217194%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20About%20I2S%20signal%20bridge%20configuration%20on%20NXP%20RT595%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2217194%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F256958%22%20target%3D%22_blank%22%3E%40PASA%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E9%9D%9E%E5%B8%B8%E6%84%9F%E8%B0%A2%E6%82%A8%E5%85%B3%E6%B3%A8%E6%88%91%E4%BB%AC%E7%9A%84%E4%BA%A7%E5%93%81%E5%B9%B6%E4%BD%BF%E7%94%A8%E6%88%91%E4%BB%AC%E7%9A%84%E7%A4%BE%E5%8C%BA%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%88%91%E6%9F%A5%E7%9C%8B%E4%BA%86%E4%BD%A0%E7%9A%84%E4%BB%A3%E7%A0%81%EF%BC%8C%E8%A7%89%E5%BE%97%E6%9C%89%E5%87%A0%E4%B8%AA%E9%83%A8%E5%88%86%E9%9C%80%E8%A6%81%E4%BB%94%E7%BB%86%E6%A3%80%E6%9F%A5%E3%80%82%3C%2FP%3E%0A%3CP%3E1%EF%BC%9A%3CSPAN%3EI2S4%20%E5%BA%94%E8%AE%BE%E7%BD%AE%E4%B8%BA%E4%B8%BB%E7%AB%99%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22mayliu1_0-1763608912218.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22mayliu1_0-1763608912218.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F366566i414D91785F4C5EE0%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22mayliu1_0-1763608912218.png%22%20alt%3D%22mayliu1_0-1763608912218.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E2%3A%20%E6%82%A8%E6%98%AF%E5%90%A6%E9%85%8D%E7%BD%AE%E4%BA%86%3CSPAN%3E%20CLOCK_AttachClk(kAUDIO_PLL_to_%3CFONT%20color%3D%22%23FF0000%22%3EFLEXCOMMX%3C%2FFONT%3E)%EF%BC%9B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E3%EF%BC%9A%E4%BD%A0%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%E5%AE%9A%E5%88%B6%E6%9D%BF%E8%BF%98%E6%98%AF%E6%81%A9%E6%99%BA%E6%B5%A6%E5%BC%80%E5%8F%91%E6%9D%BF%E3%80%82%E6%88%91%E5%BB%BA%E8%AE%AE%E6%82%A8%E5%8F%82%E8%80%83%E6%AD%A4%20SDK%20%E6%BC%94%E7%A4%BA%22evkmimxrt595_i2s_dma_transfer%22%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%E5%B8%8C%E6%9C%9B%E5%AE%83%E8%83%BD%E5%B8%AE%E5%88%B0%E4%BD%A0%E3%80%82%3CBR%20%2F%3E%E5%A6%82%E6%9E%9C%E6%82%A8%E8%BF%98%E6%9C%89%E7%96%91%E9%97%AE%EF%BC%8C%E8%AF%B7%E5%91%8A%E8%AF%89%E6%88%91%E3%80%82%20%3C%2FP%3E%0A%3CP%3E%E6%95%AC%E4%B8%8A%3CBR%20%2F%3EMayLiu%3C%2FP%3E%3C%2FLINGO-BODY%3E