Post Go back to editing

LTC4309 behavior when SDAin is held low

Conditions: The LTC4309 has gone through its start-up sequence, READY is high, FAULTn is high, the in-out buses are connected, both SDA and SCL ins/out are sitting idle at 3.3V.

We now take and hold SDAin low. SDAout briefly goes low, the LTC4309 disconnects the buses, SDAOUT returns high, READY goes low. FAULT remains high (no fault detected).

Questions:

1. Why does the LTC4309 disconnect the buses when SDAin is held low?

2. It appears a "stuck low" on SDAin forces the 4309 to go through its start-up routine again, disconnecting the buses (but not faulting) and then waiting for SDAin to go high, before reconnecting the buses. Does the chip indeed perform a "start-up" sequence when SDAin is held low?

3. We cannot find a description of this behavior in the data sheet. Is it there or are we missing it?

Thank you.

The Viavi HW Team

2-28-2022

Parents
  • Hi HW Team, 

    Please see the Pin Function description for the DISCEN pin in the LTC4309 datasheet. That will control if the disconnect circuitry is active.  

    See the third paragraph of the Start-Up section for bus connection behavior. The LTC4309 will wait for a bus idle or stop bit before connecting the bus segments. 

    Regards,

    Jason

  • 1."Please see the Pin Function description for the DISCEN pin in the LTC4309 datasheet." This pin, which is pulled high in our design, disconnects the bus if SDAOUT or SCLOUT is stuck low. The data sheet says nothing about what happens when SDAIN or SCLIN is stuck low. In addition, the part does not report a fault under the conditions described.

    2. "See the third paragraph of the Start-Up section for bus connection behavior." The condition I have described is well past start-up,"The LTC4309 has gone through its start-up sequence... READY is high." The buses get disconnected, during normal operation, if SDAIN is held low.

  • Hi, 

    When DISCEN is high, this will enable the LTC4309 stuck bus detection, disconnect and recovery features. DISCEN can be set low if these features are undesirable for the application. 

    The LTC4309 is fully bidirectional as far as the I2C traffic goes. When the LTC4309 detects the I2C bus is stuck low, it will disconnect the IN and OUT bus segments. It does not matter if the device holding the bus low is on the IN or OUT bus segment. 

    The recovery feature is however only present on the SCLOUT pin. The LTC4309 will produce clock signals on the SCLOUT pin in an attempt to free the stuck bus. Typically, the IN side of the LTC4309 would face the I2C controller and the OUT would face the peripheral devices. If a stuck bus occurs on the OUT side, the LTC4309 disconnection would allow the I2C controller to continue servicing other devices while the LTC4309 attempts to free the bus without additional application level intervention. 

    After the LTC4309 has excited the UVLO state, it will not reenter the UVLO state unless the supply power dips below the UVLO- threshold. Paragraph 3 in the Start-Up section applies to the LTC4309 being out of the UVLO state and attempting to connect the bus segments. 

    Regards,

    Jason

  • Jason,

    How do you describe the "state" which the device is in? READY is low, FAULTn is high, and the buses are disconnected (SDAin is low, SCLin, SDAout and SCLout are high). This is exactly the "start-up" state - the part is waiting for SDAin to go high.  However, the device has previously completed and exited its start-up phase. So, the way I see it, holding SDAin low causes the part to re-enter its start-up state despite power not ever being removed.

  • Hi, 

    After a stuck bus is detected, the LTC4309 doesn't go back to the beginning of the Start-Up process. The precharge circuitry, for example, will not be active after a stuck bus is detected and bus segments disconnected. Precharge is only active before the buffer has exited the the UVLO state.

    The Start-Up process is essentially two main states. The first being UVLO state, the second being and unnamed bus monitoring state when the LTC4309 waits for an opportune time to join the segments so the connection does not disturb the bus.

    Provided the ENABLE is high, and provided all the other conditions you mentioned, the LTC4309 is waiting for SDAIN to go high before it connects the bus segments.

    There is the option to force a connection with the ENABLE pin. The IN and OUT bus segments will be connected when the ENABLE pin transitions L->H while the bus segments are disconnected.

    Regards,

    Jason 

Reply
  • Hi, 

    After a stuck bus is detected, the LTC4309 doesn't go back to the beginning of the Start-Up process. The precharge circuitry, for example, will not be active after a stuck bus is detected and bus segments disconnected. Precharge is only active before the buffer has exited the the UVLO state.

    The Start-Up process is essentially two main states. The first being UVLO state, the second being and unnamed bus monitoring state when the LTC4309 waits for an opportune time to join the segments so the connection does not disturb the bus.

    Provided the ENABLE is high, and provided all the other conditions you mentioned, the LTC4309 is waiting for SDAIN to go high before it connects the bus segments.

    There is the option to force a connection with the ENABLE pin. The IN and OUT bus segments will be connected when the ENABLE pin transitions L->H while the bus segments are disconnected.

    Regards,

    Jason 

Children
No Data