Other Parts Discussed in Thread: PCA9306, TCA9617A, TCA9617B
I have a board using the TCA9406 to interface between 3.3V logic external logic and 5V internal logic. The external logic is on a motherboard and my board connects to the motherboard via a short cable. My board generates a local +3.3V to power the "A" side of the 9406. There is only one I2C device on my board and it is an I2C Slave. The board works and I can cable it to a Raspberry PI, for example and everything is good. However, when I attach it to the customers motherboard, the TCA9406 goes into oscillation. The SDA and SCL lines will have a 20MHZ oscillation on top of the normal 100KHZ waveforms. The customer's I2C bus is heavily loaded with lots of 5K pullup resistors and PCB traces stubs going everywhere.
If I disconnect some of the nets on the motherboard's I2C bus, then the problem goes away. It is not the parallel loading of the pullup resistors. I can place 500 ohm pullups on the Raspberry PI and use a 2 meter long interface cable without causing any oscillation. The problem appears to be the one-shots within the 9406. These appear to getting into a mode where they keep retriggering themselves which causes this oscillation.
Questions:
1. Anyone have this oscillation problem before with this part?
2. Are there any pin compatible parts that I could drop into this board? I looked at datasheets but so far none have this pin configuration.
Below I will paste scope shots taken on the connector of the interface cable with my board installed and then removed. This oscillation shows up on both the "A" and "B" sides of the 9406. I2C accesses try to work, but get numerous errors due to all the extra edges.











