Hi,
We are using the hardware I2C bus on a Q24 Plus to control the MCP23008 IO expander. The communication is going on every 1.5 second. After some time of operation (up to an hour) the bus hangs up. The SCL line remains stuck low sometimes.
A software reset does not recover from the error, only a hard reset helps. The trace is as follows:
...
86794.581 Trace CUS4 24 Bus Write 0 len 1 : 0
86794.582 Trace CUS4 24 Bus Read 0 len 1 : 0
86794.582 Trace CUS4 24 Bus Write 0 len 11 : 0
86796.064 Trace CUS4 24 Bus Write 0 len 1 : 0
<--- HERE THE BUS GOES OFF --->
86796.064 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 8705)
86796.064 Trace CUS4 24 Bus Read 0 len 1 : -1
86796.064 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 8701)
86796.064 Trace CUS4 24 Bus Write 0 len 11 : -1
86797.566 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 8701)
86797.566 Trace CUS4 24 Bus Write 0 len 1 : -1
86797.566 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 8705)
86797.566 Trace CUS4 24 Bus Read 0 len 1 : -1
86797.566 Trace IOB 1 Unable to find the string of the remote trace in the file (ID = 8701)
86797.576 Trace CUS4 24 Bus Write 0 len 11 : -1
...
We tried unsubscribing from the bus and than subscribing back even after every read/write but nothing helps. Once the bus is gone only a hard reset is effective.
Any ideas or suggestions on what is happening? Is the mode of operation described in http://www.wavecom.com/modules/movie/scenes/forums/viewtopic.php?t=1250 possibly the cause of this problem?
Regards,
Martin