W7500 TCP Network Speed Test using WIZwiki-W7500ECO
WIZwiki-W7500ECO
WIZnet WIZwiki Platform based on WIZnet’s MCU. WIZnet WIZwiki-W7500eco is a WIZwiki platform board based on W7500. The IOP4IoT W7500 chip is one-chip solution which integrates an ARM Cortex-M0, 128KB Flash and hardwired TCP/IP core for various embedded application platform especially internet of things. If you use WIZwiki-W7500eco, you will be able to easily develop a prototype.
Test Scenario
WIZwiki-W7500ECO
- Run TCP Echo Server which receive data and then send to tcp client.
PC
- Run TCP client using my test tool.
- It can be used for simple tcp test and check tcp speed.
To check TCP speed of WIZwiki-W7500, I upload TCP echo server binary to WIZwiki-W7500ECO.
I send data which is 1Mbytes to WIZwiki-W7500ECO using my test tool and then test tool will receive data from WIZwiki-W7500ECO for checking TCP communication speed.
Test Result
Test Condition 1
There are change points for this test.
- Change System Clock ( 20MHz, 48MHz )
- Change RAM buffer ( 2048, 4096, 8192 )
WIZwiki-W7500ECO TCP Speed depended upon it’s system clock. After test, I got result as below.
- Buffer size of variable in the code didn’t make much difference to the speed.
- When using 20MHz of WIZwiki-W7500ECO’s system clock, average speed is 4.7Mbps.
- When using 48MHz of WIZwiki-W7500ECO’s system clock, average speed is 8.5Mbps.
Test Condition 2
W7500 has one 16KB TX memory for Socket n TX Buffer Blocks and one 16KB RX memory for Socket n RX buffer Blocks.
16KB TX memory is initially allocated in 2KB size for each Socket TX Buffer Block (2KB X 8 = 16KB). The initial allocated 2KB size of Socket n TX Buffer can be re-allocated by using ‘Socket n TX Buffer Size Register (Sn_TXBUF_SIZE)’. Once all Sn_TXBUF_SIZE registers have been configured, Socket TX Buffer is allocated with the configured size of 16KB TX Memory and is assigned sequentially from Socket 0 to Socket 7. Its physical memory address is automatically determined in 16KB TX memory. Therefore, the total sum of Sn_TXBUF_SIZE should not exceed 16 in case of error in data transmission.
There are chage point for second test.
- Change Socket RX/TX Buffer of W7500 ( 2048, 8192, 16,384 )
- Socket TX/RX buffer size didn’t make much difference to the speed.
- When using 2Kbytes of Socket buffer, average speed is 8.116Mbps
- When using 8Kbytes of Socket buffer, average speed is 9.099Mbps
- When using 16Bytes of Socket buffer, average speed is 9.142Mbps