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.

PCA9555: the status of I/Os is input & pull-high while power on without I2C commands.

Part Number: PCA9555
Other Parts Discussed in Thread: TCA9555

Hi team

We use PCA9555 for LED control,

sometimes, we cloud find the I/Os (P00-P07 & P10-P13) are low (about 0.1V) while power on without I2C commands.

somtimess, we cloud find the status of  I/Os (P00-P07 & P10-P13) are different, P07 is high (about 3.2V), others are low (about 0.1V), while power on without I2C commands.

How can we keep the status of  I/Os are low while power on without I2C commands?

Thanks.

  • Hi Wilson,

    Based on these voltages, it sounds like the ports may be powering up configured as outputs rather than inputs. You could verify this by reading the Configuration Port Register after start-up (when the issue occurs) and see if any values are 0. If that is is the case, then the most likely cause is an improper power-on-reset due to the VCC ramp conditions. This device has some restrictions on the VCC ramp that are documented in Section 10.1 of the datasheet - can you please verify whether you are operating within these guidelines?

    Note that in general we recommend the TCA9555 part number over PCA9555. The TCA9555 has a more robust power-on-reset circuit that will be less sensitive to VCC ramp rates and on/off times. Otherwise, the devices are considered direct functional equivalents. Would it be possible for you to evaluate TCA9555 instead to see if this resolves the issue?

    Regards,
    Max
  • Hi Max,

    I will check the VCC ramp conditions.

    If the cause is an improper power-on-reset due to the VCC ramp conditions, how could we make the device operating normally without power on again?

    One more question,
    when we found status of LEDs is wrong, then we checked the I/Os (P00-P07 & P10-P13), and found the voltage of P07 from 2.17V down to 0.1V, P06 from 3.30V down to 0.1V once.
    Whether it is the same cause? but it is power on a few minutes ago.
  • Hi Wilson,

    As long as the I2C interface is working, then you could manually re-write the registers to the correct default values if they were not properly initialized at power-up.

    For your second question, do you mean that the output voltage of the GPIOs is initially high but then drops to 0.1 V a few minutes later, even though they were not configured to be low via the output port register? If so, can you please describe how the LEDs are connected to these ports (e.g., which polarity, whether they reference to VCC or ground, and if any series current-limiting resistances are used)? Does the device ever heat up before the voltage is observed to drop? Once the output voltage drops, are any other port outputs high or are 100% of them low?

    Regards,
    Max
  • Hi Max

    Could you reply my question "If PCA9555 were not properly initialized at power-up, how could we make it operating normally without power on again?" by mail, thanks.

    The waveform of PCA9555 Vcc pin meets the VCC ramp conditions incloud tOFF & tRISE while AC on/off, and the status of LEDs are normal.

    We didn't reproduce the issue again.

    About my second question, they were not configured to be low via the output port register.

    The LEDs are connected to these ports as below:

    3.3V -- 220ohm -- LED -- I/O port of PCA9555

    and the MCU communicates via the I2C with PCA9555.

    Does the device ever heat up before the voltage is observed to drop?

    The PCA9555 is in the chassis, and we don't have a good thermometer to check it.

    Once the output voltage drops, are any other port outputs high or are 100% of them low?

    It seems random.

    I saw It happened twice while AC on/off, once all of the I/Os (P00-P07 & P10-P13) we used were droped, once 11 of the 12 I/Os were droped.

    Once we found 1 of 12 LEDs was lighted, and measured the voltage of P07 from 2.17V down to 0.1V, then another LED was lighted, the voltage of P06 from 3.30V down to 0.1V.

  • Hi Wilson,

    Sorry for the delay, I was out of the office for a little bit.

    If the registers are not properly initialized, you could re-write them manually to the correct values. This assumes that the I2C interface is working properly.

    For the LED issue, does the "wrong status" always mean that the LED is illuminated when it should not be? (This is what I'm understanding based on the pin voltages and LED connection you've described.) When this occurs, have you tried reading the output port register to see if it has any outputs configured for a low level? It sounds like you aren't intentionally forcing them to a low level, but I'm wondering if the root cause may still be incorrect register values.

    Regards,
    Max