Post Go back to editing

LTC4316IMS I2C Address translator

Category: Hardware
Product Number: LTC4316

Hi
I am using LTC4316IMS in a system with DFI motherboard SMBUS and 3Y Power Technology PSU YH5301-XEA57R PMBUS.
It translates I2C host side address 0x22 to slave I2C address 0x58.
When connecting the PSU to the LTC4316IMS, signal get 'ugly' ( see pictures )

Above picture is without PSU connected.



Above Picture is with PSU connected.





Above schematic is how we setup the LTC4316IMS.

Motherboard used is DFI CS331-Q370.

Any comments are welcome.

Best regards

Ole



updated form
[edited by: GenevaCooper at 2:56 PM (GMT -5) on 8 Dec 2023]

Thread Notes

Parents
  • Hi Ole,

       Looking at the low level voltages in your waveform, it appears that when the PSU is added, it is introducing a significant pull-up current and that the other I2C devices are struggling to pull the bus down sufficiently.

       I assume your waveforms are measured at the output (downstream) side the LTC4316.  There are 2 different low voltages in your waveforms.  The three lower levels in the middle are from the LTC4316 pulling the bus down with the new address.  The higher low voltage levels are the start, write bit and stop and are due to the Host driving the bus.  These are likely larger than the LTC4316's low level due to a combination of the series resistance added by the LTC4316's pass transistor, the bus resistance and the host's drain-source resistance of its output driver.

       When the PSU is added, the increased pull-up current results in the higher VOL levels.  The LTC4316's output driver is rated to have a worst case VOL(max) of 0.4V when the pull up current is 4mA and so the total effective pull-up current with the PSU is likely much greater.

       Does the system work and the waveforms just look "ugly"?  if so, perhaps nothing needs to be done but this probably isn't the situation since you've reached out here.

      I'm assuming that changing the PSU or motherboard for different ones is not possible.  I'm also assuming that reworking the I2C circuits in either is also not possible.  Thus we need to find an external solution...

      Right now, I'm thinking that adding a device which will partition the bus and can handle the larger pull-up current of the PSU might be a solution.  The ADuM1252 might be such a part. While its an I2C isolator, which you may not need for your application, it does have a very strong (5 & 50mA) current sink capability which may be enough to be compatible with the PSU.  There are other options, but they don't have as strong a sink capability and not knowing more about your system, I'm just suggesting the strongest part.

      Assuming your I2C bus topology is something like:

    Host on motherboard <-> LTC4316 <-> PSU, I'd put the ADuM1252 as: Host <-> LTC4316 <-> side 1 ADuM1252 side 2 <-> PSU

    If you wish to retain the isolation feature of the ADuM1252, then each side needs to be powered separately and referenced to the applicable sides' bus.  If you are just using this part as a buffer, then it is OK to connect the side 1/2 supplies together and the side 1/2 grounds together.

    Eric

Reply
  • Hi Ole,

       Looking at the low level voltages in your waveform, it appears that when the PSU is added, it is introducing a significant pull-up current and that the other I2C devices are struggling to pull the bus down sufficiently.

       I assume your waveforms are measured at the output (downstream) side the LTC4316.  There are 2 different low voltages in your waveforms.  The three lower levels in the middle are from the LTC4316 pulling the bus down with the new address.  The higher low voltage levels are the start, write bit and stop and are due to the Host driving the bus.  These are likely larger than the LTC4316's low level due to a combination of the series resistance added by the LTC4316's pass transistor, the bus resistance and the host's drain-source resistance of its output driver.

       When the PSU is added, the increased pull-up current results in the higher VOL levels.  The LTC4316's output driver is rated to have a worst case VOL(max) of 0.4V when the pull up current is 4mA and so the total effective pull-up current with the PSU is likely much greater.

       Does the system work and the waveforms just look "ugly"?  if so, perhaps nothing needs to be done but this probably isn't the situation since you've reached out here.

      I'm assuming that changing the PSU or motherboard for different ones is not possible.  I'm also assuming that reworking the I2C circuits in either is also not possible.  Thus we need to find an external solution...

      Right now, I'm thinking that adding a device which will partition the bus and can handle the larger pull-up current of the PSU might be a solution.  The ADuM1252 might be such a part. While its an I2C isolator, which you may not need for your application, it does have a very strong (5 & 50mA) current sink capability which may be enough to be compatible with the PSU.  There are other options, but they don't have as strong a sink capability and not knowing more about your system, I'm just suggesting the strongest part.

      Assuming your I2C bus topology is something like:

    Host on motherboard <-> LTC4316 <-> PSU, I'd put the ADuM1252 as: Host <-> LTC4316 <-> side 1 ADuM1252 side 2 <-> PSU

    If you wish to retain the isolation feature of the ADuM1252, then each side needs to be powered separately and referenced to the applicable sides' bus.  If you are just using this part as a buffer, then it is OK to connect the side 1/2 supplies together and the side 1/2 grounds together.

    Eric

Children