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.

PCA9515B: i2c across pcbs located within single enclosure

Part Number: PCA9515B
Other Parts Discussed in Thread: TPS23861, TCA9517

I have a number of PCB's located in a 19" rack enclosure. Each PCB contains multiple TPS23861 PoE PSE devices which can be linked together using i2c and interrogated.

The i2c bus can run upto 400kHz and is at 3v3.

Ideally i want to run the i2c through all the boards and have one connection point for the interogation device. Each PCB would have and i2c input and output connector which would link together in-out>in-out>in-out

I've looked at the TI  "I2C Level Shifters, Buffers, and Hubs" but nothing strikes me as suitable and i don't need to level shift.

Any suggestions as to which part(s) i should look at to achieve the above, or am i making things more complicated than i need to.

thanks,

  • Hey Howard,

    You may or may not want to use an I2C buffer for your board if the bus capacitance is large. For a 400kHz clock, the I2C standard requires your I2C lines have no more than 400pF of capacitance. With a lot of I2C devices and long traces you could be building up a fair amount of capacitance and be over the maximum allowable. If you are also connecting these boards across multiple cables then the parasitic capacitance of these cables could also be a concern. To meet the required rise times of I2C with a high capacitance bus, using a lower pull up resistor is required but also has draw backs because it will likely raise your VoL which could affect the ViL. (Note this will also increase power consumption with more current being drawn while passing lows) A buffer can help in this case too.

    An I2C buffer can help separate the capacitance between boards and cables. I would look into the TCA980x or the TCA9517 as possible picks as they will support 400kHz frequency and 3.3V. I believe this TCA980x has better performance, a lower buffered offset (common in i2C buffers), and one side does not require a pull up resistor because it supplies it's own current source.

    If you need more help or further explanation because I wasn't clear, feel free to reach out.
    -Bobby

  • Hi Bobby,

    Thanks for your reply.

    So i can put a TCA9517 straight after the i2c input connector on one board, supply that boards i2c devices then pass through another TCA9517 to the pcb output connector. I can run a short cable between the pcbs and then the path repeats on the new pcb.

    I know the ascii flow below isnt quite correct as the i2c doesnt pass through the part but across it and then down to the ic ports.

    input connector > tca9517 > tps23861 > tp23861 > tca9517> output connector ++  <wire> ++  next pcb

    Vcca and Vccb would both be 3v3. 

    Im happy to slow the i2c bus down to overcome any issues with the capacitance and also tweek the pull ups.

    Howard

  • Hey Howard,

    One thing about buffers is you cannot place the buffered offset sides together (B side connects to B side is bad) so please be aware of this.

    Also how long do you expect your cables connecting one PCB to another to be?

    One last worry is if you stack too many of these in series, the propagation delay could cause issues when slave devices try to ACK.

    You may also want to consider utilizing the EN pins on these devices to be low until you connect all the connections together. As TCA9517 does not support hot insertion.

    -Bobby
  • Hi Bobby,
    I expect the PCB to be approx 180mm wide, the two i2c connectors will be this distance apart. I expect the link cables between the pcb's to be no more than 100mm long.

    I would connect the A side to the i2c input connector, the B side would go off to the i2c devices on the PCB and on to the A side, the B side would go to the output connector.

    My master i2c device would connect to the A side of one of the PCBs. I think there will be 2, max 3 boards in the chain. This way the master can communicate with all the i2c devices. Initially this will be via a USB<>i2c dongle connected to a laptop, but in time there will be another pcb designed with a micro on that will be the i2c master.

    Howard