TransWikia.com

History question - why are logic levels inverted between TTL and RS232?

Electrical Engineering Asked by David Carta on October 29, 2021

I’m just looking for a historical answer as to why TTL and RS232 don’t transition logically in the same directions. The signals are the same, but basically level-shifted and inverted.

Was there a technological reason behind this, was it a mistake, or was there hardware that inverted that was cheap and easy to come by to drive the outputs for RS232 communication?

Thank you for helping to satisfy a curious question.

2 Answers

This is partly speculation, but here goes:

Originally, asynchronous serial interfaces were current loops. In order to make things like detecting wiring faults easier, the "idle" state was defined as current flowing, and the "start" bit was a brief interruption of the current.

The first devices were strictly electromechanical, but as soon as digital electronics became common enough, there was a desire to use the teletypes for I/O. It would make sense, then, that the logic that drives the current loop would be "on", or high for the same condition, because that would be the obvious way to drive, say, an NPN transistor.

Now, switch to voltage signaling. The telephone line sits at a negative voltage with respect to ground, because it was discovered early on that this reduced electrolytic corrosion in the wires caused by moisture.

So, for the same reason, the "idle" state in RS-232 was defined to be the negative voltage, because that is the state that the line is in most of the time.

Therefore, the translation between logic and RS-232 needed to be inverting.

Answered by Dave Tweed on October 29, 2021

It could come from the preceeding current loop interfaces, where the current does not flow in the active logic 0 state and flows in the idle logic 1 state.

If there is a wire disconnection or unpowered transmitter, the current flow stops so this is seen as too long logic 0 state by the receiver. Most UARTs can detect this and signal this break condition to software layers.

Note that while MIDI is also a current loop interface, it works the opposite way, current flows in the active logic 0 state. I wasn't thinking beyond MIDi in my original answer, so it didn't reflect the original current loop interfaces.

Answered by Justme on October 29, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP