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.

PCA9518: Communicate to I2C via HUB on 4 different Microcontrollers

Part Number: PCA9518
Other Parts Discussed in Thread: TCA9545A, PCA9546A, , PCA9515, P82B96, P82B715

Dear All, 

I have 4 boards with separate addresses and I want to communicate between them using the I2C HUB/Multiplexer. Board Main is the Master and there are 3 slave boards with each of their micro-controller.

I also want to synchronize this communication as all the 4 boards are busy with their tasks. 

I am right now looking at  PCA9546A or TCA9545A or PCA9518 devices. 

Can these devices be used for this type of communication. How do I ensure that the partner hubs is switching to the I2C line from the slave PCBs? 

I am thinking of implementing a simple handshake from the main board to the slaves before starting the communication.

  • Hello sns22,

    These parts are designed to connect more than one bus at a time, but you might need buffers between connections due to capacitive loading of boards and cable. 

    I am a bit confused about your diagram.  Board 1, Board 2, and Board 3 each have a I2C switch on them that seems to connect to EEPROM.  Are there multiple EEPROMs you are trying to connect to on each board?  Is the micro on each board connecting to I2C lines  to?  I looks like you are trying to connect the switches in series, is that correct?

    Do you have a I2C tree that covers all the slaves, their addresses and connections?

    -Francis Houde

  • Dear Francis ,

    Our problem is that all the 4 boards in the diagram are same. They are exactly identical in hardware but will be programmed for different functionality.

    Each board has a micro-controller and a EEPROM. Since we have not many I2C lines the idea was to switch between the I2C intercommunication PCBs and the EEPROMs of the individual PCBs. We assign the address to each PCB boards via switches.

    So yes one can say that we are trying to connect the switches in series. Will that be a problem?

    Thanks
    Sns22.
  • Hello Sns22,

    I think I see what you are doing now.  I don't see the addressing to be an issue. 

    The main concerns I have is that by putting two pass fet types of switches in series you add the series resistances and also the parallel capacitances on the buss when they are turned on.  That is why it might make sense to put a buffer in between boards.  Do you know the approximate capacitive loading that each I2C node might see?  How long are the cables, what are their series resistance and capacitance/ft?  how many devices on each node at any given time?  there is an approximate 10-15pF capacitive load per IC/Device.  How fast do you want to run?  100kHz?  400kHz? 

    -Francis Houde

  • Dear All,

    After much investigation, I found that two PCA9518 devices cannot be connected in series.

    Reference: Pg 24
    www.nxp.com/.../AN255.pdf

    Question: Can the PCA9515/16 be used in series?

    Answer: No, two of the PCA9515/16/18 cannot be used in series, or one of these connected to the Sx I/O pin of the
    P82B96. The reason is because of the way these devices sense whether a low on the line is being driven externally
    (e.g. by a device on the bus connected to that segment) to the device or internal (e.g. by a device on a bus connected
    to the opposite side of the device) to the device. A low on one end of the bus will not be seen as a low at the other
    end of the bus if it must travel through more then one repeater/hub/extender.

    The Philips PCA9511/12/13/ are being designed to be used in series. Normally two P82B715s can be used in series because they do not use special logic levels. It is allowable to connect the PCA9515/16 to the Tx/Rx side of the P82B96 or to either side of the P82B715.

    I am looking into another device as we also need galvanic isolation. I will start another thread for that.

    Cheers
    Sns22