I am designing an LED Lighting product using W5500 to receive Art-Net. (Art-Net is a UDP protocol with packets of 534 bytes). The controller is ESP32. I am using the interrupt pin of the W5500 to trigger reading of packets.
Everything works fine until we send a large number of Art-Net packets together (e.g. a burst of 24 packets), then W5500 stops receiving the UDP data after a short length of time (30sec - 2 minutes). The interrupt pin stops triggering. W5500 can still be read but reports no data has been received. I’m running the SPI bus at 32MHz. I have the W5500 set to one single socket with a buffer size of 16KB. If I read back the configuration registers of W5500 everything still seems to be set correctly.
The only way to restore operation is to reset the W5500, then it will work correctly again for a short time.
ESP32 is using Arduino framework with the standard ethernet library. I’m not sure how to debug this further as the problem seems to be inside the W5500.