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.

TCA9800: Appropriate for SMBus psuedo-isolation?

Part Number: TCA9800
Other Parts Discussed in Thread: BQ25708, , BQ20Z65, TCA9802, TCA9801

I have a design that includes an SMBus implementation consisting of a smart battery, a TI bq25708 BMS IC, and my host processor.  As part of the design, I need the battery to be able to communicate with the BMS when the host processor is off (the battery sends out periodic packets telling the BMS what charge voltage and current it requires), but for all 3 devices to be able to communicate when the processor is on.  The issue I have is that the SMbus pullup resistors will attempt to backfeed the processor via its protection diodes when power is removed from the processor.

Is the TCA9800 an appropriate solution to this issue, or is there another IC better suited for the job?  

My plan is to connect the A side to the processor with the EN line tied to the same supply as VCCA, and the B side connected to the BMS and smart battery with VCCB supplied by the 3.3V supply associated with the charging circuit.  One thing I was not clear on is if having the battery occasionally take over the bus as master will be a problem if it is on the B side.

Thanks

  • Hey Adam,

    I would like to try to repeat what you said with diagrams and see if my understanding of your problem and potential solution were interpreted corrected.

    Here is what I am seeing from what you describe as your overall SMBus system:

    The problem with the set up you described above is that if Vcc1 is off/GND while Vcc2 is powered on then Vcc1 will be powered on through a diode (back biasing):

    Your proposed solution:

    If so then this solution could work. Notice that in the diagram A side has the pull up resistor and B side does not. B side will supply a constant current which will pull the B side high. In order to properly send a low during a contention state (when the host is communicating), the BMS/BQ needs to be able to sink the entire current source if A side pull low to immediately send a low back. Therefore the BMS/BQ must have an Rdson of 150 ohms or lower.

    If this is true then this solution will work.

    Thanks,

    -Bobby

  • Hi Bobby,

    This is exactly the setup I was describing, thank you for the visual aide.  I don't think the BMS/BQ directly specify Rdson, but I suspect they will be ok.  The bq25708 references a 5mA drain current and the bq20z65 has a safe current source of 3mA (no mention of sink that I saw). They are both TI parts, so I suppose I could post in the appropriate forum to find out for sure.  I have a part on order to try this out and see if there are any issues.  I chose the TCA9800 as it had the lowest current source value of the family, and SMBus typically uses 10k pullups, which are a bit weaker than the typical I2C ones.

      

  • Hey Adam,

    Do you know how much capacitance you expect to be on the left side of the TCA980x (according to the last image I uploaded)? The TCA980x family part selection depends on bus capacitance expected and speed. I believe the SMBus standard still requires you to meet rise times, so if you are operating at 400kHz and and have a lot of capacitance then you may want to consider going to TCA9801 or TCA9802.

    Thanks,
    -Bobby
  • I don't have an exact number for capacitance. The battery IC specs 5pf, the BMS doesn't give a spec, and a rough estimate of the trace itself is 10pf. So maybe ~20pf total per signal? The BMS doesn't support speeds faster than 100kHz, so that's not an issue. Do you think the 9800 will be fine?  Based on my calcs, it shouldn't have issues meeting timing requirements.


    One note on your drawing that I forgot to add is that the bq25708 is the BMS, and the block you labeled BMS is the battery (using a bq20z65 gas gauge).

  • Hello Adam,

    Our device will add about 10pF of capacitance but at 30pF and 100kHz then TCA9800 should work fine.

    Thanks,
    -Bobby
  • Thanks, I should be able to test it out early next week.