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.

Audio Codec TLV320AIC3204 Problem

Other Parts Discussed in Thread: TLV320AIC3204

Hi

We are trying to connect more CODECs TLV320AIC3204 on to the USBSTK5505.

There is already a TLV320AIC3204  on the eval board. That is working no issues.

We are connecting one more TLV320AIC3204 on the same I2C bus. The only issue we see is the TLV320AIC3204's address is fixed 0x18.

Will it create problems. What can we do it make it work.

Urgent, please reply.

Thanks

  • Hi Microt,

    The AIC3204 has a fixed I2C Address. Options to use several AIC3204 with the same processor include: using the SPI bus instead or use an external I2C MUX. I'm not sure if this is possible with the USBSTK5505 as-is.

    Regards,

    J-

  • Hi J Arbone thanks..some more info

    -          I removed the CODEC on the USBSTK. So there is only 1 external CODEC on the I2C. This was done to see if atleast the external CODEC works.

    -          I see the SCL pulsing once and go high. but nothing on the SDA(low always) and it is stuck in the tx wait loop.

    o   ;****************************************************************************************

    o   ;   i2c_wait_for_tx - Waits for Data Transmit

    o   ;****************************************************************************************

    o   i2c_wait_for_tx:

    o                       T1 = *port(#I2C_STR)             ; wait for transmit flag set (ICXRDY)

    o                       T0 = T1 & #ICXRDY_FLAG

    o                       if ( T0 == #0 ) goto i2c_wait_for_tx ; still in transmission

    o                       *port(#I2C_STR) = #ICXRDY_FLAG    ; clear ICXRDY

    o                       Return

    -          I am not sure why it is waiting. Is the SDA supposed to be high

     

  • Hi Microt,

    After power-up, SDA and SCL should remain high due to external pull-up resistors (I2S uses open drain outputs). Verify that these pull-ups are installed. If not, verify what is pulling down the line. Did the code work properly before removing the AIC3204?

    Regards,

    J-

  • Yes..it did work with the CODEC on board. The 10K pull up is still there on the USBSTK board. And after the init the VRef went from 0 to ~0.8V. So the CODEC on board did  receive it correctly.

    Did something change TLC320AIC3204 recently with the I2C address or something.

    Does the I2C master pull down the I2C_SDA low after it is done

  • Hi Microt,

    The AIC3204 address has always been 0011000b.

    After a transaction is finished, the SCL and SDA should be released by the master. If it worked previously, verify the bus for signal integrity at the AIC3204's SCL and SDA pins(e.g. rise times, etc.).

    Regards,

    J-

  • Figured it out, the I2C pins were swaped. Now it all works, Thanks

    Would you give me a code snippet..

    Initilization for using the AGC and Volume contol on AIC3204.

    Thanks