w7500 TCP 속도문의

MBED의 TCPEchoServer-WIZwiki-W7500 예제를 수정하여

AX1 PC프로그램과 파일 송수신하여 속도 테스트를 했습니다. DHCP 사용하지않고 PC와 다이렉트 연결했습니다.

아래 첨부와같이 7Mbyte 파일 전송했고 송수신 5Mbps 의 속도가 측정 됩니다.

w7500의 TCP 최대 속도가 얼마나 되나요? 속도를 5Mbps에서 더 올릴 수 있나요?


안녕하세요 :slight_smile:

답변이 늦어 죄송합니다.

W7500 TCP 코어의 최대 속도를 내는 조건을 말씀드리겠습니다.

MCU main clock을 최대 즉 48MHz로 올려주시고 Tx, Rx 버퍼 사이즈를 최대로 올려주시면 사용하시는 네트워크 환경에서의 최대 속도가 나옵니다.

main clock을 48Mhz로 올리는 방법은 keil example의 경우 SystemInit(); 이전에 아래 코드를 넣어 주시면 48MHz로 동작합니다.

*(volatile uint32_t *)(0x41001014) = 0x0060100; //clock setting 48MHz

소켓의 Tx, Rx 버퍼 사이즈를 최대로 올려주시면 됩니다. 아래 코드에 원하는 socket_num을 넣어주시고 최대 사이즈인 16KB로 셋팅 해주시면

setSn_TXBUF_SIZE(socket_num, 16);
setSn_RXBUF_SIZE(socket_num, 16);

최대 속도로 동작합니다.

감사합니다.

setSn_TXBUF_SIZE(socket_num, 16);
setSn_RXBUF_SIZE(socket_num, 16);

의 코드는 MBED 에서 에러가 발생합니다.

TCPEchoServer-WIZwiki-W7500 예제 구요 확인 부탁드립니다.

[quote=“justinkim”]안녕하세요 :slight_smile:

답변이 늦어 죄송합니다.

W7500 TCP 코어의 최대 속도를 내는 조건을 말씀드리겠습니다.

MCU main clock을 최대 즉 48MHz로 올려주시고 Tx, Rx 버퍼 사이즈를 최대로 올려주시면 사용하시는 네트워크 환경에서의 최대 속도가 나옵니다.

main clock을 48Mhz로 올리는 방법은 keil example의 경우 SystemInit(); 이전에 아래 코드를 넣어 주시면 48MHz로 동작합니다.

*(volatile uint32_t *)(0x41001014) = 0x0060100; //clock setting 48MHz

소켓의 Tx, Rx 버퍼 사이즈를 최대로 올려주시면 됩니다. 아래 코드에 원하는 socket_num을 넣어주시고 최대 사이즈인 16KB로 셋팅 해주시면

setSn_TXBUF_SIZE(socket_num, 16);
setSn_RXBUF_SIZE(socket_num, 16);

최대 속도로 동작합니다.

감사합니다.[/quote]

제가 예시드린 방법은 keil용 예제에서 사용 방법입니다.

mbed에서는 에러가 발생합니다.

mbed에서는 아래와 같은 코드를 사용해 주시기 바랍니다.

sreg<uint8_t>(socket, Sn_RXBUF_SIZE, 16);
sreg<uint8_t>(socket, Sn_TXBUF_SIZE, 16);

감사합니다.

위즈넷에서 측정한 속도는 얼마정도 나오는지 궁금합니다.
(생각보다 너무 안나오는듯 싶네요…)

안녕하세요 :slight_smile:

내부 테스트 결과 알려드립니다.

메인 클럭 48Mhz Rx,Tx Buffer 16KB로 설정시 속도입니다.


약 14.3Mbytes 파일로 Loopback test 결과 위 그림과 같은 속도가 측정 되었습니다.

평균 약 10Mbps의 속도가 나옵니다.

감사합니다.