Pesky fine print, in the datasheet for the PCA6416A:
There are two supply voltages for PCA6416A: VDD(I2C-bus) and VDD(P). VDD(I2C-bus) provides the supply voltage for the interface at the master side (for example, a microcontroller) and the VDD(P) provides the supply for core circuits and Port P. The bidirectional voltage level translation in the PCA6416A is provided through VDD(I2C-bus). VDD(I2C-bus) should be connected to the VDD of the external SCL/SDA lines. This indicates the VDD level of the I2C-bus to the PCA6416A. The voltage level on Port P of the PCA6416A is determined by the VDD(P).
Hmph. This does explain why my initialization wasn't working; I was trying to configure the chip before turning on VDD(P), and not getting the ACK.
But it really would be nice to be able to initialize the chip completely before turning on I/O power and thereby enabling dangerous things. I guess I'll have to make sure that the power-on-reset state doesn't lead to any chaos.
Hmmm, maybe I should (for some cases, not the Gadget currently on the bench) provide a 1.65V keep-alive supply on VDD(P) for those times when the I/O supply is powered down...?
Comments