I have an IIC master and slave system. The master board uses a NXP LPC2103 chip and the slave board uses a freescale QG8 or GT8 (the code is the same)
Very rarely (but it happens), the IIC stopped to work between the master and slave. What I noticed is the slave is locking down the SCL port to low. The SDA is low too, BUT it is released once I disconnect the master (there is a harnesse between them).
Right now, I have a timer that is reset each time I receive a IIC communication (by interrupt). If the timer is exceeded, I have a determine there is an IIC failure. I noticed that I am not doing anything with the SCL, SDA or even the IIC itself. Should I? If so, what should I do? Does reading again the IICD can fix the problem?
I am a bit lost, because this is something that can take VERY long time to happen (if it does).
It is possible the real problem starts with the master board, but I still want to protect my slave board in case it happens again.
Any thoughts or suggestions?