SDA held Low Arduino DUE


i use wire1.
I have an issue with my SI8600 chip which i need to use to isolate my i2C signal
4k7 before the SI8600 3k behind the si8600.

I have several sensors which interfere with eachother so thats why i need to use the isolator for power and datalines.
But since i added the SI8600 my SDA is pulled low after a while.
even if i disconnect the i2c sensors the sda keeps low. i cannot disconnect the si8600 because its on the pcb.

the first thing i see is a strange reading half the text i expect (the total amount of correct characters is random) and then all 254+NAK until the quantity from the requestfrom is full.
after that reading and i try to initiate the next reading it stays low.

when i connect only one sensor or all unisolated sensors and read it all day everything works fine.
but is there a way to reset the i2c bus without restarting the arduino.
so if i detect no data is comming i can restart the i2C bus until i found what is going wrong with the chips.

Kind regards


The I2C bus doesn't have a reset. No one should keep the SDA low.
Are you sure the SI8600 chip keeps the SDA low ? or is it an other device, the Due or a sensor ?