On Jan 31, 2025, at 10:37 PM, Maciej W. Rozycki
<macro(a)orcam.me.uk> wrote:
On Fri, 31 Jan 2025, Paul Koning wrote:
FWIW I
was able to get reliable serial communication under Linux of up to
3.5Mbps with off-the-shelf proper PCIe UART hardware clocked at 62.5MHz
despite that line drivers used with said hardware (soldered onboard) were
spec'd for up to 1MHz only[1]. This was with plain PIO interrupt-driven
operation, but then the UARTs used had decent FIFO sizes of 128 characters
and the FIFO trigger level for the interrupt was reasonably set.
Finally at 4.0Mbps data corruption reproducibly triggered, but it was
garbled rather than lost characters, so I conclude the reason was either
line drivers finally giving up or the transmission frequency hitting the
bandwidth limit of the serial communication cable used.
Was that with an actual RS232 port, i.e., a device using RS232 signal
levels, or a "TTL" logic level serial port? I'm guessing the latter.
I'm not sure what you mean by 'a "TTL" logic level serial port',
please
elaborate. Do you mean signalling used between the UART and line drivers
by any chance, such as with a serial connection made between UARTs without
actual line drivers in between?
What I meant is that a lot of modern computer modules come with serial ports that are not
RS232 but rather using standard logic levels (TTL 0 and 5 volts, or perhaps lower voltages
such as 0 and 3.3 volts) for their signaling. Those basically just expose the logic level
I/O of the UART or the embedded serial port.
Vendors like FTDI make adapters for this. You can get their UART to USB adapter with
actual RS232 interfacing, but also with 5 volt or 3.3 volt logic levels. That last one is
what you'd use to plug into the console port of a Beaglebone Black microcomputer
board, for example.
paul