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.

[FAQ] What is Stuck Bus Recovery?

Other Parts Discussed in Thread: TCA4307

FAQ: Logic and Voltage Translation >  IxC >> What is Stuck Bus Recovery?

Stuck Bus Recovery is a mechanism built into an I2C device that automatically attempts to free the SDA bus during a stuck LOW condition by toggling the clock pin SCL multiple times. 

Stuck LOW means that some device on the I2C bus is holding the data line LOW. Usually this is caused by a missing clock cycle. See the application note I2C Stuck Bus: Prevention and Workarounds

The only device in the I2C buffer portfolio that implements stuck bus recovery is the TCA4307. This device is p2p to TCA9511A, but its only difference is that it implements stuck bus recovery. 

See section 7.4.4. of the TCA4307 datasheet describing "Bus Stuck:"

Here is a scope capture that shows stuck bus recovery mechanism in action. Note SDAOUT gets stuck LOW. The READY pin on TCA4307 goes LOW signaling that the internal connection from "IN" side to "OUT" has been disabled. The TCA4307 then proceeds to toggle the SCL line 16 times to unstick the SDAOUT signal. The SDAOUT signal does not get unstuck in this example because the SDAOUT pin was GND'ed and not held LOW by another target device.