This looks like the Smart IO Board I2C Master has lost arbitration. Can you kindly insert a 100 ohm resistor in SDA / SCL lines, first between 1 master and the bus, and then between the other master and the bus. This way, you will see logic low a bit higher on the bus, compared to the logic low level in the master.
Are the VDD for Smart IO and PSoC4 same?
Thank-you for your suggestion. I'm not sure I understand the objective of the resistors? Although it is a multimaster bus, there is only one sending master (the smartio board).
As a test I configured one of the other devices to also become master and send a message periodically. This seems to "unstick" the smartio board and it resumes transmitting its test message for a while before hanging up again. I think this supports the theory that its an arbitration issue. Perhaps an SDA glitch is causing the smartio board to think it lost arbitration even though no-one else is actually sending.
Regarding the Vdd question, the test configuration has 4 devices including the smartio board. 3 of the devices are powered by Vdd=5V, one has Vdd=3.3V. We use the LTC4313-3 I2C buffer/repeater/level translator to handle the differences in Vdd. I am sort of wondering if the LTC4313 is glitching!