你好
我正在使用 PCA9539 I/O 扩展器,遇到了意外的 RESET 问题,这似乎取决于 I2C 连接状态。
问题如下:
我通过 I²C 通信将 PCA9539 的所有输出端口配置为高电平。
输出引脚按预期保持高电平。
但是,当我移除 SDA/SCL 探头(用于监控 I2C 总线)时,PCA9539 似乎 RESET 了——输出引脚恢复到默认状态。
在此过程中,VCC 保持稳定,持续供电,RESET 引脚通过上拉电阻器保持高电平。
MCU 没有故意发出 RESET 信号或电源重启
其他说明:
在相同的测试条件下,PCA9538 没有出现这个问题。
存在 I2C 上拉电阻。
电源稳定,可与电容解耦。
RESET 引脚在事件期间未显示异常活动。
我怀疑,断开探测器连接时出现故障或启动/停止状态不完整可能会导致 PCA9539 的内部 I2C 状态机进入故障状态,从而导致类似RESET的行为。但是,我没有找到任何文件可以确认 PCA9539 是否可以在不明确 RESET 或重新通电的情况下清除其输出寄存器。
据我所知,就 I2C I/O 扩展器而言,只要有电源供应,无论是否连接了 I2C 探头,它都应保持其配置。您能确认这种理解是否正确吗?
问题
在任何情况下,PCA9539 可以在没有 RESET 引脚断言或电源循环的情况下 RESET 其输出寄存器或 I2C 逻辑?
拆除探头期间 SDA/SCL 出现的故障是否会导致设备进入故障状态并丢失其配置的输出?
既然 PCA9539 和 PCA9538 的功能相似,为什么 PCA9539 会出现这种行为,而 PCA9538 却不会?
不管 I²C 总线连接如何,只要有电源,I2C I/O 扩展器都应保持其配置,这是否正确?
如果您对此行为有任何见解或官方文件,我们将不胜感激。
谢谢!