TCA9536: IO controll

Part Number: TCA9536
Other Parts Discussed in Thread: PCA9536

Hi,

1. For the TCA9536DTMR IO expander, can the IO ports (P0/P1/P2/P3) be individually set high or low via I2C?

2. Alternatively, how does the I2C master know when it needs to control these IO ports (P0/P1/P2/P3)? 

Thanks!

Jeff

  • Hi Jeff,

    1. For the TCA9536DTMR IO expander, can the IO ports (P0/P1/P2/P3) be individually set high or low via I2C?

    Yes, you can set TCA9536 P0/P1/P2/P3 IO's to act as OUTPUTs. Then you can set the logic of those pins high or low through I2C commands. Each I/O has an individual logic. You can even set the I/O's to be a mixture of inputs and outputs. 

    2. Alternatively, how does the I2C master know when it needs to control these IO ports (P0/P1/P2/P3)? 

    That is up to you. I2C master/controller will need to know when it wants to write outputs to these pins. 

    Now if P0/P1/P2/P3 are being used as inputs, there is no way for the I2C master/controller to tell a state change on the I/O Expander without polling the device. You can set P3 as an interrupt pin. Then if a state change happens, you can route this interrupt to the controller device to signal a state change this way - this would eliminate polling of the device however you lose 1 pin to an interrupt and only have 3 remaining I/O's. 

    Regards,

    Tyler

  • Hi Tyler,

    May I ask another question about the PCA9536 IO expander? When we set P1 to High, P0 is also pulled High to shut down the Efuse, which cuts off power to the entire SSD.

    Now, to resume power to the SSD, the Host will first set P0 back to Low. Can P1 automatically go Low along with P0 without needing an I2C command? Note that 3.3V AUX continues to power the PCA9536. Please refer to the schematic below, thank you.

    Jeff

  • Hi Jeff,

    Yes this is possible. 

    If you want to maintain P0 as an output LOW, when you update the output port register, keep bit 0 = 0. 

    Regards,

    Tyler

  • Hi Tyler,

    There were quite a few typos in the previous post; I have corrected them below.

    Also, I have a question regarding the TCA9536 IO expander. When we set P1 to High, P0 also goes High, which cuts off the power to the eFuse. Once the eFuse is powered off, the entire SSD loses power. Now, to resume power to the SSD, the Host will first change P1 back to Low. Can P0 automatically follow and go Low without requiring an I2C command? Note that 3.3V AUX continues to power the TCA9536.

    Please refer to the schematic below, thank you.

  • Hi Jeff,

    My feedback is still the same. 

    If P0 is an output and the logic is set HIGH, the only way to change the output at P0 is to write a logic low which requires an I2C command. 

    Regards,

    Tyler

  • Hi Tyler,

    However, since our SSD is unpowered and we cannot control I2C, does this mean that when P0 input transitions from High to Low, P1 cannot be controlled via I2C to transition from High to Low?

    Thanks!

    Jeff

  • Hi Tyler,

    Would you please check for above question? thanks!

    Jeff

  • Hi Jeff,

    We are reviewing the feedback and will provide an update soon.

    Thanks,

    Jack

  • Hi Jeff,

    This is an I2C controlled I/O expander. 

    The I/O pins will power up as INPUT's. The state change to P0 or P1 would happen externally to whatever is connected to the pin. 

    Regards,

    Tyler