AnsweredAssumed Answered

I2S Audio Noise problem with iMX6

Question asked by Hideyuki Murakami on May 17, 2016
Latest reply on May 25, 2016 by Hideyuki Murakami

Hi, all.

I developed iMX6Solo board with Wolfson WM8983 audio codec.(connected to SSI I/F).

On a few of the boards, the noise is on the audio output.

I checked it and found the following:

- Sometimes, The TXD data from iMX are not correct.

  For example, even if I play stereo audio that have only Left channel data,

  the data is on Right timing (TXFS=High). Or the Left data isn't correct.

 

- I can resolve the noise, if I change the TXC clock from the codec.

    TXC frequency = TXFS * 2 * 128 ...  noise

    TXC frequency = TXFS * 2 * 16 ... no noise

 

- If I change the TXC/TXFS pin's hysteresis or Pull-up/down setting,

  the noise is changed or disappeared.

 

I think the problem is something to do with the sync of TCX/TXFS and TXD(transmit controller of iMX).

If I use the audio data with WL=16bit / 2ch, I must set TXC frequency to TXFS*2*16?

I've thought it's OK to set it over TXFS*2*16 for the oversampling.

Would you give me some advice for me about this problem?

 

[My Environment Detail]

iMX6 Solo : I2S Slave Mode

Wolfson WM8983 : I2S Master Mode (connected to SSI I/F)

OS = Windows Embedded Compact7

TXFS Clock = 44.1KHz

TXC Clock = 11.29MHz

Word Length = 16bit / 2ch

 

The SSI's registers were set according to RM "61.8.1.4 I2S Mode"

SSI Register Values (only related to transfer)

  SSI2_SCR =   0x00000153

  SSI2_STCR =  0x0000038D

  SSI2_STCCR = 0x0000E100

 

I'm sorry I'm not good at English.

Thanks,

Outcomes