WIZnet Developer Forum

[W5500] 버퍼크기 문의

안녕하세요.
현재 w5500칩의 tx/rx 버퍼의 총 크기는 32kbyte라고 데이터 시트에 명기가 되어있습니다.

또한 데이터 시트에 내용 아래를 보시면

Sn_TXBUF_SIZE 는 Socket n TX Buffer Block size 를 설정한다. Socket n TX Buffer
Block은 0, 1, 2, 4, 8, 16K bytes크기로 설정할 수 있으며, 이 외의 값을 사용할 경우
오동작을 일으킨다. Reset 후에 초기값으로 2Kbyte 의 값을 갖는다. Sn_TXBUF_SIZE
의 총합은 16K bytes 를 초과할 수 없으며, 16K Bytes 를 초과한 이후의 Socket 은
정상적인 Data 전송이 불가능하다.
8 개의 Sn_TXBUF_SIZE 가 설정되면 그 설정크기만큼 Socket 0 부터 순서대로
16KB TX Memory 내에 TX Buffer Block 이 할당된다.

라고 명기되어있습니다.

그렇다면 소스코드에서

변수를 아래와 같이 선언하고
uint8_t W5500FifoSize[2][8] = {{16,0,0,0,0,0,0,0,},{16,0,0,0,0,0,0,0}};

ctlwizchip(CW_INIT_WIZCHIP,(void*)W5500FifoSize)
위함수에 이렇게 파라미터로 넣으면 소켓 0번에 16kbyte가 할당되고 사용이 가능한건지요??

네 가능합니다 :slight_smile:
추가로 다른 TCP 커넥션도 필요한 응용의 경우, 8K 혹은 4K 소켓 버퍼를 설정하셔도 퍼포먼스는 유지 될 수 있을 것 같습니다.

Copyright © 2017 WIZnet Co., Ltd. All Rights Reserved.