W5500 Socket_RX_RSR Read

안녕하세요?
한가지 질문드립니다.

W5500을 이용하여 UDP 통신으로 30ms 마다 64 바이트 데이터를 수신하고 있습니다.
Socket(0 ~7) Size = 2K
Socket 0 ~ 3으로 4개의 각기 다른 단말에서 데이터를 수신합니다.

데이터시트에 명시했듯이 Socket_RX_RSR함수를 두 번 읽어 비교 후 Read 함수에 들어갑니다.

데이터 수신을 잘 하다가 간혹 Socket_RX_RSR 함수를 Read 시 64바이트가 아닌 엄청난 수(예를 들어 32568…)의 숫자가 찍힐 때가 있습니다. (어쩔때는 소켓 0에서 어쩔때는 소켓 2에서 랜덤으로)

잘 될 때는 계속해서 잘 되는데… 간혹 이런 데이터가 읽히니… 시스템이 멈춰버리네요…
왜 그런 걸까요?? 혹시 하드웨어 연결이 불량할 경우에도 이런 일이 있을까요??

고수님들의 의견 부탁드립니다.

Must not happen with properly functioning SPI interface, and proper programming. While values being read may be different, e.g. first time 0xc5, second time 0x130, the MSB must never be larger than buffer size (in you case of 2K is 0x08). If you get > 0x08, then there’s some problem with SPI interface or issue in logic accessing chip through SPI (e.g. MSB/LSB swap).

Edit: another source of intermittent issue - broken workflow by using concurrency - with interrupts of threads.