M24SR04 Stops Responding During Intense Activity
Hi,
We have a bespoke board built around a STM3L4 and a M24SR04-Y.
We share data with a NFC reader, i.e. the NFC reader can write a command into the M24SR EEPROM, interrupt the STM32 via GPO and the STM32 will reply by writing something in the EEPROM.
Broadly speaking what we've done works. We can use the NFC reader to change the configuration of our device and retrieve data from the device. We finished this code some weeks ago and have been using it.
We have recently realised that if we abuse the process by continually exchanging information between the NFC reader and the STM32 it will eventually fail. Earlier I tried continually reading from the STM32 for 10 minutes, it failed on the 620th attempt.
In the STM32 code we're forcing the open session and our code gets stuck polling for this to be successful. After that the M24SR seems to be stuck because there is no response from the I2C or NFC sides.
The I2C bus is still working because we have another I2C device and it still responds. Restarting the STM32L4 doesn't help.
The only way to get the M24SR responding again is to remove power.
I have tried setting the I2C watchdog to 1 but it didn't make any difference.
It feels to me like the internal token passing mechanism has got locked up. This seems like a feasible explanation given that my testing is continually switching between NFC and I2C.
The STM32 application is based on Mbed OS and we're using ST's M24SR library, https://os.mbed.com/teams/ST/code/M24SR/.
Does any of this mean anything to anyone?
Is it likely to be a real problem or a problem with the software?
Thanks,
Matt
