High speed UART-to-Ethernet Example with WIZnet W5300

Basic Communication Peripheral – UART

UART is the basic and common communication peripheral on embedded devices.

Even tiny mcu supports 1 or 2 UART essentially and industrial devices exchange data each other via serial communcation, and so UART is still most popular and appealing.

SPI or Ethernet is getting more popular due to its high speed communication capability whereas poor performance of UART, but raising UART baud rate to several Mbps is one of mega trends.

Some MCUs support 13.5Mbps baud rate and it is possible to send live streaming data as well as string data via UART.

UART-to-Ethernet

In order to transfer data, which an embedded device sent via UART, to the remote server, we need ethernet or Wifi for internet communication.

In the industrial environment, Ethernet is preferred over WiFi because it is stronger against noise.

We need a UART-to-Ethernet converter to exchange data between UART and Ethernet.

WIZnet WIZ145SR

WIZnet WIZ145SR

WIZnet WIZ145SR (or WIZ140SR) is a UART-to-Ethernet converter which consists of Cortex M3 based STM32F103ZE and W5300 Ethernet controller from WIZnet. It supports 4 UARTs and it means that 4 embedded devices having UART can transmit data to the remote server simultaneously.

WIZ140SR currently supports up to 230Kbps baud rate and end-to-end throughput is limited.

In fact, W5300 has no limitation of high performance because W5300 has 8KBytes buffer for RX and TX respectively and interfaces to MCU with 16 bits parallel bus. Suppose that UART is up to 2.25Mbps (USART1 is up to 4.5Mbps), it operates Full-Duplex, and 4 UARTs run simultaneously. In theory, we need 20Mbps Ethernet throughput.

According to WIZnet, the maximum throughput of W5300 is over 50Mbps and 20Mbps can be achieved in a normal environment.

That’s why I choose WIZ145SR for my experimental project.

Goal

Building an example of exchanging data between UART and Ethernet is the target of this project (Implementing full function of WIZ145SR is out of scope and I expect WIZnet will do someday.)

It is impossible that we succeed whenever we develop something but I believe a small idea or tip during the development may inspire many other developers

In a month, I’ll finish a basic example to share with.

I expect many comments and feedback from developers.

Related Posts

4 Comments

  1. kirant400 says:

    I was testing the speed of loopback using AX2 application. it was registering 2.3Mbps. Any idea why it this low?

    1. javakys says:

      I’m sorry for my late response.
      If you didn’t solve this issue, please let me know more information of your implementation

      Thx.
      James.

      1. kirant400 says:

        I was using the loopback example and no modifications were done. Measuring Max speed of 2.3 Mbps.

      2. javakys says:

        can you share your system environment and code you made?

Leave a Comment