안녕하세요.
포럼의 다른 글들을 통해 W5300의 설정 및 통신에 성공을 하였는데요.
2가지 질문이 있어 문의를 드립니다.
-
홀수개 데이터 통신
W5300이 짝수개의 데이터를 수신할 때만 getSn_RX_RSR가 정상적인 len를 반환하는 것 같습니다.
홀수개를 준 경우 헤더를 포함하여 2를 반환하는데 이는 어떻게 해결할 수 있나요?
(필요한 경우 host에서 짝수개를 만들어 보낼 수는 있으나 일반적인 해결책이 알고 싶습니다. -
SEND 시간
현재 1ms 간격으로 host와 W5300이 통신을 하게 될 예정입니다.
때문에 W5300의 recvfrom과 sendto 함수가 빠르게 동작해야 하는데요.
recvfrom은 30us 이내에 끝나 괜찮지만 sendto의 경우 약 200us가 소요됩니다.
함수 내부를 확인해보니 write_buf는 15us 정도만 소요를 하는데 그 다음의 while문에서
Sn_IR_SENDOK 신호가 얻어지는 데만 200us를 소요하는 것을 알았습니다.
자료를 보내는 데에는 더 적은 시간이 걸릴 것 같은데 어떤 이유로 이와 같이 긴 시간이 소요되었는지 알고 싶습니다.
(참고로 w5300과 연결된 dsp의 WR, RD 신호는 주기가 87ns 입니다.)
감사합니다.