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.

TCA9543A: I2C bus expansion using switch with MSP430 Host

Part Number: TCA9543A
Other Parts Discussed in Thread: MSP430FR2475, , TMP102

Tool/software:

Hello TI team, 

We are working on a design based on MSp430FR2475. 

We have requirement to add same slave ID devices on I2C bus. Hence planning to use the TCA9543A switch in design. 

Please check the attached image and below questions pertaining to architecture. 

1. USB PD controller via the switch on one of I2C bus can be connected as in figure? 

2. Currently USB PD I2C interrupt is connected to MCU gpio, if using switch will this has to be through the switch interrupt pin? 

3. T1 to T4 are temperature sensors TMP102 and E1 to E4 are EEPROMs. E0 is another EEPROM connected to base board and rest all EEPROMs are specific to daughter boards. 

4. T1 to T4 has same slave ID 

5. E1 to E4 has same slave ID

6. Temperature sensors interrupt planning via the switch. 

  • 1. Yes. But the TCA9543A is needed only if you have address conflicts or want to do level shifting; if the EEPROM-0 and PDs use the same voltage as the MSP430, then you can also put them on the bus segment at the left.

    2. The TCA9543A's interrupt inputs allow to combine multiple interrupt lines, and to do level shifting. You can also connect the PD interrupt signals directly to the MSP if you have enough GPIOs.

  • Thanks!

    kindly check the attached diagram, you mean the same master bus can drive the USB PD and EEPROM 0. 

    I2C switch you mean will only be needed for temperature sensors and EEPROMs on our adapter PCB? 

    Additinally I have doubt on handling Interrupts. 

    1. In our previous architecture we connected TMP102 on same I2C bus and changed the slave ID in design. INTs from TMP102 were given to dedicated MCU gpios separately. 

    2. If going with above architecture, we are using I2C switch as we have requirement to keep the slave address same for EEPROM and TMP102. For this TMP102 interrupt certainly needs to be connected via the switch INT pin or it is ok to connect it directly to MCU gpio? 

    Consider we have no requirement of level shifting for EEPROM or TMP102. 

  • Yes; you need the I²C switch only for those devices that have address conflicts.

    2. When you route the interrupt signals through the TCA9543A, then the MCU does not know from which slave an interrupt comes, and has to ask both. If you route the interrupt signals directly to some GPIOs, then the MCU does know the origin of an interrupt. (Interrupt signals do not use the I²C protocol, so there are no I²C conflicts.)