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.

TCA9416: TCA9416 High frequency oscillation on I2C low portions with series resistance.

Part Number: TCA9416

Hello,

We are using the TCA9416 to level shift a 1.8V I2C bus from the M4 portion of an iMX8X SOM from Toradex to drive 3 x 3.3V I2C slave devices. Please see circuit diagram attached. I2C_RF_1V8 connects directly to the SOM and nothing else. I2C_RF connects to 3 slave devices.

The issue is the Toradex SOM has inbuilt 1K series resistors in the I2C pins before the leave the SOM.

These resistors seem to cause MHz osscilations when the slave devices are present,

With no devices and 1K resisors I2C packets appear normal.

With devices and 1K resistors oscillations are present but only in the low portion of the packets or if the line is left low.

With no devices and 1K resisors replaced with 0R resistors I2C packets appear normal.

With devices and 1K resisors replaced with 0R resistors I2C packets appear normal.

Do you have any suggestions on why this is happening? Could it be a mismatch in load capacitance?

Do you have any suggestions on how to fix this issue that doesnt involve modifying the Toradex SOMs

Cheers

Toni

Circuit.pngNo Slave devices 0R series resistors.pngWith Slave devices 0R series resistors.pngWith Slave devices 1K series resistors.pngNo Slave devices 1K series resistors.png

  • Hi Antoni,

    The TCA9416 has internal rise-time and fall-time accelerators that trigger based off a slew rate and input voltage threshold. 

    The device is pass through, so when there are external 1k PU resistors, this increases the VOL from connected i2c controller and target devices. This increase in VOL + any ringing on the I2C signal path could cause the RTA or FTA to trigger.

    External resistors are optional since this device implements 10k PU resistors on each side of the device. The PU resistors act in parallel, so the PU resistance is equivalent to ~5kohm. The RTA and FTA help accelerate the rising and falling edge. 

    Regards,

    Tyler

  • Thank you for the reply Tyler but the 1Ks i mention are not pull ups they are in series on the SCL and SDA lines on the 1.8V side.
    I have represneted them below in yellow but please note they are not placed there by us they are on the SOM supplied by Toradex.
    https://www.toradex.com/computer-on-modules/colibri-arm-family/nxp-imx-8x?_gl=1*2zjhw0*_up*MQ..*_gs*MQ..&gclid=Cj0KCQiAyvHLBhDlARIsAHxl6xp4pH7x1sBIToCYBCQMg_fav12DwXm7llJuwdlOuOJZ2KWkIy1APwQaAribEALw_wcB



    There is no mention of 1K in the datasheet we only found this out way after.

  • Hi Antoni,

    This may be worse since 1k series resistance will also increase VOL when pulling LOW. 

    I assume the VOL2 will be much higher than VOL1 because the 1k series resistance shifts the VOL up. This VOL shift causes the output low voltage to potentially hit the RTA / FTA thresholds and then causes ringing. 

    If 1k series resistance cannot be removed, is there any way to program the drive strength of the open-drain driver within the controller? I.e. make the output drive weaker. 

    If you can disable these 1k series resistors, this is ideal. 

    Regards,

    Tyler

  • Hey Tyler

    Thank you for the response. I will get the firmware team to try the drive strength,

    This issue arose ealier and Arrow recommned this part i assume after discussion with TI to make it so we didnt have to modify the off the shelf SOMs.
    We tested it on our original deisgn using a demo board and another I2C demo board to prove the principle. We were able to talk to the demo I2C device so assumed we had a solution.

    We have since respun our PCB and incorperated the TCA9416 and hence now we are seeing the issue.

  • Hi Antoni,

    I made a mistake in my last response. See if the firmware team can increase the drives strength. I.e. smaller pull-down resistance. 

    We tested it on our original deisgn using a demo board and another I2C demo board to prove the principle. We were able to talk to the demo I2C device so assumed we had a solution.

    Did this solution use the 1k series resistance?

    Regards,

    Tyler

  • Hi Tyler yes it included the 1Ks.

    So that test was done using a Toradex Colibri demo board (for the SOM) connected to a TCA9416 demo board which was connected to a MCP3424 demo board all on done via flying leads to rig it up.

  • Hi Antoni,

    Understood, thank you for the detail. 

    Let's see if the firmware team can disable 1k series resistors, change them, or increase drive strength of the open-drain driver. 

    If you can operate the I2C bus in FAST-MODE+, you might get the benefits of a stronger pull-down driver, but then you may also be able to reduce the clock rate to your desired performance (~400kHz). 

    FM driver is VOL = 0.4V at IOL = 3 mA, FM+ driver is VOL = 0.4 V, IOL = 20 mA according to the I2C standard. 

    Regards,

    Tyler

  • Hey Tyler sorry for the confusion its not possible to disable or alter the 1K resistors they are physical resistors soldered to the SOM by Toradex. They are not internal to the processor.

  • Hi Antoni,

    We are still looking into this and will provide a response shortly.

    Thanks,

    Jack 

  • Hi Antoni,

    Understood. Then a next step could be if it is possible to increase drive strength of the open-drain driver of the processor. Or switch the processor to fast-mode+ which should increase drive strength, but use the I2C at reduce frequency. 

    I think as a last ditch effort would be to add a very weak pull-down resistor on the I2C pins to create some leakage to GND - pulling the VOL below the suspected RTA trigger threshold that is causing the issue in the first place.

    You could start with an external 30k PD resistor. This would create a voltage divider with the two 10k PU resistors internal to the TCA9416, but would not affect VIH or near the FTA trigger threshold of the TCA9416. I don't like this idea in practice, but if its the last ditch effort, then it might be worth a try. 

    Regards,

    Tyler

  • Hey Tyler,

    Thank you again i will pass this on to the firmware team to try out.

  • Hi Antoni,

    Sounds good. Let me know what they come up with. 

    Regards,

    Tyler