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.

TCA9555: Output port jumps back to default value after configuring it to 0

Part Number: TCA9555

Hi team,

My customer is testing TCA9555. After the device is powered up, customer uses MCU to configure its some specific port to output level 0. After the configuration, we can capture the configured port output a 0 but it will immediately jump back to level 1 after a very short period of level 0. And it will stay at level 1 if there's no furthur configuration. It looks like the configuration did works but it is refreshed by something else. So could you please help analyze this? Thanks.

Best regards,

Wayne

  • Hi Wayne,

    Is it possible that the VCC rail cycles or glitches to a low level, resulting in a power-on-reset restoring default values?  If not, could you please check the SDA/SCL lines of this device to make sure we understand what I2C read/writes it is seeing?

    Regards,
    Max

  • Hey Wayne,

    Can you tell me what they are writing into our device to set the output to low? (register dump)

    Do you have a schematic we can review?

    Can you provide scopeshots of the SDA/SCL during a write or read transaction?

    -Bobby

  • Hi Max,

    I checked the VCC powers and it is stable. And customer is trying to capture the I2C timing plot to know what exactly is writing into 9555. One support need is that can you recommend a correct register configuration sequence if we want to set some bits output 0.

    For example, When set  P00 and P01 output 0:

    My thought is that:

    1. Write REG6 to 0xFC

    2. Write REG2 to 0xFC

    Can you help confirm? Thanks.

    Best regards,

    Wayne

  • Hi Bobby,

    Thanks for your reply. Please see my response as the echo to Max. 

    Best regards

    Wayne

  • "My thought is that:

    1. Write REG6 to 0xFC

    2. Write REG2 to 0xFC

    Can you help confirm? Thanks."

    I would actually recommend writing to register 2/3 first to make sure the ports you want to be low are low when you set the configuration register otherwise they will be set to high after you set the configuration register. (the output registers are set to be HIGH after power up so setting the ports to be outputs will immediately make them HIGH until configured to be low)

    Then you can set register 6/7 to be '0' or outputs.

    Thanks,

    -Bobby