Go Down

Topic: Maximum transfer? W5100 vs ENC28J60 (A difference of about 20 times?) (Read 144 times) previous topic - next topic

rtek1000

I've been trying to do a simple test by getting the TCP server to respond with a 1275 byte data frame, after the client initiates the connection and sends something, then terminate the connection.

The client must restart the connection as soon as it is terminated.

Interestingly, using the Arduino DUE + W5100 (SPI: Standart speed), the total bytes transferred per second was only 1800 bytes.

But for the STM32F103C8T6 (Bluepill) + ENC28J60 (SPI: 35MHz), the total bytes transferred per second was approximately 35000 bytes.

A difference of about 20 times?

I used an Android 4.4 tablet (RK3028 processor) as a TCP client. The connection between the W5100 / ENC28J60 and the tablet went through 2 wireless routers.

I would like to know if anyone has done any similar tests.
Please avoid private messages, your question may be someone's answer in the future!

Juraj

for W5100 the TCP stack is in the W5100 chip. for enc28j60 the TCP stack is handled by MCU. your MCUs are powerfull compared to the Wiznet chip.

rtek1000

Quote
for W5100 the TCP stack is in the W5100 chip. for enc28j60 the TCP stack is handled by MCU
That makes a lot of sense.

For enc28j60: by sending multiple packets on the same connection, it was possible to transfer about 128k bytes per second, which I believe is as much as possible for the 10Base-T connection.

(Lib: https://github.com/Serasidis/STM32duino/tree/master/libraries/Serasidis_EtherCard_STM)

For the W5100 I did not find code samples for sending multiple packages for comparison with the ENC28J60.

Does anyone know how to send multiple packets using the W5100?

Please avoid private messages, your question may be someone's answer in the future!

Go Up