Written by James YS Kim

javakys@gmail.com

지난번 w5500 성능 개선 시도는 최대 8Mbps의 성과를 얻는 데 그쳤다.

IP camera와 같이 이보다 좀 더 빠른 성능을 요하는 응용을 위해서 최대로 어느 정도의 성능을 얻을 수 있는 지 추가적인 테스트를 하였다.

 

SPI Clock 높이기

가장 먼저 생각할 수 있는 것이 SPI Clock을 높이는 것이다.

W5500은 80MHz의 SPI Clock을 지원하는데, 지난번 테스트에서는 PLL을 48MHz로 설정했기 때문에 SPI Clock 속도는 24MHz가 최대였다. 그래서 이번에는 PLL을 STM32F401RE가 지원하는 최대 속도인 84MHz로 설정하여 SPI Clock을 42MHz 지정해서 테스트 하였다.

 

W5500 송,수신 버퍼 사이즈 확대

다음으로 생각할 수 있는 것이 W5500내의 송신, 수신 버퍼 사이즈를 디폴트값이 2KByte에서 8KByte까지 키우는 것이다.

SPI Clock을 24MHz 정도로만 설정해도 wireshark.exe로 패킷을 보면 Zero windows가 때때로 뜨는 것을 볼 수 있다. 따라서 송수신 버퍼를 최대인 8KByte로 채널별로 지정하였다.

이런 지정은 고속 데이터 통신으로는 하나의 소켓만을 사용하고 나머지는 제어용으로 사용하는 경우에만 적용이 가능하다고 할 수 있다.

위와 같은 조건으로 설정을 변경한 상태에서 두가지 테스트를 진행하였다.

하나는 loopback test이고 다른 하나는 송신 전용 test이다.

Loopback test는 위즈네트의 AX1.exe 툴을 사용해서 성능을 측정했고, 송신 전용 test는 iperf.exe 툴을 이용해서 테스트를 진행했다.

Loopback test 결과는 아래 그림에서 보이는 것과 같이 17Mbps 이상의 성능을 보였다.

SPI_DMA_Loopback

또한, 송신 전용 test는 아래 그림과 같이 13Mbps 이상의 성능을 보였다.

SPI_DMA_iperf

위와 같은 테스트를 토대로 SPI Clock 42MHz 정도에서도 W5500은 13Mbps 이상의 성능을 낼 수 있다는 것을 확인할 수 있다.

Advertisements