I'm experimenting quite strange behavior on ADV7619 I2C when switching resolution of the HDMI input on our application.
I'm running a reliability test which makes continuous read and write access to the I2C of the ADV7619 chip, while having a source switching resolution every ~2 seconds. The I2C master is implemented in a FPGA with a xilinx I2C IP.
The observed behavior is 100% reproducible:
While the resolution is kept constant, no error is observed on I2C, but when switching resolution, there is a burst of failing transaction, sometimes NAK are produced, sometimes read value is wrong. When scoping the bus, I saw that the ADV7619 is sometimes simply not answering at all to device ID, but some other types of error are seen as well (like wrong value read back).
I would expect that the I2C bus would be available 100% of the time.
some more information :
- this behavior only occurs with a specific test HDMI source, which is very stable.
- The I2C master is an IP from Xilinx, but we saw the same behavior with other implementations of I2C masters.
- I tried SCL freq ranging from 80 to 400KHz with same behavior.
- I verified power supply as it was the only relation that I could imagine and they are nearly perfect, with good margins.
- Power sequencing was verified and is OK as well.
- The register used for this test is the CEC slave address register, which is convenient to do simple tests but the same behavior was observed in real life situation with other registers.
- An ADV7511 is as well present on the bus, although not used during the test.
- Sometimes ADV7619 does not answer to the device ID, sometimes, to the register ID, sometimes is returning a wrong read value, sometimes drives low the Scl. The behavior is quite erratic after resolution switch. the type of error is seemingly related to to moment where an internal error occurs w.r.t the I2C state.
Has anybody seen that kind of behavior, or even better have solution to that?
Thanks in advance,