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.

DS90UB947-Q1: I2S_WC and GPIO0 questions

Part Number: DS90UB947-Q1

Hello,

 One customer met a question about GPIO0 pass though and I2S_WC conflict  when used DS90UB947+DS90UB948. The phenomenon is as following:

1. If DS90UB947 0x12=0x2, GPIO0 pass through failed. But the I2S_DA ,CLK,WC of DS90UB948 output normally and sound is also normal. 948: 0x28=0x10

2. If  947:0x12=0x0, 0x4=0x90,GPIO0 pass though successfully. But  I2S_DA ,CLK of DS90UB948 output normally, while I2S_WC output abnormally,  the WC output frequency isn't sample rate, the sound also is       

abnormal. Please refer to the waveform of I2S_WC( Above is input, we can see the output of the below is changed the sample rate)

3. One question is confused is that if 0x54 bit0=1 of DS90UB947( datasheet described this bit is Reserved), GPIO0 pass through failed, 0x12=0x0 also pass through failed.  0x28 of DS90UB948 is 0x10.

Best regard

Kailyn

  • Hi Kailyn,

    GPIO0 pass through failed. But the I2S_DA ,CLK,WC of DS90UB948 output normally

    When Register 0x12 is set to 0x2, I2S is transported via forward channel frame. Because GPIO0 maps to the forward channel, GPIO0 will be occupied by I2S data.

    if 0x54 bit0=1 of DS90UB947( datasheet described this bit is Reserved)

    If datasheet labels the bit as reserved, it is recommended to not drive any signal.

    Can you explain what you mean by GPIO0 pass-through? Are you sending other information besides I2S through the forward channel?

    For the I2S connection, what pins are you using for using forward channel and data island mode? This will help me analyze the setup.

    Regards,

    Jack Scherlag

  • Hi Jack,

    Thank you  very much for your reply.

    The application is SOC-》947-》948-》LCD and backlight IC, and used GPIO0 to pass through PWM signal。 

    947:I2S_WC,I2S_CLK,I2S_DA is used for audio input, GPIO2 and GPIO3 control LCD and backlight enable signal(  I2C pass all to pull up local output of 948, so didn't need pass through). While GPIO0 need to pass through PWM signal. 

    948:I2S_WC,I2S_CLK,I2S_DA  is used for audio output,GPIO0 is output which pass through PWM signal  to backlight IC

    When I used 0x12=0,0x4=0x90,GPIO0  pass through successfully,  I2S_CLK,I2S_DA output also normally but I2S_WC output is abnormally as the above curve. Why? 

    Best regards

    Kailyn

  • Hi Kailyn,

    Thank you for providing information on the setup. Would you be able to provide register dumps for the 947 and 948? I want to make sure there isn't something being overlooked.

    Does the I2S_WC malfunction in the same manner every time? 

    There could be an unintended interaction with the GPIO pins 2 and 3 when I2S in using data island transport. GPIO pins 2 and 3 are shared with I2S_DC and I2S_DD. This might be why there are no problems with the audio when using the forward channel transport for I2S. Could you try using other GPIO pins that are not shared with I2S?

    Regards,

    Jack

  • Hello Jack,

    947:

    0x17 = 0x9e;

    0x03 = 0xda;

    0x12 = 0x0;

    0x04 = 0x90;

    0x54 = 0x0;(default 0x54 = 0x3,manual configure bit0)

    0x4F = 0x80;

    0x5b = 0x23;

    0xc2 = 0x80;

    948:

    0x1d = 0x05;

    0x1e = 0x09<<4;

    0x1f = 0x09;

    0x49 = 0xe0;

    0x34 = 0x09;

    2. WC curve always abnormal after several test. 

    3. Other GPIOs refer to?   The datasheet describes GPIO0-3  are general application. 

    Best regards

    kailyn 

  • Hi Kailyn,

    The datasheet describes GPIO0-3  are general application. 

    Yes, GPIO0-3 are general application but they are also shared with I2S. There should not be any problem using GPIO2-3 for forward channel but I wanted to see if anything unusual was happening.

    Could you explain why 0x54 bit 0 is enabled? Bit 1 should be enabled in order to pass audio from I2S pins. Have you tried testing with 0x54 = 0x2?

    How are you measuring the output I2S_WC? Are you probing GPIO7/I2S_WC on the 948?

    Regards,

    Jack