Page 1 of 1

Maximum UART baud rate

Posted: Thu Oct 03, 2019 10:59 pm
by Seungwhan
Hi,

So ESP32 datasheet Chapter 4.1.10 says maximum UART speed of 5Mbps.
Is it same for both normal GPIO matrix and Direct IO?
(Signals going through GPIO matrix versus signals directly connected to IO_MUX)
If it is 5Mbps for both cases, then what is benefit of using Direct IO?

Is using Direct IO only beneficial for ethernet application?

Thank you!

Re: Maximum UART baud rate

Posted: Fri Oct 04, 2019 12:13 am
by PeterR
I very much doubt that you would achieve 5Mhz on UART regardless of direct/mux. I struggle to achieve UART speeds above 500K. I happily achieve 100Mhz+ with Ethernet. 20 MHz+ on 30cm on dodgy dupont wire with SPI (not suggesting the latter as a production option, just to say that something is wrong with the good old UART regardless of platform).

Anyway, the issue with direct/mux is that mux adds extra gates and so may introduce a lag between clock and data.
UART is asynchronous as in the 'A' so (IMHO) there is no difference between direct and mux because the signal is sampled many times from the receiver's clock and on one RX line.

Direct I/O helps when using synchronous protocols e.g. SPI/I2C etc as well as Ethernet. Something that has a clock and data. The direct/mux issue arise when you generate the clock and expect to receive a data input in a finite time. The mux problem is that the mux adds a delay which may mean that the end device's data is received after the clock period has finished. Imagine trying to call your ISP's helpline, you may hang up before you get an answer. The reponse needs to be timely to be effective & used.

As always data sheet t&c's apply. Read the small print ;)

Re: Maximum UART baud rate

Posted: Fri Oct 04, 2019 2:01 am
by WiFive
You can only use uart wake on the mux pins