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.

TMP103: Clock Stretching

Part Number: TMP103

Tool/software:

Hello team,

Does this device do I2C clock stretching? For context, if there is an I2C bus hang, our host would send clock pulses to release the bus, therefore, we don't want i2c devices that do clock stretching

Thanks,

Austin Allen

  • Hi Austin,

    The TMP103 has a timeout time of 30ms typical. It will reset the serial interface if SCL is held low for 30ms typical. To avoid activating the time out function, it is necessary to maintain a communication speed of at least 1kHz. 

    It should be ok if the host sends clock pulses to release the bus. If the TMP103 was mid-communication it may continue to send/receive data as it receives the clock pulses, but you can disregard invalid read data (although note that if you accidentally write invalid data, you may need to rewrite it back to the correct setting).

    Best regards,

    Sakeenah Khan

  • Hey Sakeenah,

    What does reset the serial interface mean exactly? Is SCL pulled down, thereby pulling down SCL across the full bus? What is happening on the SDA, is it the same thing? The concern is that there are other devices on the bus that we don't want to see have the bus pulled down

    Thanks!

    Austin Allen

  • Hi Austin,

    I mean for example if you are communicating with TMP103 and then there is some i2c bus hang and the clock is stretched, with the host pulling SCL low for >30ms, then the i2c communication will timeout and the TMP103 should disregard the incomplete communication transaction. The TMP103 will not pull SCL down. 

    Best regards,

    Sakeenah Khan