UART communication

MrChips

Joined Oct 2, 2009
30,802
As with many legacy issues the reason goes back a long time, back to the days of the telegraph.

The basic telegraph consisted of a battery, telegraph key, very long transmission wire, and a solenoid at the other end. The zeros and ones transmitted were called MARK and SPACE. This is your original current-loop transmission circuit.

In the IDLE state, current is flowing through the wire, the solenoid pen is down and puts a MARK on the paper.
The telegraph key, when depressed, breaks the circuit which results in a SPACE on the paper.

Why was it done this way?
It was done this way so that one can detect when the transmission wire was broken, which happened frequently owing to storms and disgruntled natives.

Serial data transmission via current-loop was adopted by the computer industry when the teletypewriter machine came along, again IDLE = MARK.
Current loop was replaced by voltage levels when RS-232 came along in 1960.
IDLE = MARK = -15V

TTL-to-RS232 driver chips were developed which essentially consisted of one inverter circuit. Hence IDLE = MARK = 5V.
UART circuits followed suit.

Hope that explains it in a nutshell.

reference:
http://www.baudot.net/docs/harvey--mark-and-space.pdf
https://en.wikipedia.org/wiki/RS-232
 
Top