W5300 TCP Server 기능으로 사용 중입니다.
36Byte를 100ms 단위로 전송 중인데 수신 데이터 크기(PACKET_INFO)가 일정 횟수가 지나면 12593으로 나옵니다.
– 추가 사항 –
위의 12593은 수신 받은 데이터의 1,2번째 데이터입니다.
ALIGN = 1 로 설정시
wireshark 모니터링시 첫 데이터부터 [ TCP Dup ACK 3330#1] 이란 메시지가 모니터링됩니다.
ALIGN = 0 로 설정시
일정 통신을 하고나면 데이터가 2Byte Lose가 발생하면서
다음 통신부터는 PACKET_INFO값에 전송 데이터 1,2째가 들어오고
재접속시 이전 데이터가 수신됩니다.(from 5300 to PC )
동작 조건은
- SOCKET MR : 0x001
- IR 및 IR MASK는 Disable
- 16Bit Mode 사용
- Socket Memory 2개 설정(각 32Byte, 실 사용 소켓는 1개)
이렇게 설정되어 있습니다.(재접속시 정상으로 돌아오나 주기적으로 일정량 통신시 위와 같은 상황 발생)
----------------------------------- 추가 사항 ------------------------------------------------------------
RX/TX Memory Test 결과도 올립니다.
Buff 8K로 모든 Socket 설정되었으며, TX->RX 순으로 테스트를 진행하였습니다.
TX Buf Test
RX Buf Test
RX BUFF Error( [W]0xD7D4 != [R]0xD8D5 )
RX BUFF Error( [W]0xD8D5 != [R]0xD9D6 )
RX BUFF Error( [W]0xD9D6 != [R]0xDAD7 )
RX BUFF Error( [W]0xDAD7 != [R]0xDBD8 )
RX BUFF Error( [W]0xDBD8 != [R]0xDCD9 )
RX BUFF Error( [W]0xDCD9 != [R]0xDDDA )
RX BUFF Error( [W]0xDDDA != [R]0xDEDB )
RX BUFF Error( [W]0xDEDB != [R]0xDFDC )
RX BUFF Error( [W]0xDFDC != [R]0xE0DD )
RX BUFF Error( [W]0xE0DD != [R]0xE1DE )
RX BUFF Error( [W]0xE1DE != [R]0xE2DF )
위의 문제와 같은 1데이터 빠짐 증상이 나온거 같습니다.