Hello,
I am using the PCA9539 I/O expander and have encountered an unexpected reset issue that seems to depend on the I2C connection status.
The issues are as follows:
I configure all output ports of the PCA9539 to HIGH via I²C communication.
The output pins remain HIGH as expected.
However, when I remove the SDA/SCL probes (used for monitoring the I2C bus), the PCA9539 appears to reset — the output pins return to their default state.
During this process, VCC remains stable, continuously supplied, and the RESET pin is held HIGH via a pull-up resistor.
There is no intentional RESET signal or power cycling from the MCU
Additional notes:
This issue does not occur on PCA9538 under identical test conditions.
I2C pull-up resistors are present.
Power supply is stable and decoupled with capacitors.
The RESET pin shows no abnormal activity during the event.
I suspect that a glitch or incomplete START/STOP condition when disconnecting the probes might be causing the PCA9539's internal I2C state machine to enter a fault state, which results in a reset-like behavior. However, I have not found any documentation that confirms whether the PCA9539 can clear its output registers without an explicit RESET or power cycle.
As far as I know, in the case of an I2C I/O expander, as long as power is supplied, it should retain its configuration regardless of whether an I2C probe is connected or not. Could you confirm if this understanding is correct?
Questions:
Are there any conditions where the PCA9539 may reset its output registers or I2C logic without a RESET pin assertion or power cycle?
Could a glitch on SDA/SCL during probe removal cause the device to enter a fault state and lose its configured outputs?
Why would this behavior occur on PCA9539 but not on PCA9538, given their similar functions?
Is it correct that an I2C I/O expander should maintain its configuration as long as power is supplied, regardless of I²C bus connection?
Any insights or official documentation on this behavior would be greatly appreciated.
Thank you.