There i read the EFR32MG21 chip domentation, it reads as follows:
3× universal synchronous/asynchronous receiver/transmitter (UART/SPI/
SmartCard (ISO 7816)/IrDA/I2S)
And the RP2040 documentation reads as follows:
Two [SPI] controllers
Two [I²C] controllers.
Two [UART] controllers.
And the RP2040 uses (firmware/software)<–>usb controller to reach the operating system, which can be as fast as USB 2.0 speed, way faster than 115200 baud, which is the bottle neck of how many Zigbee devices we can manage.
Nowadays we often use cheap serial converters like CP2102N or CH9102F, but a board can be made which handles the communication between EFR32MG21 and RP2040 using as many as SPI or IIC buses.
Knowing a single SPI bus can handle 7.8125 megabytes per second (MB/s) we can create a usb dongle which can use the full speed.
Actual:
Zigbee(20kb)<---->EFR32MG21<—TTL serial (11kb)—>CP2102N<—>USB2.0
Nowadays we use 115200 bauds as maximum because of the CP2102N or CH9102F or CH340 serial converters which connects to the EFR32MG21 using TTL serial at 115200.
There it is the bottle neck which i am talking about, not the other one.
Thus i don’t know the practical need for the full 20kbps, neither the buffer used at the receiver chipset, i am afraid it might be a limitation in some scenarios.
About the relation bauds<–>bytes
The most common usage is, using 8 bit symbols, 1 bit parity, 1 stop bit, so we need 10baud, it is 11.5Kb/s, i don’t think bigger transfer rate can be archieved in a safe way.
Using software emulated serial we can still use the same operating system serial drivers, just set higher speeds like 500.000bauds.