Post Go back to editing

Can I connect an I2C accelerator to the master input of an I2C multiplexer?

Category: Hardware
Product Number: LTC1694

I'm planning to connect eight I2C sensors as slaves to an I2C multiplexer, specifically a PCA9548A.

Since the connection happens via cables with up to 50cm and of varying capacitance, I'd like to integrate an I2C accelerator into the design. I'm currently thinking about the LTC1694, but if there is a compelling reason to use another one, I'd gladly reconsider.

Is is possible to place such an I2C accelerator on the master side of the I2C multiplexer? Would the slew rate acceleration propagate through the multiplexer to the slave that is currently switched to the master?If I read the functional diagram on page 13 of the multiplexer's datasheet correctly, every SDA and SCL simply pass through a single transistor each.

They aren't the cheapest components and I'd like to avoid placing one on every sensor board.

  • Hello,

       Placing a single rise time accelerator (RTA) upstream of a pass-transistor mux will effectively put the transistor's Rds(on) in series with the RTA for the down stream segment.  This additional series resistance + RTA current will create a voltage drop that adds to the down stream bus capacitance's charging voltage with the result of the RTA prematurely turning off from the perspective of a device on the down stream bus segment.   Depending on the details of the bus segment capacitances and the different devices this may or may not be an issue.

       One possible alternative would be to use a mux which incorporates RTAs such as the LTC4306.  In additional to the multiplexer function, there is an analog bus-buffer on the mux common side in addition to rise time accelerators on each bus segment.  The bus buffers will partition the bus into two portions which will split the bus capacitance.  This will also minimize the impact of the pass transistor's Rds(on).  The LTC4306 is controlled by an I2C bus command, similar to the mux you are considering; however, because its a 4-channel, mux, you will need two of them.   The LTC4306 has 27 different possible addresses depending on the configuration of 3 address pins, so it should be possible to find non-conflicting addresses for the two muxes. 

       The LTC4306 also includes a stuck bus detection and disconnect feature which could be useful if, for example, the cabling to a sensor is damaged resulting in a bus short for that segment.  The LTC4306 will detect the stuck bus and disconnect the down stream bus segments from the upstream bus, however, its I2C control interface will remain active on the upstream bus.  It will also not connect to a bus segment that is not idle, such as a stuck bus, so this will help protection the functionality of the I2C bus.  Since the upstream bus will remain active in this scenario, the upstream controller can then take appropriate corrective or mitigating actions to manage this fault.  If a simple mux were to be used, once a damaged / shorted downstream segment were to be connected to the bus, the bus will become stalled and recovery might not be possible.

       In terms of choice of RTA, the LTC1694 is fine, but there are other newer and lower cost options.

      The LTC4311 is a newer version of the LTC1694 with lower supply current, wider supply voltage and a stronger pull-up drive current.  It shares the same rising edge detection scheme which uses the dv/dt and threshold voltage to trigger the RTA while adding an enable control that allows it to be disabled to reduce its supply current to less than 5uA.

      The MAX20326 is a lower cost option which simply uses a threshold voltage detector to connect an additional lower valued pull-up resistor. 

    Eric

  • Hello,

    and thanks for this very comprehensive explanation.

    So there would be no critical problem when placing an RTA on the upstream side of an I2C mux, but it's performance may be degraded depending on the pass transistor's on resistance, correct? Therefore I could pick a mux with low Rdson and hope for the best, since the sensor's cabling is still subject to experimenting and will likely vary in the future. This sounds like a losing battle...

    Also, thanks for your tip with the LTC4306. I wasn't aware of such integrated solutions, and I will definitely consider this.

  • Hello,

     So there would be no critical problem when placing an RTA on the upstream side of an I2C mux, but it's performance may be degraded depending on the pass transistor's on resistance, correct?

    Assuming the mux has a pass-transistor structure, this would be correct. 

    The answer for other mux structures will depend on the particular details of their design/structure.

    Eric