Maximum cable length for 3.3V UART signals

There is no single safe answer. It has a lot to do with the length of the cable, surrounding electrical noise, and how fast you want to go. Ethernet uses CAT5 cable to transmit at 10 Mbit/s for the slowest variety, so 1 Mbit/s is easily doable if you take the proper precautions. Note that with ethernet each signal gets its own twisted pair, and each pair is carefully terminated at the characteristic impedance of the cable at each end. Each pair is driven differentially and interpreted differentially, and is also designed so that it can't cause ground loops.

If you do all these thing, you can transmit 1 Mbit/s data on CAT5 cable for long distances, like 1000 meters. As you do less of these things, the usable distance will go down. If it's just board to board in the same chassis, for example, then you probably don't need to do much special. If you're going outside the unit, then differential line drivers and receivers could be useful.

Try something in your setup and look at the signals at the receiving end to get some idea of the noise margin, adjust as needed. Maybe use a protocol that can detect and recover from errors, and keep track of how often that is happening. There are too many ways to list here without more information.


Ethernet uses differential signalling, a TTL signal is single ended.

Ethernet uses pre-emphasis, TTL does not.

Ethernet is current mode, TTL is voltage mode.

Ethernet uses a modulation tachnique that reduces the number of edges, your TTL might not (standard ASYNC certainly do not)

Ethernet driver and receiver are impedance matched to the cable, unless carefully designed, TTL would not be (and if it were, then it would not be TTL!)

Ethernet uses a symetrical signal (by use of scambling) to create an even 1's density. ASYNC serial has a built in bias which charges the cable and has to be be overcome to get a signal out the other end.

For these reasons, just because you can get 145m out of Ethernet at 1Gbps does not mean you would get the same (or even 1000 times less) out of a 3.3V TTL signal down the same cable.

I recommend using a differential signalling driver such as RS422, that is what it is designed for. Indeed RS422, though run at a lower voltage is better for long runs because of the differential signalling (RS232 is single ended),
Also, the drivers and receivers do clever things to improve the quality of edges such as pre-emphasis.

Tags:

Uart

Cables