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.

ISO1540: SDA1 low voltage issue

Part Number: ISO1540
Other Parts Discussed in Thread: ISO1541

I found there was 0.8V around when receiving ACK and MCU could not recognized it due to low voltage was high.

So, can I reverse it that MCU uses the side 1 and I2C device uses the side 2?

After doing that, it looks like I2C device doesn't receive the signal after I transmit the I2C device address.

What's the key point I should take care? PULL-UP resistor or something else?

  • Hi idle,

    Thanks for reaching out.

    The VOL value on side 1 of this device is 0.8 V in order to facilitate bidirectional communication. For more details on why this is the case, please visit this FAQ post. This 0.8 V VOL value is only present on side 1 of ISO1540, and not on side 2. The device connected to side 1 of the ISO1540 will only be able to recognize a low signal if the device VIL value is greater than 0.8 V. Could you please specify the controller and target devices being used in this system?

    Regards, 

    Kenneth

  • Original diagram, I can transmit 4 bytes includes i2c addr, reg addrs(2 bytes), data, just fail to receive ack

    MCU(1.9V) <-->(1.9V)NMOS LEVEL SHIFT(3.3V) <-->side1 [ISO1540] side2 <--> (3.3V)DEVICE

    After reversing to use the ISO1540, MCU stops transmitting data after i2c addr, ACK's level looks fine.

    MCU(1.9V) <-->(1.9V)NMOS LEVEL SHIFT(3.3V) <-->side2 [ISO1540] side1 <--> (3.3V)DEVICE

    side1 and side2's output are different.

    Should I modify the PULL-UP resistor to get correct output current?

  • Hi Idle,

    Thanks for sharing further inputs.

    As Kenneth mentioned earlier, only the Side1 of ISO1540 has a VOL of 0.8V while the Side2 is 0.4V, just like any other CMOS or TTL logic outputs. Hence, you will see an issue when reading from Side1 and will not see issue when writing to Side1 (or reading from Side2). This is the reason you are seeing issue in reading ACK from Side1 to MCU. When you switching the device, you will see the issue in transmitting and not receiving and this is exactly what seems to be happening.

    This clearly indicates that the MCU / level shifter VIL isn't compatible with VOL1 of ISO1540. To verify and confirm this, please share schematic showing devices connected to both sides of ISO1540 along with their part numbers as requested by Kenneth earlier. Thanks.


    Regards,
    Koteshwar Rao

  • Hi, Kenneth and Koteshwar,

    Thx for your help and I swap the side1/2 is worked after soldering the correct one(ISO1540).

    The preview failure due to I used the incorrect IC which ISO1541 is only one way on SCLK pin.

    It's my foolish mistake.