I am learning the Serial Communication without much EE background:

The article says:

The start bit is always indicated by an idle data line going from 1 to 0, while the stop bit(s) will transition back to the idle state by holding the line at 1.

My Questions:

  • Why start bit must turn an idle data line from 1 to 0? Why not from 0 to 1?
  • How is idle data line defined? 1 or 0? And why define it that way?

(Logically, I have a feeling that this is totally arbitrary, I don't see reason why cannot designate 0 as the idle state voltage. And I guess if 0 is designed as idle flag, all devices will be in low voltage when idle. And maybe that means less power consumption?)


The idle state is defined as 1 (for TTL serial), and here's why:

Let's say you have a data line with two states, represented by two voltages. For simplicity's sake, you choose 0 V and 5 V to represent 0 and 1 (TTL serial, for example). Now, this voltage is present on a wire between a transmitter and a receiver. When we choose the idle state as 1, if the line is broken (wire is cut), the receiver will know. If we were to choose 0, then the wire being cut is the same state as idle, which in some cases may be undesirable.

Wikipedia can explain it better than I:

The idle, no data state is high-voltage, or powered. This is a historic legacy from telegraphy, in which the line is held high to show that the line and transmitter are not damaged. ...

From Universal asynchronous receiver/transmitter

Note that idling at a high voltage is by no means an absolute, there are many different electrical standards used for asynchronous serial communication. RS-232 signals are the other way around, for example (although RS-232 uses a negative voltage as well, so the ability to detect damaged lines is still present). That is, RS-232 idles at approximately -13 V, which represents 1, and approximately 13 V represents 0.

Finally, there is nothing stopping you from creating a protocol that idles low. However, in regards to this:

And I guess if 0 is designed as idle flag, all devices will be in low voltage when idle. And maybe that means less power consumption?

Not really, at least with sanely designed circuits/chips. The nature of MOSFETs (which are used to construct the logic inside a UART) is such that they dissipate very little power when they are stable i.e. not switching, regardless of whether they are at "0" or "1". So the difference between idling at high or low is negligible.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.