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.

No receiving I2C ACK from TPS23851 by using software I2C

Sometimes, MCU (SCL, SDA) can't receive an ACK signal (acknowlege bit) from TPS23851 (SCL, SDAin, SDAout) after MCU have sent I2C write command to TPS23851. So, MCU need rewrite it again and again.

The problem is always occurred in 1st byte. The probility is more than 1/10 and rewrite times sometimes may be more than 10 times.

I guess that the possible resaons may come from TPS23851 not receiving correct data from MCU or receiving incorrect device address. 

But I compare the waveform and timing from MCU GPIO pins (software simulating I2C bus protocol ) for both OK and NG cases by LA and scope. They seems all same (I have kept these snapshot from LA). The I2C clock period is around 360us. And our hardware between I2C master (MCU) and I2C slave (TPS32851) is isolated by phto coupler.

Thanks.

Regards,

Derli

 

 

 

 

  • We are not aware of any issues with the TPS23851 I2C interface but further investigation will have to wait until next week due to the US Thanksgiving holiday. Here are a couple of observations:

    1. 360us clock period is extremely slow (~2800Hz). How about using a standard 100 or 400kHz bus speed?
    2. Have you tried interfacing to the TPS23851 directly using Aardvark and TotalPhase software to rule out the other hardware in between?
    3. Can you compare EVM operation (with EVM GUI) to your board?
    4. What is OK and NG? LA is logic analyzer correct?