When I use sport in 21571 to communicate with ADAU1452 or other DSPs, some problems about clk and data config confused me.
In TDM16 mode, I use 21571 to send datas to 1452, my config is below
adi_sport_ConfigData(hSport3B, ADI_SPORT_DTYPE_SIGN_FILL, 31u, false, false, false);
adi_sport_ConfigClock(hSport3B, 0u, false, true, false);
adi_sport_ConfigFrameSync(hSport3B, 0u, true, false, true, true, false, false);
adi_sport_ConfigMC(hSport3B, 1u, 15, 0u, false);
As my understand, I think this config sport to I2S , LRCLK negative , BCLK negative.
So I config 1452 SDATA_IN to TDM16, I2S , LRCLK negative , BCLK negative. Then in my test I can receive correct audio in 1452.
But when I use 1452 to send datas to 21571, remain the config in 21571. If I still use the same config in 1452, the audio receive in 21571 will become noise. In my test, I must change the BCLK in 1452 to positive, then I can get correct audio. I don't know why the config in 21571 and 1452 need to be different., if I was wrong before what's the correct config ?
Another problem is if I config in TDM8, is it same to TDM16?