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.

ADS112C04: I2C error.

Guru 11165 points
Part Number: ADS112C04

Hi team,

As shown in the waveform below, SDA is High even though 8bit is High at NG.


This phenomenon often occurs when input is 0.
What's happening with this waveform?
Could you tell me your advice?

Sincerely.
Kengo.

  • Hi Kengo,

    In the NG picture the host device is issuing a STOP condition so the communication is not completed.  This action is not initiated by the ADS112C04, but instead by the host (micro) that is initiating the communication.  For some reason the host is STOPping the communication before it has completed.  You need to review the code for the communication to make sure that the state machine is correct for the communication that is taking place.

    Best regards,

    Bob B

  • Hi Bob,

    Thank you so much for your reply.
    I'll check with my customer about your comment.

    If I have additional questions, I'll post in this thread.


    Sincerely.
    Kengo.

  • Hi Bob,

    There was no communication from the host side.
    Because , there is an isolator between the host and the ADC and the GND level is different.
    So, in the NG waveform below, it can be confirmed that the GND level has dropped, so it has dropped from the ADC to Low.



    This phenomenon happens occasionally.
    It reads every 1ms and appears once every two days.
    Two out of two have happened.

    Could you tell me your advice?

    Sincerely.
    Kengo.

  • Hi Kengo,

    I'm really not sure what to tell you.  I have not seen a schematic, so it is difficult for me to help troubleshoot an issue that is not related to the ADS112C04.  The problem is the missing 8th and 9th SCL clock.  The clock comes from the host device and not the target.  So the issue appears to be with the micro or isolator.

    What isolator is being used?  For the scope shots, which side of the isolator is being probed?  As to the difference in levels, this appears in both scope plots.  You need to make sure that the proper pullups are used on the I2C bus and that the proper voltages are being applied to the isolator.  As the plots appear to be that an address is being sent, this would mean that the communication is coming from the micro through the isolator and not sufficiently pulling the output low.

    Best regards,

    Bob B  

  • Hi Bob,

    Thank you so much for your usual support.
    I'm very helpful your comment.

    From your comments, is the 8th bit not the output data by the ADC?
    Originally, the 8th is the data sent from the host side?
    I am not very familiar with i2c, please tell me.

    Sincerely.
    Kengo.

  • Hi Kengo,

    An overview on the I2C protocol can be viewed in this TIPL training: https://training.ti.com/ti-precision-labs-i2c-protocol-overview?context=1139747-1138099-1139709-1137849

    I cannot be absolutely sure but the 2 plots you show appear to be issuing an I2C START condition, followed by 7 bits of address.  The 8th bit would determine if the communication is a READ (bit high) or a WRITE (bit low).  

    The plot marked OK would appear to be a READ from the target device, and it appears that the NG plot would be a WRITE to the target device.  However, the NG plot never shows the completion of the 8th SCL.

    The ACK on SDA will come from the target when the device is being addressed to signify the device can communicate with the host.  Any following ACKs in the communication sequence will depend on the direction of communication.  For any WRITE sequence the target would ACK.  For any READ the host would ACK.  But in any case the SCL will always come from the HOST.

    Best regards,

    Bob B

  • Hi Bob,

    Thank you so much for your reply.

    My customer only read commands every 1msecond at this phenomenon.


    And OK and NG is observing the same place.



    If you have any comments, please let me know.

    Sincerely.
    Kengo.

  • Hi Kengo,

    The only comment that I can give is the same one I have stated early in the thread.  The clock is not showing for the remainder of the sequence.  SCL goes high and stays there and the ADS112C04 is waiting for the required number of clocks to be transmitted.  The SCL comes from the host device.  It is possible that something is not passing through the isolator, so both sides of the isolator should be checked to verify that whatever the host is sending is showing on both sides of the isolator.

    I'm not sure that I can be of any further help or guidance as this is clearly not an issue with the ADS112C04.

    Best regards,

    Bob B

  • Hi Bob,

    Thank you so much for your comment.
    I got it.
    I'll talk with my customer about your comment.

    Sincerely.
    Kengo.