w5300사용시 소켓0번 1번 동시사용 질문입니다.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Ethernet Chips
No replies yet. Be the first to reply.
Join the discussion.
Share projects and connect with makers.
Joined before the site update? first.
New to WIZnet Makers?
We sent a verification link to your address. Open it to activate your account, then log in.
Accounts from this email provider are reviewed by an administrator after verification. Approval usually takes one business day.
Already have an account?
Enter your email address. If it belongs to an account, we'll send a link to set a new password. Members who joined before the site update use this to set their password.
If an account uses that address, we sent a link to set a new password. The link works once and expires in 30 minutes.
Know your password?
Need an account?
RE: w5300사용시 소켓0번 1번 동시사용 질문입니다.
by tgo1800 ·
답변감사드립니다.
문제점을 파악하기 위해 데이터시트를 다시 한번 살펴보았습니다.
p.58의 3번째 줄에
’ 각 socket의 tx memory size는 0Kbyte 에서 64Kbytes내에 설정이 가능’
이라는 설명이 있는데
제가 이 부분을 '소켓 하나의 tx 사이즈가 최대 64Kbytes까지 가능하다’는 것으로 잘못이해 한것 같습니다.
답변해 주신내용은 소켓8개의 총 tx 사이즈합이 최대 64Kbytes까지 가능하다는 의미인가요?
그렇다면 p.91 의 그림 8에서 tx 사이즈가 (72Kbyte)로 되어있는데
이 그림은 어떤 의미인가요?
RE: w5300사용시 소켓0번 1번 동시사용 질문입니다.
by tgo1800 ·
매번 친절한 답변 감사드립니다.
말씀해주신데로 MTYPER값을 확인해 보니 0x7fff값을 가지고 있었습니다.
소켓 영역 할당에는 문제가 없는것 같습니다.
소켓 0번의 데이터와 1번의 데이터를 전송하기 위해 코드를 아래와 같이 예제를 수정하여 사용하였습니다.
(생략)
uint8 tx_mem_conf[8] = {50,50,10,10,0,0,0,0};
uint8 rx_mem_conf[8] = {1,1,1,1,1,1,1,1};
(생략)
while(1)
{
loopback_tcpc(0,ServerIP, 3000, data_buf,0);
loopback_tcpc(1,ServerIP, 3000, data_buf2,0);
}
추가 질문 있습니다.
소켓의 크기를 50Kbyte( 51200byte)로 설정하고 50000byte 크기의 데이터를 전송시키는 테스트를 해보았습니다.
그 결과 데이터 일부가 안나오는 현상을 확인하였습니다.
예로 0~25000이라는 숫자를 전송하는경우 0~12500, 12700~25000 이런 식으로 중간의 데이터를 건너 뛰고 전송이 됩니다.
그런데 데이터의 크기를 소켓의 크기와 동일하게 51200byte로 한 후 데이터를 전송한 경우에는
문제 없이 전송이 잘되는 것을 확인 하였습니다.
데이터 전송 시 소켓의 크기와 동일한 크기의 데이터를 설정해야 하나요?
데이터 일부가 전송되지 않는 원인이 버퍼를 리셋해주지 않아서 그런건가 의심되는데 확인할수 있는 방법이 있나요?
위 3.번이 원인이라면 버퍼를 리셋하는 방법이 있나요?