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.

TCA9617A: Slave clock stretching from A side?

Part Number: TCA9617A


This is related to the forum question "Can B side connect on master side and A side connect on slave bus?"

If the slave is on the A side, is clock stretching still supported?

  • Yes. I²C is a bidirectional protocol. Electrically, there is no difference between masters and slaves.

  • On the B side, TCA9617A knows if it's driving or if the slave is driving (clock stretching) because of the offset between Vol and Vil. There is no such offset on the A side. Does that work for clock stretching on the A side?

  • 1. When a device on the A side drives low, the TCA9617A drives low on the B side, but only to 0.5 V. The voltage at the B side is so high that the TCA9617A knows that the B side is not driven low externally, so it does not need to copy the low level from the B side to the A side.

    2. When a device on the B side drives low (to less than 0.5 V), the TCA9617A drives low on the A side. Now the A side is low, and the TCA9617A does not know if it might come from an external device. However, the TCA9617A knows that the B side is driven low externally, so it does not need to copy the low level from the A side to the B side.

    3. When devices on both sides drive low, it looks (from the point of view of the TCA9617A) the same as case 2. This is no problem.

    Having the offset only on one side is enough.

  • Hi George,

    I agree with Clemens' statements.

    Clock stretching should work either from driving A-side or from driving B-side. I2C is a bidirectional communication protocol. TCA9617A is a bidirectional device.

    Regards,

    Tyler